diff --git "a/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2541\347\253\240 \345\274\200\346\272\220\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265.md" "b/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2541\347\253\240 \345\274\200\346\272\220\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265.md" index aaa01489fcf390d1c55af3eda4884d6e2db9e68c..504feef21640d1d2d9e8585d0411eb4dbe64467e 100644 --- "a/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2541\347\253\240 \345\274\200\346\272\220\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265.md" +++ "b/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2541\347\253\240 \345\274\200\346\272\220\347\232\204\345\237\272\346\234\254\346\246\202\345\277\265.md" @@ -1,8 +1,8 @@ -## 第一章 开源的基本概念 +# 第一章 开源的基本概念 -### 1.1 开源的定义和特征 +## 1.1 开源的定义和特征 -#### 1.1.1 开源的定义 +### 1.1.1 开源的定义 开源(Open Source)—词于1998年2月3日由Chris Peterson提出,“Open Source”的概念出自当时著名的黑客(Hacker)社区Debian的社长Bruce Perens起草的“ Debian Free Software Guidelines”(DFSG)。 @@ -14,7 +14,7 @@ 本质上,开源模式是一种依托互联网平台,大规模群体智慧通过共同参与和协作,不断累积智慧,实现持续创新的方法。该方法中,项目的核心开发人员与大规模的外围群体紧密合作,他们通过互联网来共享资源、开展协同开发、管理代码等,由此使得项目开发的效率、应对需求变化的能力大幅提升。 -#### 1.1.2开源的特征 +### 1.1.2开源的特征 中国开源软件推进联盟于2016年归纳提出的(已被国际认可)开源特征包括:开放、创新、自由、共享、协同、绿色、民主(化)。开源的本质在于开放、共享、协同。 @@ -28,15 +28,15 @@ 作为一种创新协作模式,开源已经不仅仅是开放源代码的软件技术开发,还包括更为广泛的开放技术领域及协同创新的理念与机制,总体包括开放科学、开源软件、开源硬件、开源技术、开源文化、开源经济等。“互联网+基于知识社会的创新 2.0”是开源创新的基础理论(2005年由中国开源软件推进联盟提出,后来获得全球开源界领袖们的确认),与工业 4.0、工业互联网机制相通,与最近提出的元宇宙(Metaverse)概念相似。利用开源渠道,将高阶社会(知识社会,虚拟化的实验空间)中的技术、管理、资源等要素,作用于低价社会(现实的工业社会,物理空间)中的业态(生产的、技术的、经济的、社会的),促使其产生0→1的爆发性重构。 -#### 1.1.3 开源的范畴 +### 1.1.3 开源的范畴 时至今天,开源已成为开源软件、开源硬件、开源生态、开源技术、开源社区、开源经济、开源商业模式、开源理念、开源文化、开源教育、开源许可证、开源基金会、开源孵化器、开源数字化治理体系、开源标准等总称。 -### 1.2 世界开源发展简史 +## 1.2 世界开源发展简史 世界开源的发展历史,具有三个里程碑时间节点:1970年、1985年、1991年,分别对应UNIX、GNU、Linux的发展。 -#### 1.2.1 UNIX简史 +### 1.2.1 UNIX简史 * 1969年之前,Bell实验室和MIT、GE合作启动开发一个多任务多用户的操作系统Multics,为早期UNICS操作系统诞生创造条件。 * 1969年,UNIX原型——UNICS(UNiplexed Information and Computing System)诞生。 @@ -46,7 +46,7 @@ 因此,世界开源的历史始自1970年开启的“前UNIX”,至今52年,开源在事实上已经历了半个世纪的发展历程。 -#### 1.2.2 GNU简史 +### 1.2.2 GNU简史 GNU系统是一套向上兼容UNIX的完全自由的操作系统。GNU代表“GNU's Not UNIX”。 @@ -56,7 +56,7 @@ GNU系统是一套向上兼容UNIX的完全自由的操作系统。GNU代表“G “Free Software”中的“Free”关乎自由,而不是价格,是指可以付费或不付费得到GNU软件。一旦得到了软件,便拥有了使用它的四项特定自由。可以自由按照自己的意愿运行该软件;可以自由复制软件并将其送给朋友和同事;可以自由通过对源代码的完全控制而改进程序;可以自由发布改进的版本从而帮助社区建设。 -#### 1.2.3 Linux简史 +### 1.2.3 Linux简史 Linux的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。 @@ -83,7 +83,7 @@ Linux的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX * 2007年8月8日,Linux基金会由开源发展实验室(OSDL)和自由标准组织(FSG)联合成立,得到了主要的Linux和开源公司,包括富士通、HP、IBM、Intel、NEC、Oracle、Qualcomm、三星和开发者的支持。11月5日,Google发布Android,被称为“第一个真正开放的综合移动设备平台”。 * 2011年5月11日 ,Google I/O大会发布基于Linux内核的云操作系统Chrome OS的Chromebook。6月21日,Linus Torvalds 发布Linux3.0版本。 -#### 1.2.4 开源基金会崛起 +### 1.2.4 开源基金会崛起 开源基金会是开源生态中的重要部分。对于非营利性且处于中立位置的开源基金会来说,他们拥有开源项目的知识产权,而且没有任何商业利益,这为贡献者、开发者、用户提供了良好的协作平台;基金会也会通过技术服务和项目孵化来帮助开发者和开源企业,如软件仓库、问题跟踪、技术指导、法律支持、项目投资、公共关系维护等;基金会还会提供项目日常的运营和治理,以满足在项目生命周期不同阶段对于管理项目的需求。 @@ -109,7 +109,7 @@ Linux的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 具体介绍参见后续章节。 -### 1.3 中国开源发展简史 +## 1.3 中国开源发展简史 1991年,中国与AT&T Bell Laboratories USL/USG合作,引进UNIX SVR 4.2版本源代码(全球唯一,但属于“后UNIX”闭源时期),并发布了中文版本,合作组建了中国UNIX公司;中方同时也引进“前UNIX”开放的源代码。 @@ -166,11 +166,11 @@ Linux的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX 在现阶段,部分领先的中国企业不满足于拥抱开源,他们正在很多创新领域跃跃欲试,希望通过开模式来对创新技术进行引领,如商汤的OpenMMLab计算机视觉开放算法、矩阵元的Rosetta隐私Al开源框架、阿里的RocketMQ海量信息中间件、京东的JD Chain开源区块链、百度的PaddlePaddle深度学习平台和Apollo自动驾驶平台、海尔卡奥斯COSMOPlat工业互联网平台的工业APP开发框架开源项目等。同时,在现阶段出现了一些原生的开源明星项目,如Apache SkyWalking、Apache Echarts、Apache loTDB、TiDB,其中一些优秀的开源项目如TiDB备受资本市场的推崇,创造了全球数据库融资历史新的里程碑。 -### 1.4 开源软件与知识产权 +## 1.4 开源软件与知识产权 至此,我们对开源的定义和发展史有了基本的概念,在继续深入了解之前,有必要关注开源软件与知识产权的知识。 -#### 1.4.1 软件知识产权的主要内涵 +### 1.4.1 软件知识产权的主要内涵 软件知识产权是计算机软件人员对自己的研发成果依法享有的权利。由于软件属于高新科技范畴,目前国际上对软件知识产权的保护法律还不是很健全,大多数国家都是通过著作权法来保护软件知识产权的,与硬件相关密切的软件设计原理还可以申请专利保护。 @@ -187,7 +187,7 @@ EULA一般主要规定用户不可以盗版软件,并没有对用户明确涉 针对于上述对软件源代码的处置方式,就出现了另一种以开放、协同、共享的软件发展模式,通过开源软件许可证对软件源代码的复制、修改、再分发等权益,也对诸如商标、专利、著作权等内容进行进一步的规范,也这是对软件知识产权发展的一个重要补充。 -#### 1.4.2 开源软件许可证 +### 1.4.2 开源软件许可证 开源许可证,就是开源软件使用的许可证。对开源软件许可证的法律界定先前存在一定的争议。在美国,一些法院认为软件许可证是合同(Contract),一些法院则认为是许可(License)。两者的区别在于,许可在传统上是由地产或物主作出的,目的在于允许他人使用自己的地块或物品。因此,它是单方向的,不构成完整的合同,而是作为合同的一个要素,用来和他人交换的条件。 @@ -210,7 +210,7 @@ EULA一般主要规定用户不可以盗版软件,并没有对用户明确涉 * 许可协议不能约束其他软件; * 许可协议必须独立于技术。 -#### 1.4.3 国外主流开源许可证解读 +### 1.4.3 国外主流开源许可证解读 目前通过OSI认证的开源许可证有XX款,其中包括由中国主导编制的Mulan Permissive Software License v2 (MulanPSL - 2.0)。全部许可证可以参见https://opensource.org/licenses/alphabetical 和https://opensource.org/licenses/category 。据OSI统计,以下开源许可证流行程度较高: @@ -297,7 +297,7 @@ Apache许可证是一种“宽松”(Permissive)的许可证,目前常用 **混合项目**:如果您的项目包含软件和其他材料的混合,则可以包含多个许可证,只要明确说明哪个许可证适用于项目的每个部分。 -#### 1.4.4 木兰开源许可证解读 +### 1.4.4 木兰开源许可证解读 木兰许可证族由中国电子标准化研究院牵头研制,已发布版本包含木兰宽松许可证(MulanPSL v1;MulanPSL v2)、木兰公共许可证(MulanPubL v1;MulanPubL v2)、木兰-白玉兰开放数据许可协议(MBODL v1)。 @@ -315,7 +315,7 @@ MulanPSL v2于2020年通过OSI认证,是全球首个由我国主导的国际 ![](https://img-blog.csdnimg.cn/28c3ad17811c4b6682e57e88d993ed9f.png)
木兰公共许可证与主流许可证对分发的限制 -#### 1.4.5 开源许可证的选用逻辑 +### 1.4.5 开源许可证的选用逻辑 选择开源许可证时,可以从三层阶梯的五个问题入手:他人修改代码后,是否可以关系源;新增代码是否采用同样许可证;是否需要对源码的修改之处,提供说明文档;每一个修改过的文件,是否都必须放置版权说明;衍生软件的广告是否可以用你的名字促销。