GPL等许可证如何复制代码?

时间:2009-03-19 21:24:26

标签: gpl

我理解最好尽可能实现其他库(而不是复制代码),但在某些情况下,复制代码会更方便。

复制代码的正确礼仪是什么?信用在您的文件的顶部,靠近使用的代码?如果代码被重新考虑到无法识别会怎么样?

3 个答案:

答案 0 :(得分:9)

GNU GPL非常具体地说明了如何使用通过该许可证获得的代码。 (注意:如果您对相关代码的许可不是GPL,但是例如LGPL,则适用不同的规则。)基本上GPL归结为:

  • 如果您为自己保留代码并且不将其重新分发给任何其他人,您可以随心所欲地做任何事情。
  • 如果您打算与其他人共享您的代码,则只允许您根据GPL许可进行此操作。这包括您提供完整的源代码和您的发行版(包括您自己的代码!),您明确告知另一方该代码是根据GPL许可给他们的(包括您自己的代码!)并提供完整的信息。你是如何改变原始代码的。

即使代码被重新考虑到无法识别:如果您想要分发它,您必须遵循这些条款,并让对方理解您更改的部分(无法识别;-))。一定不要忘记:这不是礼仪,这是版权法!

其他许可证(例如BSD许可证)具有不同的条款。例如,如果您使用BSD许可下的代码,则只需保留版权声明,但可以根据您选择的任何许可重新分发代码,不管是否有源代码。

答案 1 :(得分:0)

这取决于许可证的类型。

一般而言,许可证希望保护这些事实,即它们不是您的工作,而是对所有人免费。这通常包括项目中某处的许可证。

您可以在http://www.opensource.org/licenses/alphabetical

找到许多开源许可证及其条款的列表

答案 2 :(得分:0)

将代码复制到您正在执行的操作中是合法创建衍生作品,因此您必须遵守许可要求。我所看到的所有开源/免费软件许可都要求保留归属地,所以这不仅仅是礼仪问题。

如果您在某处有信用列表,则应确保许可方位于该列表中。如果它在它自己的单独部分(它自己的文件或一个较大的部分),那么标记它并且(当然)归属它是好的。

如果它被重构得无法识别,它仍然是一个衍生作品,而你仍在使用其他人的代码,所以在合法和道德上你必须给予信任。

您当然必须遵守所有其他限制。你提到了GPL;在这种情况下,整个产品必须根据GPL重新分配,或者根本不重新分发。只要您直接在代码中使用代码,代码是否被重构为无法识别并在文件之间拆分并不重要。代码的不同部分当然可以在附加许可下,只要它们与GPL兼容,但您必须遵守GPL的要求以重新分发。