在阅读类似代码之后许可开源项目

时间:2015-09-14 21:01:42

标签: open-source licensing

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

  • 我可以使用其他许可证(例如麻省理工学院)吗?哪些?
  • 我是否必须在某处提及原始项目?
  • 如果是这样,在哪里?我是否会被允许删除通知(也许在两个项目经过几年的开发后真正分化之后)?

2 个答案:

答案 0 :(得分:3)

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

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

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

因此,您保留权利重新许可您在MIT或其他许可下提供的代码。这并不算是“窃取”代码并删除GPL许可证 - 您是原始来源,并且您保留在不同许可下再次发布原始内容的权利。

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

你没有权利重新授权其他人的工作。如果你修改别人的代码,对他们的班级或其他东西做出一些改变,你可能会成为共同所有者,至少我不会觉得复制他们制造的部分并在未经许可的情况下重新许可它。

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

为避免法律问题,有时公司/团体会使用“洁净室设计”(https://en.wikipedia.org/wiki/Clean_room_design)。但是,这只是作为预防措施明确地阻止任何可能的诉讼 - 法律并不要求你使用这些技术只是因为你曾经看过GPL代码,iiuc。

有关此播放的示例,您可以查看MinGW交叉编译器项目的历史记录,以及它的mingw-w64分拆,最初是因为一家私营公司需要支持64的mingw版本比特处理器和其他东西,所以使用洁净室设计来逆向工程项目。结果最终完全是开源的,但是没有被接受回原来的mingw项目,所以现在有两个项目。 (希望这是对历史的公平公正的总结。)

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

答案 1 :(得分:-2)

由于这是在Github上完成的,只需将其分叉。关于其他回购的信息将在那里(除了回购名称之外,它会说来自......)。