开源发展史 1. 计算机在硝烟中出世- 公元 1943 年1月 ,第二次世界大战如火如荼,苏德两军还在斯大林格勒进行鏖战;美国:Mark I,自动顺序控制计算机在美国研制成功,被用来为美国海军计算弹道火力表。 - 同年9月,Williams和Stibitz完成了Relay Interpolator,后来命名为Model II Relay Calculator。这是一台可**编程**计算机。  - 1946年,冯 · 诺依曼提出计算机的基本原理:**存储程序和程序控制**。  2. 大型机和UNIX- 2.1. 1949年5月6日,世界第一台完整的冯•诺依曼结构计算机在剑桥大学开始运行,因此这一天后被认为是现代计算机的诞生日。 1951年, IBM开始决定开发商用电脑,聘请冯•诺依曼担任公司的科学顾问,1952年12月研制出IBM第一台存储程序计算机IBM701,这是通常意义上的电脑。此事件成为IT发展史上的一个重要里程碑。 自计算机诞生至70年代中后期,计算机主要形式是大型机,软件并不作为单独产品提供,这一时期软件的传播依附于硬件的绑定附送。在这段时间Unix源码曾向公众开放,因此开源的起源与Unix的发展息息相关。 - 2.2. UNIX 出世 1969年AT&T贝尔实验室研究员Ken Thompson开始编写Unix, Unix是1970年定名的,因此1970年定为Unix元年( Unix名字的由来: Uniplexed Information and Computing System,即UNICS=Unix)。img src=https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.pianshen.com%2Fimages%2F924%2Fec37c7ede8e357eaf59f8970ee87383c.JPEG&refer=http%3A%2F%2Fwww.pianshen.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1655258532&t=3e696d00170070411d914c52f69f2b30 width=80% 1969-1976年,Unix相继推出V1-V6版本,向社会开放源代码,是开源的。 3. UNIX 分化发展 img src=https://img2.baidu.com/it/u=2859299648,2513274953&fm=253&fmt=auto&app=138&f=GIF?w=659&h=500 width=80% 3.1. 两个阶段4.1. UNIX 可分为“前 UNIX ”和“后 UNIX ”两个不同的发展阶段: - “前 UNIX ”, 1969-1976年, UNIX向社会开放源代码, 叫“前 UNIX ”。- “后 UNIX ”, 1977年至今, 1977年AT&T公司将 UNIX 私有化,这时的Unix(或AT&T-Unix)是闭源的。 1977年始(即自AT&T-Unix实行私有化开始), Unix开始分支,分为AT&T-Unix和BSD-Unix,前者是闭源的,后者是开源的; 3.2. UNIX 闭源商业化4.2. 自1997-1983年后各家Unix商业公司先后推出各种Unix变种,如SUNOS、 IBM AIX、 HP-UX、 DEC Ultrix、 Windows与SCO Xenix、 Sun Solaris等,这些Unix变种均基于“前Unix”(开源)派生发展的,而Unix变种大多是闭源的商业版。img src=https://osrtm.oss-cn-beijing.aliyuncs.com/wiki/img/1652247374007_12.PNG width=80% 4. 迎来PC 时代- 1971年, Intel 4004微处理器出现;- 1974年第一台个人电脑Altair8800的上市- 1976年乔布斯的第一代苹果电脑上市;计算机发展进入PC时代,硬件附带的软件无法满足用户日益扩大的需求,专业开发通用软件的公司出现了,他们需要通过软件来收费,且不愿继续向用户提供软件源代码,微软公司就是其中的典型代表。1983年,几乎所有的软件公司都不再对外开放软件源代码。 5. GNU 宣言- 软件这种从免费且开源到收费且闭源的转变,令当时许多软件开发者感到愤怒和不满,其中最著名的就是Richard Stallman,他随即发起了自由软件运动,在全世界引起巨大反响。img src=https://oss.osrc.com/wiki/img/1658294232431_59bae9b2587bbf542a445b4f9b97b7ab.png width=50% img src=https://bkimg.cdn.bcebos.com/pic/cdbf6c81800a19d8b3f52c0b33fa828ba71e46cd width=30% img src=https://bkimg.cdn.bcebos.com/pic/5ab5c9ea15ce36d3ec03ae8b32f33a87e950b101 width=30% - Richard编写一个完全自由的且与Unix(当时最流行的闭源操作系统)兼容的操作系统,并将其命名为GNU( GNU’ s not Unix的递归缩写)。于是Richard于1983年辞职并投入到GNU操作系统的开发当中,并于1985年在美国波士顿成立了自由软件基金会( Free Software Foundation, FSF),发表了《GNU宣言》。 6. GPL 许可证第一版发布- 1989年,GPL( General Pubulic License)许可证第一版发布。该许可证是使用最广泛的自由软件许可证,其特征为:适用该许可证的代码的所有衍生代码都必须开源并且基于相同的许可证发布,具有鲜明的著佐权( copyleft)性质。img src=https://img0.baidu.com/it/u=1404121637,2364270698&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=215 width=30% - Richard牵头开发了GCC编译器 、 GNU Emacs文字编辑器等自由软件,吸引越来越多的Unix开发者转向自GNU软件。 img src=https://oss.osrc.com/wiki/img/1658294489348_9c16fdfaaf51f3deb48ff0a268a4e71f3a292cf5d3e8.png width=20% 7. linux 开源元年 - 1991 年 9 月 17 日,Linus Benedict Torvalds 将 Linux 系统 0.01 版本上传到 FTP,源代码大概有1万行(现在超过1000万行)。 - 1994 年 3 月 14 日,Linux系统1.0版本在林纳斯的母校赫尔辛基大学发布,此时它的代码量已经超过17万行,用户超过10万。img src=https://oss.osrc.com/wiki/img/1658294681095_0.png width=80%img src=https://oss.osrc.com/wiki/img/1658294691150_908fa0ec08fa513d8427dfcb346d55fbb2fbd912.jpg width=80%- Linus Benedict Torvalds 是开源史上标志性人物, 一个呆头呆脑的书呆子,让IBM、微软等商业巨头头疼不已。 - 目前linux 除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步:Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。img src=https://www.runoob.com/wp-content/uploads/2014/06/wKioL1bvVPWAu7hqAAEyirVUn3c446.jpg-wh_651x-s_3197843091.jpg width=80% - GNU Linux为代表的自由软件的发展壮大对闭源软件公司带来了巨大冲击, 1998年微软公司在法国发布了反对Linux的臭名昭著的公开信,这也是微软“FUD”战略的开端。 8. Open Source 1998年,开放源码(Open Source)应运而生,开放源码首先是在1998年2月3日在美国加州Palo Alto 召开的一次会议上提出来的,随即著名黑客Bruce Perens为其起草了“自由软件指导方针”。 1998年4月7日由18位自由软件运动领袖召开的“自由软件高层会议”通过了传播开源( Open Source)的必要性。img src=https://www.leixue.com/uploads/2018/12/open-source.png!760 width=80%开源软件是对自由软件的继承和发扬,没有自由软件就没有开源软件,两者都很重要,两者都很成功,都 推动了软件产业的发展,因此许多国家包括中国常常用 Free Libre Open Source Software (FLOSS) 来表示两位一体的概念。 9. Git 和 Github 加速开源发展 - Git的出现2002 年,Linux 项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。2005 年,开发 BitKeeper 的商业公司结束与 Linux 内核开源社区的合作。Linux 开源社区决定开发自己的版本控制系统 - Git。 Git 是完全分布式的,同时拥有强大的代码管理能力,支持离线操作和非线性分支管理,使用 Git 可以让散布各地的开发者更加高效地协同工作, Git 的出现极大地推动了开源的发展。- 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub。img src=https://pic3.zhimg.com/80/v2-f93650b935adbd7e18c0059ae0ff17ba_720w.jpg width=40% img src=https://www.runoob.com/wp-content/uploads/2014/05/github-repos.png width=40% img src=C:_OSRC_6运营倡议书images15.png width=40% img src=C:_OSRC_6运营倡议书images16.png width=40% 10. 大厂拥抱开源 根据Gartner 统计数据,2011年 80% 的商业软件中都包含开源代码,传统IT厂商都在拥抱开源互联网公司更是和开源项目互相成就,从LAMP(linux + Apache + MySQL + PHP)架构到 Hadoop、Nginx、Node,android 等著名开源项目和作品,互联网火爆的背后都有开源技术的影子。img src=https://oss.osrc.com/wiki/img/1658294920120_a.jpg width=15% img src=https://oss.osrc.com/wiki/img/1658294964100_h.jpg width=15% img src=https://oss.osrc.com/wiki/img/1658294988574_n.png width=15% img src=https://oss.osrc.com/wiki/img/1658295009909_node.png width=15% img src=https://oss.osrc.com/wiki/img/1658295037358_android.jpg width=15%img src=https://oss.osrc.com/wiki/img/1658295064416_mysql.jpg width=15% 11. 云计算推动开源- 随着用户对于敏捷高效的IT资源的需求不断提升, 云服务正在逐步成为数字化时代企业级IT基础设施的标配, 而传统意义上的不同层次的云服务中, IaaS、 PaaS和虚拟机等基础云服务产品中不乏开源产品的身影——这也和传统IT架构中底层操作系统和中间件所处的位置相似。 主流的公有云厂商都建立起了颇具市场影响力的云平台, 在数字化转型不断渗透的当下, 这些云平台逐步成为企业获取基础IT服务的最重要渠道。 对于开源项目而言, 云平台的托管意味着该产品能够以事半功倍的效率接触到更多的用户和开发者, 这对开源项目的运营而言是最重要的, 因为这些用户会在使用过程中发现该项目的缺陷、为项目的发展方向贡献灵感。 尤其对于正处于发展前中期的开源项目而言, 云平台的渠道效应能够帮助它们加速成长。 12. 开源软件成为软件世界的基石下面著名的软件都是开源项目:- Linux Kernel - GCC- Git- Nginx- OpenSSL- TensorFlow- PyTorch- Mysql- Chromium- AOSP(Android Open Source Project)- Redis- Kubernetes(K8s)没有开源软件的支撑,现在的世界不会运行这么好! 13. 开源社区当前最火热主题是“云原生” CNCF(Cloud-Native Compute Foundation,云原生计算基金会)成立于2015年, 由Google等大公司牵头,目前有100多家企业成员,其目的是在容器、微服务及devops领域里、通过一系列的规范和标准帮助企业和组织、在现代的云化环境中构建架构一致的应用。 img src=https://pica.zhimg.com/v2-c324c9433430ee026592e3f973807b51_r.jpg?source=1940ef5c width=80% CNCF定义的云原生三大特征:**容器化封装**、**动态和自动化管理**、**面向微服务**。此外,云原生强调自动化以提升能够开发效率和运维效率。 中国开源发展 1. 1991年是中国开源的诞生元年- 1991年陆首群、张克治和杨天行牵头代表中方代表团与美国AT&T-USG合作,美方将最新开发的Unix版本——Unix SVR4.2源代码向中方开放(除美方外,中方是全球获得源代码的第二家)。中方为此组织了Unix新版本编辑委员会,由杨芙清、胡道元、仲萃豪、刘锦德、尤晋元、贾耀良、孙玉芳等国内资深软件专家组成,并邀集全国软件专家、程序员200多人,翻译、编辑、出版了Unix SVR4.2中文版本共19册,首发式在人民大会堂举行,向全国各大图书馆、各高等院校赠书,业界影响甚大。- 1992年12月中方与USG合资在华成立了中国 Unix 公司。1991年中美合作正式引进Unix SVR4.2的这一历史事件被Linux基金会收录,后被作为中国开源诞生的标志性事件。 1991年成为了中国开源的诞生元年。 2. Linux促进了在中国开源文化的孕育发展- 千禧年到来,Unix、 Linux在中国用户的激增,以及互联网时代的到来,中国自发地涌现出一批开源社区和开源企业。在中国开源发展的萌芽阶段, Linux技术的快速普及起到了核心的推动作用。- **蓝点、冲浪、拓林斯、红旗、中标软件、共创开源、中科方德、凝思科技、湖南麒麟、幸福Linux、广东新支点、即时科技、新华富才** 这些Linux发行版如雨后春笋一样集中破土而出,其中不乏在美股港股上市的标杆企业。- 在网络上集中涌现出**LinuxFans、 Linuxaid、 Linuxeden、 Linux中国、 LinuxSir、Linuxts、 ChinaUnix**等大量Linux 技术用户社区,其中孕育了 Magic Linux 这一优秀的社区发行版,各地区线下的 Linux 用户组( LUG)活动也异常活跃。 - 在这个阶段,部分中国开发者开始尝试向国际上游社区贡献代码。但同时,国内 Linux 企业对开源技术采用拿来主义,忽视开源社区、商业模式和开源知识产权等方面的投入和积累,这也导致在国际社区中出现了许多针对中国 Linux 发行商只是开源使用者的评价,直到2008年,这种印象才得以扭转。 3. 2008年是中国开源发展重要的分水岭- 2008年,以 **Kernel、 Apache、 OpenOffice** 为代表的国际知名开源社区纷纷选择在北京召开全球技术峰会,作为他们进入亚洲的第一步(之前从未在亚洲国家召开顶级技术峰会)。这是对**中国开发者在该社区提交贡献**的肯定, 2008年成了中国开源发展重要的分水岭。 4. 中国开始成为国际开源资源的贡献者 - 2009年之后,中国开发者提交的代码被Linux基金会接受,其排名稳居世界前四( Kernel 2.6.27之后),中国开始成为国际开源资源的贡献者; - 2009年之后,伴随着云计算、物联网、大数据、移动互联网的快速发展,中国一批有实力有抱负的知名科技IT企业、互联网公司开始选择拥抱开源。 这些中国科技公司无论从开源技术上,还是产业、经济发展上,已经走进世界领导者行列; - 2009-2018年这十年中,中国开源呈现了百花齐放的繁荣局面,从开源开发者数量的激增,到开源社区的多样化(不再局限Linux等操作系统领域),再到知名科技企业自内而外的拥抱开源(内部实行开源治理,逐渐对外捐献开源项目,并向上游技术社区提交贡献); - 2012年成立的中国开源云联盟( COSCL)和2016年成立的云计算开源产业联盟( OSCAR)是典型的开源与云计算技术融合的产业联盟。不论是初创企业还是千百亿体量的科技巨头纷纷用开源技术来构建公司自身的技术堆栈,在技术上全面拥抱开源,并越来越重视对上游开源社区和开源基金会的投入和贡献。 5. 2019年至今,中国开源进入了一个新的时代 - 根据Linux基金会有关Kernel.org社区贡献的统计,来自中国的开发者的贡献已经居全世界之首( Kernel 4.14至今)。中国开源发展进入深水区,开源生态的完整性,开源社区的成熟型,开源商业模式的多样性和复合性都在发生巨大的变化。- 由木兰开源社区牵头主导多家单位联合参与起草的“中国第一个开源协议——木兰许可证”已经正式发布,前不久还被OSGJ翻译为日文版使用。- 由华为、百度、腾讯、 360、浪潮等发起成立的开放原子开源基金会填补了中国没有开源基金会的空白,尽管它还远不能与Linux基金会、 Apache软件基金会相提并论,但在开源领域依旧备受瞩目。- 部分领先的中国企业不满足于拥抱开源,希望通过开源模式来对创新技术进行引领,如商汤的OpenMMLab计算机视觉开放算法,矩阵元的Rosetta隐私Al开源框架、阿里的RockeyMQ海量信息中间件、京东的JD Chain开源区块链、百度的PaddlePaddle深度学习平台和Apollo自动驾驶平台、海尔卡奥斯COSMOPlat工业互联网平台的工业APP开发框架开源项目等。- 出现了一些原生的开源明星项目,如Apache SkyWalking、 Apache Echarts、 Apache loTDB、 TiDB,其中一些优秀的开源项目如TiDB备受资本市场的推崇,创造了全球数据库融资历史新的里程碑。  6. 中国开源发展现状- 中国开源技术和产业在总体上与全球其他国家相比,正在接近一流水平,但尚有差距,仍然处于追赶状态。近年来,中国开源的贡献在全球逐渐得到了公认。- 开源社区、开源托管平台、开源项目、开源教育体系、开源基金会运营、企业开源治理以及开源风险防范体系等方面,还存在诸多薄弱环节。 开源寄语 1. 开源价值特点开源模式实际上是一种依托互联网平台,大规模群体智慧通过共同参与和协作,不断累积智慧,实现持续创新的方法。 项目的核心开发人员与大规模的外围群体紧密合作,他们通过互联网来共享资源、开展协同开发、管理代码等,由此使得项目开发的效率、应对需求变化的能力大幅提升。1. 开源的本质、范畴及背后的价值 开源的本质在于开放、共享、协同,作为一种创新协作模式,开源已经不仅仅是开放源代码的软件技术开发,还包括更为广泛的开放技术领域及协同创新的理念与机制,总体包括开放科学、开源软件、开源硬件、开源技术、开源文化、开源经济等;2. 开源文化具有“创新、开放、自由、共享、协同”等价值取向和重要特征以**创新**为发展基轴,具有开放(开放标准、开放环境、开放源码),自由(自由发布、自由传播、自由复制、自由修改、自由使用),共享(共享资源),协同(协同开发、协同作业、协作生产)的特征;这种文化3. 开源是创新的基础无论是在全球范围还是中国国内,开源正在推动深度信息技术(云计算、物联网、社交网络、移动终端、大数据、智慧城市、区块链、量子计算机和人工智能等)的创新发展,是重要途径也是核心动力;为避免原创技术的流失,不能单纯限制孵化阶段开源代码的自由传播,可通过开源的商 业模式、安全模块、运维举措、生态系统所构筑的屏蔽层来解决。 2. 开源寄语 1. 空气检验开放源代码既是贡献的过程,也是接受大众考验的过程;开源社区开源文化客观上对参与开源生态所有人,都是一种检验(空气检验),在高水平的社区里对软件设计美学极致的追求,促进在代码、架构、团队、项目管理、软件测试、数据等领域不断地进行技术、理论、创意创新和发展,相关的文化土壤会孕育出新的技术、理论和人才。 [O‘Reilly-“之美”系列](https://book.douban.com/series/3366)2. 拥抱开源,打造作品、技术IP 在开源社区的土壤,足以把创新、创意变成优秀的软件作品,产生新的技术,新的基础理论,这个过程中也帮助参与生态的个人、团队、企业扩大影响,打造品牌IP,形成自己的生态。 附录 1. 开源许可证的区别 img src=https://oss.osrc.com/wiki/img/1658289009205_3.png width=100%