选择一份许可证
发布自由软件,重要的一步就是选择一份许可证。可供选择的许可证有很多,且每一份许可证各有不同的权衡,并且都会对你项目未来的发展产生不同的影响。后续修改许可证可能会很难,所以你最初就应该慎重考虑。
以下,我们推荐了几个广泛使用的许可证,以及选择它们的理由。
选择好许可证之后,就要在分享软件的时候包含它。最简单的方式,就是把许可证的纯文本版本,复制到源代码仓库中的一个叫 “COPYING” 的文件里。情况更加复杂,则建议使用 [REUSE][0] 的方法。
[0]: https://reuse.software/
Copyleft 许可证
Copyleft 许可证可以很有效地确保你的软件能保持自由。使用 copyleft,将要求任何改进了你软件的人,使用同样的 copyleft 许可证来发布其改进,这就保证了你也能将他们的改进并入你的版本。了解更多,参见什么是 copyleft?
优点
- 确保软件能保持自由
- 鼓励社区提交贡献
- 总体上促进了自由软件
缺点
- 对商业的吸引力欠缺
- 复用时必须考虑许可证兼容性
Copyleft 许可证推荐
许可证 | 用于… | Copyleft 方法 |
---|---|---|
Mozilla Public License 2.0 | 库(允许 vendoring) | 基于文件 |
GNU Lesser General Public License | 库(不允许 vendoring) | 基于对象 |
GNU General Public License | 可执行程序 | 基于可执行文件 |
GNU Affero General Public License | 网络服务 | 基于网络 |
宽松型许可证
宽松型许可证对软件接收者附加的义务相对较少。这些许可证允许软件被自由地复用,以及纳入其它任何软件项目之中,包括非自由软件。如果你的项目有商业使用的目标,或者想要被广泛采用,那么这些许可证就很有用。
优点
- 允许轻松复用
- 促进广泛使用
- 对商业用户有吸引力
缺点
- 可并入非自由作品
- 阻碍社区贡献
宽松型许可证推荐
我们建议使用以下的宽松型许可证:
推荐给企业的许可证
如果企业要发布自由软件,可取的选择是,使用一份宽松型许可证,其考虑了商标和专利权。要这样做的话,我们建议使用 Apache 2.0 许可证。
公有领域
如果发布者想让自己的软件进入公有领域,那么要注意的是,简单的公有领域贡献不足以国际化使用。我们建议使用以下的许可证,它们提供了等同于公有领域的法定权利,并且与国际法相兼容:
用于其它情况的许可证
我们单独写了一页,给非软件的资源(比如多媒体)推荐了一些许可证: