我理解最好尽可能实现其他库(而不是复制代码),但在某些情况下,复制代码会更方便。
复制代码的正确礼仪是什么?信用在您的文件的顶部,靠近使用的代码?如果代码被重新考虑到无法识别会怎么样?
答案 0 :(得分:9)
GNU GPL非常具体地说明了如何使用通过该许可证获得的代码。 (注意:如果您对相关代码的许可不是GPL,但是例如LGPL,则适用不同的规则。)基本上GPL归结为:
即使代码被重新考虑到无法识别:如果您想要分发它,您必须遵循这些条款,并让对方理解您更改的部分(无法识别;-))。一定不要忘记:这不是礼仪,这是版权法!
其他许可证(例如BSD许可证)具有不同的条款。例如,如果您使用BSD许可下的代码,则只需保留版权声明,但可以根据您选择的任何许可重新分发代码,不管是否有源代码。
答案 1 :(得分:0)
这取决于许可证的类型。
一般而言,许可证希望保护这些事实,即它们不是您的工作,而是对所有人免费。这通常包括项目中某处的许可证。
找到许多开源许可证及其条款的列表答案 2 :(得分:0)
将代码复制到您正在执行的操作中是合法创建衍生作品,因此您必须遵守许可要求。我所看到的所有开源/免费软件许可都要求保留归属地,所以这不仅仅是礼仪问题。
如果您在某处有信用列表,则应确保许可方位于该列表中。如果它在它自己的单独部分(它自己的文件或一个较大的部分),那么标记它并且(当然)归属它是好的。
如果它被重构得无法识别,它仍然是一个衍生作品,而你仍在使用其他人的代码,所以在合法和道德上你必须给予信任。
您当然必须遵守所有其他限制。你提到了GPL;在这种情况下,整个产品必须根据GPL重新分配,或者根本不重新分发。只要您直接在代码中使用代码,代码是否被重构为无法识别并在文件之间拆分并不重要。代码的不同部分当然可以在附加许可下,只要它们与GPL兼容,但您必须遵守GPL的要求以重新分发。