复用自由软件

自由软件最大的优点之一,是它有被复用的潜力。你可以把其它自由软件项目的代码并入新的项目之中,这样节省了时间,让你能站在巨人的肩膀上构建软件。当然,你需要尊重原项目的工作,这也就意味着,要遵守他们的自由软件许可证的条款。

将他人的作品并入自己的软件时,一定要仔细阅读许可证。

将宽松型软件并入新作品之中

宽松型软件许可证的主要吸引力,在于它能并入任何东西之中,而对版权持有人基本没有什么义务。大多数宽松型许可证,只需要你在你的产品中包含许可证文本,或者只要包含版权声明。自由软件项目,在将宽松许可的代码并入自己的作品时,遵守这些义务通常简单到只需要再在源代码里包含一个许可证。

将宽松型许可的自由软件并入非自由作品时,你必须随同软件一起分发这份自由软件许可证和/或版权署名。许多宽松许可的自由软件,它们的商业用户会在自己产品的某个地方放一个菜单,从而列举适用的软件许可证,或者随同该产品附带一份许可证的打印版本。你也应该想出类似的方法。

将 copyleft 软件并入新作品之中

Copyleft 软件不能并入非自由软件之中。

大多数自由软件,只要许可证兼容,都可以并入 copyleft 软件,反之亦然。一般来说,大多数流行的宽松型许可证 – 但并非全部 – 都兼容大多数流行的 copyleft 许可证。部分 copyleft 许可证兼容其它 copyleft 许可证(例如,Mozilla Public License 2.0 兼容 GNU 家族的许可证),但许多的都不兼容。任何两个使用相同 copyleft 许可证的项目,都相互兼容,可以自由分享代码。

GNU 维护了一份许可证列表,列出了与 GPL 家族的 copyleft 许可证兼容与不兼容的许可证。

将宽松型代码并入 copyleft 项目很简单,只要许可证相兼容:见前一部分。

反向并入,即把 copyleft 软件并入宽松许可的软件项目,要困难一些。这种情况下,组合作品要遵守 copyleft 的条款。将宽松许可证和 copyleft 许可证混合到单个作品是可能的,但对你的项目有重大影响。如果不是专家,建议不要尝试:除非你准备好切换到 copyleft 许可证了,不然不要将 copyleft 代码混入宽松型项目之中。

管理单个项目中的众多许可证和版权

更加大型且复杂的项目,可能会从不同的来源并入软件,这些软件有许多不同的许可证和版权持有人。如果你的项目也是这样,那么我们建议你考虑在你的作品中,使用 REUSE 标准。