比较软件许可证
****** 此文档【正在编写中】*******
熟悉开源软件的人常常对各类许可证有非常深刻的看法。初学者并不那么关心这些问题,因为他们更关心的是完成手头的任务;并且不了解选择一个 许可证而不是另一个许可证对软件的长期影响(令人疑惑的是,有许多了解许可证细微差别的人对这一问题没什么意见)。
在过去的几年里,许多许可证获得了突出的地位,因为它们使软件作者能够控制他们的作品,而这正是大多数开发人员所希望的。然而没有可见版权 或包含一个开发者许可证的软件仍然很常见。最后一个问题对软件发行者(包括在线发行和制作 CD)来说是相当烦人的——许多许可证都包含一些 常见的错误,使得软件很难发行。
下面列出了一些常见的自由(开源)软件许可证,以及每种许可证的优缺点。仅展示许可证中与讨论相关的部分。此外,许多要点列在“好/坏”标题下, 这些观点的正确与否取决于你的观点。
- GNU 通用公共许可证(GPL).
摘要: 源代码必须开放;软件可以商用; 衍生作品必须使用相同的许可证
好处: 这是免费(开放)软件使用最多的许可证。 它很好地保护了软件开发人员的权利, 源代码的可用性保证了用户不必担心将来失去支持。
值得商榷之处: 使用GPL发布的软件不能并入商业软件。这是否真 的是坏事取决于你的观点。当有一个解决方案由于许可证冲突而无法使用时, 开发商业软件的人通常会感到沮丧。当然,没有什么可以阻止他们联系作者, 看看他们是否可以购买使用不同许可证的版本。大多数使用GPL发布软件的人 并不认为这些限制是不好的,因为它允许其他人使用和改进软件,同时防止 (出于所有实际目的)其他人在未经允许的情况下从他们的辛勤工作中赚钱。 - 艺术许可证 Artistic License.
摘要:
好处:
值得商榷之处: - BSD 风格许可证.
摘要:二进制文件和源代码必须包含许可证; 广告必须包含许可证中列出的开发人员
GOOD/BAD:公司希望一个可执行文件在不发布源代码的情况下 (可能是免费的)普遍可用时通常喜欢会这个许可证。例如一家公司想要 发布一个图形卡驱动程序。开源倡导者更希望公司发布硬件规范,如果 XFree86 驱动程序的开发是公开的,那么最好的驱动程序就是那些使用 开源源代码编写的驱动程序。公司只会通过发布速度慢且有缺陷的专有驱动 程序来让他们的产品看起来很糟糕。他们可以通过让其他人为他们开发 驱动程序来节省开发成本。
值得商榷之处: 任何人都可以获取源代码,修改它, 然后发布结果而不发布更改。
- 不允许或限制以营利为目的销售软件。
这使得在光盘上分发软件变得困难。
人们经常会犯使用定义不明确的术语这样的错误,如“合理成本”。
最好是简单地使用上面提到的许可证之一,因为它们可以完成相同的任务,
而不必使用这样的短语。
例如,通过允许任何人分发软件,GPL 通过市场力量来降低成本。
如果有人以高利润率出售 CD,不久竞争者就会进入市场,以较低的价格出售。
注:艺术许可证确实使用了“合理复制费”一词,但对该词作了限定, 试图使其不那么含糊。 - 不允许分发软件的修改版本。 这阻碍了某些团体分发软件。 例如,由于 Debian 分发已编译的软件,因此经常需要修改源代码以使其 可编译或使其符合 FSSTND。 但这样做,我们就不能分发它。
- 要求将软件的所有更改报告给作者。
虽然向作者报告更改/改进是一个好主意,这样它们可以更广泛地分发,
但将其作为一个要求可能会导致问题。有多少人知道 5 年后他们会怎么样?
只需将其更改为“软件的任何更改都应报告给作者”。
大多数人都会这么做的。
这一条款通常是为了防止分支项目的发展导致分裂。 历史已经证明,只要对原始代码的开发不停滞, 分支只有在其他力量推动分裂的情况下才会成功。 - 声明软件属于公共领域,但是增加了限制(比如不允许以营利为目的销售)。 要么属于公共领域,要么不属于——没有中间状态。 这样的许可证毫无意义,额外的条件很可能不会在法庭上得到支持。