open-source-license-qa.md 2.1 KB
Newer Older
F
feilong 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 开源软件开发导论 - 资料

### 开源协议使用常见问题

**问题1**
如果一个网站的源码是使用GPL协议的,用它的源码部署网站运营赚钱,会违反协议么?

**讨论**

1. `GPL`协议全文:https://www.gnu.org/licenses/gpl-3.0.en.html。GPL并不限制赚钱,赚不赚钱不是判断的标准,不是重点。GPL既不限制赚钱,也不限制分发,也没有要求面向公众开源,而是要求说如果你对源码有改动,分发的时候要把改动的代码一起提供给客户,并且不能禁止你的客户把源码再给别人。如果你的客户拿到了你改动的代码,关在家里研究,却不愿意分享给别人,那你和你的客户都没有违背GPL协议。

2. 针对GPL在网络服务端使用的问题。有一个新的协议:`AGPL``AGPL`的全称为:GNU Affero General Public License,是GPL的一个补充,在GPL的基础上加了一些限制。AGPL这个协议的制定是为了避免一个GPL/LGPL协议中的漏洞,称之为Web Service Loopwhole,这主要是由于GPL是针对传统的软件分发模式的商业模式(以微软为代表)。如果你使用的GPL的代码作为基础完成你自己的软件,如果你要分发你的软件,你的软件必须也是GPL的。随着以Google为代表的软件作为服务的互联网公司的兴起,它们的“不分发软件,为客户提供网络服务”的商业模式就不受GPL协议的约束,所以Google公司在构筑他的搜索引擎的时候可以随心所欲的拿现有的GPL协议的开源代码,无需开源他的修改成果。AGPL协议就是为了防止这种情况出现,在GPL协议的基础上加了一个约束。`AGPL`协议:http://www.freeoa.net/development/design/detail-intro-agpl-agreement_2012.html

3. 看上去,AGPL还是有模糊的地方,MongoDB在AGPL的基础上明确对云厂商做了限制,有更严格的`SSPL`协议。`SSPL`协议:https://www.mongodb.com/licensing/server-side-public-license

4. 另一个后续是MariaDB提出了一个延迟开源的`BSL`协议。该协议的介绍请见:https://blog.csdn.net/chupai9888/article/details/100682823