0%

常用开源协议介绍

Apache-2.0

  • Apache Lience
  • 支持商业用途,允许使用者修改和重新发布代码(以其他协议形式)
  • 协议规则
    • 需要给代码的用户一份Apache Lience
    • 如果修改了代码,需要在被修改的文件中说明
    • 在延伸的代码中(修改或衍生的代码)需要带有原来代码中的协议、商标、专利声明和其他原来作者规定需要包含的说明
    • 如果再发布的产品中包含了Notice文件,则需要在Notice文件中带有Apache Lience

BSD

  • Berkerley Software Distribution
  • 支持商业用途,可使用、修改源码
  • 协议规则
    • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议
    • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议
    • 不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广

GPL

  • GNU General Public License
  • 不支持商业用途,源码必须开放
  • 协议规则
    • 确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售
    • 可以去掉所有原作的版权信息,只要保持开源,并且随源代码、二进制版附上GPL的许可证
    • 无论软件以何种形式发布,都必须同时附上源代码
    • 开发或维护遵循GPL协议开发的软件的公司或个人,可以对使用者收取一定的_服务费用_

LGPL

  • GNU Library or "Lesser" General Public License
  • 支持商业用途,但不可修改源码
  • 协议规则
    • 允许商业软件通过类库引用(link)的方式使用LGPL类库而不需要开源商业软件的代码
    • 修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议

MIT

  • Massachusetts Institute of Technology
  • 支持商业用途,可使用、修改和出售源码
  • 协议规则
    • 必须在发行版里包含原许可协议的声明,无论是以二进制发布的还是以源代码发布
您的赞赏是我前进的动力

欢迎关注我的其它发布渠道