From 00d9f84bd4af44b76268610400552bd87ea497ba Mon Sep 17 00:00:00 2001 From: feilong Date: Tue, 30 Aug 2022 14:07:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E5=BC=80?= =?UTF-8?q?=E6=BA=90=E5=8D=8F=E8=AE=AE=E7=9A=84=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chapters/open-source-license-qa.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 chapters/open-source-license-qa.md diff --git a/chapters/open-source-license-qa.md b/chapters/open-source-license-qa.md new file mode 100644 index 0000000..802e02c --- /dev/null +++ b/chapters/open-source-license-qa.md @@ -0,0 +1,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 \ No newline at end of file -- GitLab