开源协议

Apache

  • 需要给代码的用户一份Apache Licence。
  • 如果修改了代码,需要在被修改的文件中说明。
  • 在衍生的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以再Notice中增加自己的许可,但是不可以表现为对Apache Licence构成更改。
  • Apache Licence也是对商业应用友好的许可。使用者也可以再需要的时候修改代码来满足并作为开源或商业产品发布/销售

GPL (General Public License

衍生软件必须开源

example: ffmepg

BSD (Berkeley Software Distribution

  • 1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
  • 2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
  • 3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广

example: nginx

MIT (Massachusetts Institute of Technology

唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息