From e77ddf070536ae3f5dbd6a29739cd05f4d0c9f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=8B=A9?= <923568791@qq.com> Date: Mon, 4 Jan 2021 19:31:12 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC1=E9=83=A8=E5=88=86=E2=80=94?= =?UTF-8?q?=E2=80=94=E5=88=9D=E8=AF=86=E5=BC=80=E6=BA=90/=E7=AC=AC=203=20?= =?UTF-8?q?=E5=B0=8F=E8=8A=82=EF=BC=9A=E5=A6=82=E4=BD=95=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E9=A1=B9=E7=9B=AE=E6=98=AF=E5=90=A6=E6=98=AF?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E7=9A=84.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...57\345\274\200\346\272\220\347\232\204.md" | 71 ++++++++++--------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git "a/\347\254\2541\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\347\254\254 3 \345\260\217\350\212\202\357\274\232\345\246\202\344\275\225\345\210\244\346\226\255\344\270\200\344\270\252\351\241\271\347\233\256\346\230\257\345\220\246\346\230\257\345\274\200\346\272\220\347\232\204.md" "b/\347\254\2541\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\347\254\254 3 \345\260\217\350\212\202\357\274\232\345\246\202\344\275\225\345\210\244\346\226\255\344\270\200\344\270\252\351\241\271\347\233\256\346\230\257\345\220\246\346\230\257\345\274\200\346\272\220\347\232\204.md" index 513b3b2..cb9c216 100644 --- "a/\347\254\2541\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\347\254\254 3 \345\260\217\350\212\202\357\274\232\345\246\202\344\275\225\345\210\244\346\226\255\344\270\200\344\270\252\351\241\271\347\233\256\346\230\257\345\220\246\346\230\257\345\274\200\346\272\220\347\232\204.md" +++ "b/\347\254\2541\351\203\250\345\210\206\342\200\224\342\200\224\345\210\235\350\257\206\345\274\200\346\272\220/\347\254\254 3 \345\260\217\350\212\202\357\274\232\345\246\202\344\275\225\345\210\244\346\226\255\344\270\200\344\270\252\351\241\271\347\233\256\346\230\257\345\220\246\346\230\257\345\274\200\346\272\220\347\232\204.md" @@ -2,58 +2,63 @@ > 本篇内容将会引导大家分辨一个项目的状态,是开源,闭源,还是半开源。 -一个开源项目需要满足以下两个条件: +## 前言 -1. 源代码必须公开发布。 -2. 源代码必须按照 [Open Source Initiative 认可的开源许可证](https://opensource.org/licenses) 发布。 +项目分为开源项目、闭源项目,以及未被明确定义的半开源项目。那么,什么项目可以称之为开源项目?什么项目是闭源项目呢?它们之间有什么区别?下面让我们一起来了解一下。 -关于开源许可的十个条件请看 [什么是开源](第 1 部分——初识开源/第%201%20 小节:什么是开源.md/#开源软件) 一节。 +## 什么是闭源 (Closed Source) +这太好解释了:项目的源代码不公开发布,就叫闭源。闭源可以保证源代码的安全性和隐私性,想要获得此类代码一般需要加入闭源项目所属组织或签署保密协议,以确保代码不会泄露。闭源项目一般存在于商业软件领域,可以很好地保护公司的商业机密。此外,个人的私密项目也属于闭源项目,你可以在创建项目时,选择对应的隐私访问级别——Private。 -## 什么是闭源 (Closed Source)? +闭源在保护机密和隐私方面发挥了重要作用,但由于参与成员的限制性,不能像开源项目那样集思广益,因此,项目的迭代速度一般会慢于开源项目。此外,也正是因为参与群体范围较小,闭源项目的维护管理、标准化难度会小于开源项目。 -这太好解释了:源代码不发布,就叫闭源。 +## 什么是开源 (Open Source) -闭源也有好处: -1. 防止软件被破解 -2. 保护自己的利益 -3. ...... +开源软件是开源的主要表现形式。在第 1 小节中,相信你已经对开源有所了解,下面我们来回顾一下开源的定义:开源软件是一种 **技术和立场中立**的**使用许可证约束**的**开放源代码** 的软件。 -嗯,就这样。 +对于开源软件来说,技术和立场中立要求开源软件对任何组织和个体要一视同仁,保持公平公正。而使用许可证约束一方面是保证开源者的各项权利 -## 那什么是开源 (Open Source) 呢? +当然,关于开源的详细定义还有很多,其中最有影响力的是 [Debian 自由软件指导方针 (DFSG)](https://www.debian.org/social_contract#guidelines) 和 Open Source Initiative 制定的 [Open Source Definition](https://opensource.org/osd)。其中,后者是前者的衍生版本。 -这就复杂起来了。 +更多详细内容,请参考 [第 1 小节:什么是开源](./第 1 小节:什么是开源.md/#开源软件) 。 -一般来说,开源软件是指 ***可以让用户自由地获取、使用、修改和分享的软件***。如何判断一个开源软件,在本文的开头已经提过,不再赘述。 +## 什么是半开源 -关于开源的详细定义有很多,其中最有影响力的是 [Debian 自由软件指导方针 (DFSG)](https://www.debian.org/social_contract#guidelines) 和 Open Source Initiative 制定的 [Open Source Definition](https://opensource.org/osd)。其中,后者是前者的衍生版本。 +“半开源”一词从来没有被正式定义过,甚至,“半开源”这个词是不是被生造出来的也不太清楚。下面列举了半开源软件当前较为常见的几种定义(排序不分先后)。 -### 你刚刚是不是提到了自由软件 (Free / Libre Software)?这个东西和开源有什么区别? +- 半开源软件是指 **开放了系统核心代码但不开放非核心代码的软件**。比如:有人认为 Android 是半开源系统系统,因为其系统核心开源,但硬件驱动、Google Service、各厂家自带应用不开源。 +- 半开源软件是指 **开放源代码但并没有开放其他功能代码的软件**。软件虽然开放了源代码,但由于种种原因,可能在实现上做了限制,导致使用者并不能完整地使用软件的所有功能。 +- 半开源软件是指 **开放源代码但没有使用开源许可证的软件**。因为半开源的概念和英文中“Source Available”的概念基本相同。 -是的。不过,这个说法和开源软件没什么区别,通常来说,这两个可以混用。 +虽然没有权威的定义,但从上面几种定义分析,我们可以总结出半开源的特点:开放了源代码,但并没有使用开源许可或没有满足开源使用者一定程度上的需求。从本质上来讲,半开源与开源之间没有明确的界限,两者都开源了源代码,只是由于一些原因,导致开源使用者认为前者并非完全开源的。 -但是,这两个说法之间存在些许的哲学观点差异,其中涉及到的辩论和观点超出了本篇文章的范围。如果想要了解自由软件运动支持者对“开源软件”说法的质疑和批评,可以参考阅读 [《为什么开源错失了自由软件的重点》](https://www.gnu.org/philosophy/open-source-misses-the-point.html)。 +## 其他概念 -## 那半开源又是什么东西? +### 自由软件 (Free/Libre Software) -越来越复杂了。 +**自由软件和开源的区别** -半开源软件的定义从来没有被正式下定过。甚至,连「半开源」这个词是不是被生造出来的也不太清楚。不过,半开源的概念和英文中「Source Available」的概念基本相同,所以从「Source Available」的字面意义,我们可以得出: +自由软件一般指的是,它包括满足开源条件的软件,以及不满足开源条件的软件。但是,这两个说法之间存在些许的哲学观点差异。关于自由软件,其中涉及到的辩论和观点很多,如果想要了解自由软件运动支持者对“开源软件”说法的质疑和批评,可以参考阅读 [《为什么开源错失了自由软件的重点》](https://www.gnu.org/philosophy/open-source-misses-the-point.html)。 -半开源软件是指 *源代码公开发布,但是没有使用开源许可证的软件*。 +## 小结 -### 有没有什么比较典型的例子? +本篇文章向大家讲解了闭源、开源、半开源的概念,客观分析了它们各自的特点,当你想要保护隐私、少数人参与维护的项目时,闭源更加适合你;当你想要分享自己的项目、吸引更多人维护时,请果断选择开源。关于半开源,虽然大家可能各说纷纭,但它与开源并没有明确的分界线,对于一些观点的解读需要大家理性看待。 -有,并且很多。 +分享需要开放的心态,还望大家求同存异,在开源世界里肆意挥毫,留下浓墨重彩的一笔! -- [Discuz! X](https://gitee.com/ComsenzDiscuz/DiscuzX) -- [宝塔面板(国内版/国际版)](https://www.bt.cn/kyxy.html) -- [Onivim 2](https://github.com/onivim/oni2/blob/master/Outrun-Labs-EULA-v1.1.md) -- [GitLab EE](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/LICENSE) -- [使用了 Business Source License 的软件(MariaDB MaxScale 等)](https://mariadb.com/bsl11/) -- [使用了 Fair License 的软件](https://fair.io/) -- [使用了 Commons Clause 的软件](https://commonsclause.com/) -- [使用了 Anti-996 License 的软件](https://github.com/996icu/996.ICU/blob/master/LICENSE_CN) -- …… +## 案例说明 +### 开源案例的开源许可说明 + +- [堡塔开源许可协议](https://www.bt.cn/kyxy.html) +- [Outrun-Labs-EULA-v1.1](https://github.com/onivim/oni2/blob/master/Outrun-Labs-EULA-v1.1.md) +- [GitLab LICENSE](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/LICENSE) +- [Business Source License 1.1](https://mariadb.com/bsl11/) +- [FAIR SOURCE LICENSE](https://fair.io/) +- [The Commons Clause.](https://commonsclause.com/) +- [Anti-996 License](https://github.com/996icu/996.ICU/blob/master/LICENSE_CN) + +## 参考资料 + +- [Android为何是“半开源操作系统” ?](https://www.zhihu.com/question/21189880) +- [微软 VS Code“半开源”的操作属实不地道](https://www.v2ex.com/t/598322) -- Gitee