【问题标题】:Licensing an open source project after reading code of a similar one在阅读类似项目的代码后许可一个开源项目
【发布时间】:2015-09-14 21:01:41
【问题描述】:

我最近向一个开源库/工具贡献了一些代码,就在我意识到我想自己重新编写这个项目(不同的编程语言和设计选择)之前。但是,该项目的某些方面就像我自己会做的那样,或者只是值得“复制”。即使我非常努力地忘记原始代码——大多数类名、常量和其他东西自然而然地命名相同。原始项目的许可证是 AGPL。

  • 我可以使用不同的许可证(例如 MIT)吗?哪些?
  • 我需要在某处提及原始项目吗?
  • 如果是这样,在哪里?是否允许我删除通知(可能是在两个项目经过几年的开发后真正出现分歧之后)?

【问题讨论】:

  • 你是否在使用 Github 为这个项目做贡献?
  • 我做到了,是的。我也打算在 Github 上发布。
  • 我投票结束这个问题,因为它是关于许可/知识产权/法律问题,而不是编程。 [See here] 了解详情。

标签: open-source licensing


【解决方案1】:

我不是律师,这可能不是征求法律意见的正确场所。

但是,这是我的看法,作为一个 FOSS 贡献者对另一个贡献者。

一般来说,当您为开源项目做出贡献时,您保留对您编写的代码的版权,并根据允许所有人使用修改和分发它的许可来发布它。

因此,您保留重新许可您根据 MIT 或其他许可贡献的代码的权利。这不算“窃取”代码和删除 GPL 许可——您是原始来源,您保留在不同许可下再次发布最初属于您的内容的权利。

在某些项目中,领导者可能会要求人们转让版权,尽管我认为这种情况很少见。您应该检查许可声明以确定。除非在某处以书面形式表明您明确同意将版权转让给他们,否则您很可能保留了它。

不过,您无权再许可他人的作品。如果您修改了其他人的代码,为他们的类或其他东西做出了一些更改,您可能会成为共同所有者,至少我不会觉得复制他们制作的部分并在未经许可的情况下重新授权它。

这只是代码的文本。如果你想从头开始重写另一个程序,使用类似的高级计划但不同的执行,我认为版权不会妨碍你。如果代码中的某些技术或方法受到软件专利的保护,知识产权法仍然会妨碍您。但听起来好像不是这样。

为了避免法律问题,有时公司/人群会使用“无尘室设计”(https://en.wikipedia.org/wiki/Clean_room_design)。但是 iiuc 这样做只是为了明确阻止任何可能的诉讼的预防措施——法律并不要求你仅仅因为你曾经看过 GPL 代码 iiuc 就使用这种技术。

作为一个例子,你可以看看 MinGW 交叉编译器项目的历史,以及它的 mingw-w64 衍生产品,最初是因为一家私人公司想要一个支持 64 位的 mingw 版本位处理器和其他东西,因此使用洁净室设计对项目进行逆向工程。其结果最终完全开源,但没有被重新纳入原始 mingw 项目,因此现在有两个项目。 (希望这是一个公平公正的历史总结。)

https://en.wikipedia.org/wiki/MinGW#History

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多