在开源项目中包含代码

我有一个Apache License 2.0下的开源项目。 通常,我只在每个代码文件的顶部包含许可条款和条件注释。

我从别人的博客或网站复制的代码呢? 是否提供足够的指向该网站的链接? 即使代码是由其他人编写的,我仍然保留许可条款和条件?

这样做的正确方法是什么?


由于您不拥有版权,因此您不能重新授权不属于您的代码。 如果代码已经在许可证下,您必须使用该代码,并将该许可证作为您的软件包的一部分提供。

如果代码没有许可证,那么我个人会寻找其他代码,这些代码是根据Apache许可证授权的,显然保留代码中的版权声明,并在文档中注明源代码和版权项目。

如果你不能这么做,那么为什么不通过电子邮件向代码作者询问他们是否会为它颁发许可证? 如果他们选择与您的许可证不同的许可证,那么您应该明确说明该代码片段在代码本身和文档中都有不同的许可证。

(当然,我不是律师,也不是在电视上播放,因为许可是法律协议,您应该咨询一下,而不是从互联网上随机的陌生人那里获得建议)


不要从博客复制代码,除非它是明确的公共领域或在兼容许可下。

如果它在兼容许可证下,则只需在相关文件顶部的许可证标题处提及。 (并且在您的关于对话框中包含一个条款)某些许可证可能不需要最后一点,但仍然是表示感谢的好方法。


我从别人的博客或网站复制的代码呢? 是否提供足够的指向该网站的链接?

IANAL,但你不能在没有得到他们许可的情况下改变人们的许可证。 如果您从博客复制的代码与Apache有冲突的许可证,则不能将其包含在您的项目中。 这里有一个合理的用法,但它很滑(例如,我只是复制了一些非常小而不需要归因的东西)。

因此,我建议您阅读您复制样本的博客上的所有细则,如果您有任何疑问 ,请向作者发送电子邮件,说明您正在做什么。 一般来说,人们可以在源代码中链接到他们的博客文章,但是每个人都可以根据他们选择的许可证来授权他们的IP。

链接地址: http://www.djcxy.com/p/91039.html

上一篇: Including code in open source projects

下一篇: Dynamically initialize and call LoadLibrary from a TThread by demand only once