选择开源许可证没有你想象的那么可怕

       如果你还在犹豫选择哪种开源许可证?不防先做一道选择题:下面哪一个情况更符合你的要求?补充说明: 本文内容整理自Choose a license官网。如有纰漏,欢迎指正。

答案A:我希望它简单,没有太多限制

MIT是一个宽松的许可协议,任何人都可以

  • 出售软件
  • 分发给其他人
  • 修改源码
  • 个人使用

但必须

  • 在软件及副本中包含原作者的许可声明和版权声明

另外

  • 作者或版权所有者免责

答案B:我希望它简单,没有太多限制

Apache许可证和MIT许可证类似,任何人都可以

  • 出售软件
  • 分发给其他人
  • 修改源码(必须添加修改说明)
  • 专利授权
  • 个人使用

但必须

  • 在软件及副本中包含原作者的许可声明和版权声明
  • 给贡献者和用户一份专利授权说明

另外

  • 软件作者或版权持有者免责
  • 禁止使用软件商标

答案C:我希望它简单,没有太多限制

GNU GPL属于Copyleft许可证,任何人都可以

  • 出售软件
  • 分发给其他人
  • 修改源码(必须添加修改说明)
  • 专利授权
  • 个人使用

但必须

  • 公开源码
  • 在软件及副本中包含原作者的许可声明和版权声明
  • 不能更换许可证
  • 给贡献者和用户一份专利授权说明

另外

  • 软件作者或版权所有者免责

以上介绍内容比较简单,想要了解更多,请戳:MIT LicenseApache License 2.0GPL v3

如何使用

MIT:在源代码的根目录中创建一个文本文件(命名为”LICENSE”或“LICENSE.txt”),拷贝许可证内容到该文件。把协议中[year]替换为当前年份,[fullname]替换为作者(如果是多人,中间用空格隔开)名字。使用模板

Apache:和MIT使用类似。使用模板(以Apache License 2.0为例)

注意:Apache基金会建议把许可证协议末尾的引用说明拷贝到每个源码文件的头部并修改”{}”里面内容。

GPL:和MIT使用类似。使用模板(以GPLv3为例。)

注意:自由软件基金会建议把协议末尾部分的附录说明拷贝到每个源文件的头部并修改“{}”里面内容,在协议开始部分写上软件名称和简单介绍。

参考

Choose a license
Apache 许可协议 2.0