常用开源协议以及是否能够商用
License About 1,985 wordsMIT
Massachusetts Institute of Technology License
BSD
3-Clause包含3个条款,2-Clause只有两个(不带第3条)。
1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的``BSD协议;
2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议;
3.不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广:
BSD-2-Clause
BSD 2-Clause "Simplified" or "FreeBSD" license
BSD-3-Clause
BSD 3-Clause "New" or "Revised" license
Apache-2.0
Apache License, 2.0
GPL
GNU General Public License
可以商用,但分发软件时必须开放源代码。
举例
用户下载Android应用,这就是一个公司分发给用户的行为,则公司必须提供源代码。
如果公司后台Java服务部署在GPL的Linux上,但由于提供给用户的是Java服务中的接口,并不是Linux,所以Java代码不用开源。
注意
如果你确实需要发布你的程序,但又不想开源,规避GPL的方法是通过RPC间接调用库里的接口。只要库和你的程序不运行在同一进程下,就不需要开源。
LGPL
GNU Library or "Lesser" General Public License
也被称为 GPL V2
允许商业软件通过类库引用(link)的方式使用LGPL类库,而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
AGPL
GPL协议还有一个非常大的“漏洞”,就是软件“发布” 才必须开源。也就是说,我的软件不发布,即使使用GPL也可以不用开源。随着以Google为代表的软件作为服务的互联网公司的兴起,它们的“不分发软件,为客户提供网络服务”的商业模式就不受GPL协议的约束。
GPL + 一条限制
如果使用AGPL许可的软件与用户通过网络进行交互,也需要提供源代码给用户,所有的修改也要给用户。
MongoDB在2018.10.16前发布的版本就是用的AGPL协议。(虽然MongoDB是AGPL,但其驱动都是Apache License,所以可以商用)
EPL
Eclipse Public License
无修改无需开源,修改部分要开源。
MPL
Mozilla Public License
无修改无需开源,修改部分要开源。修改后的代码版权归软件的发起者。
开源软件修改代码后

图片来源:https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
例子
MITjQuery:https://github.com/jquery/jqueryVue.js:https://github.com/vuejs/vueAngular:https://github.com/angular/angular
BSD-2-ClauseNginx:https://nginx.org/LICENSEOpenResty:https://github.com/openresty/openresty
Apache-2.0Spring Boot:https://github.com/spring-projects/spring-bootArthas:https://github.com/alibaba/arthasDocker:https://github.com/moby/moby
GPLOpenJDK(GPL with the Classpath Exception):https://openjdk.java.netMySQL(GPL V2):https://github.com/mysql/mysql-servernetdata(GPL V3):https://github.com/netdata/netdata
LGPLAGPLMongoDB:https://github.com/mongodb/mongo
MPL
更多开源协议
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓