目录
文章目录
- 目录
- 前言
- 开源决胜未来:闭源摧毁 UNIX,开源成就 Linux
- 开源创新:软硬件协同,共建开源生态
前言
开源原子基金会作为国内首家开源基金会组织,由其主办的首届 “开放原子全球开源峰会” 也是第一次被冠以 “全球开源” 之名,旨在聚焦全球开源发展成果展示,也肩负了将中国开源力量推向世界舞台的历史使命。在这一天紧张而充实的参会活动中确实也让我深刻的体会到了国内开源事业发展的激情活力。尤其是 Intel x86 CPU 平台和国内知名操作系统社区 OpenEuler、OpenAnolis、OpenCloudOS 携手共建的开源生态合作案例,更凸显了国际化协作以及本土化落地的重要价值。
而作为一名长期的开源技术爱好者和代码贡献者,我对能够有这样与众多 “同好者们” 一起交流技术和碰撞想法的机会感到非常兴奋,认识了新朋友也见到了老朋友,可谓满载而归。就像 Linus 所说的那样 “开源是一群理想主义者的狂欢”,我们彼此交流、抱团取暖、凝聚共识,为了心中共同的理想而努力,这是一种美好的状态。
在本篇参会总结的文章中,我主要想与大家分享 2 点让我最深刻的感受:
- 从开源发展历史的角度看,开源赋能不仅仅是普惠未来,更是决胜未来。
- 从 Intel 赋能国内软件共筑本土化开放生态的优秀案例看,开源的创新离不开更多的国际化合作。
开源决胜未来:闭源摧毁 UNIX,开源成就 Linux
这次开放原子全球开源峰会的主题是 “开源赋能,普惠未来“,体现了主办方所倡导的 “科技向善,普惠社会“ 的崇高理想。而在亲身参与了这次会展活动之后,我更愿意将其定位为 “开源赋能,决胜未来“。要解释这个结论,我觉得还需要从历史说起。所以在下文中我们不妨先一起回到开源的起点。因为回顾历史,是为了更好的展望未来。
UNIX 最早成型与 1974 年,由 Bell Lab(贝尔实验室)的 Ken Thompson(肯·汤普逊)和 Dennis M.Ritchie(丹尼斯·里奇)共同开发。最初,Bell 为了更好的推广 UNIX 而选择了公开其的源码,这也很快就引起了学术界的广泛兴趣。所以,UNIX 第 5 版就以 “仅用于教育目的” 的协议,提供给各大学作为教学之用,成为当时操作系统课程的范例教材。
但好景不长,由于当时 Bell 所属的 AT&T 公司受到了美国《谢尔曼反托拉斯法》的影响,不能销售除了电话机、电报机等之外的商品,甚至后来被拆解成 “AT&T 七子“。而在 AT&T 被反垄断法拆解后,从法律许可上就可以开始对外售卖 UNIX 了。为了盈利,AT&T 开始了声势浩大的 UNIX 商业化进程。1979 年,AT&T 推出基于 UNIX 第 7 版的 System V,但同时特别声明 “不再对学校提供源码”。在那时,用户如果想继续使用 AT&T UNIX 就需要购买 4 万美元一份的授权,对于那时的大多数用户而言都是无法承受的高昂价格。
总体而言,在 1970-80 年代,应用最为广泛的 UNIX 操作系统更多的是一个闭源的商业软件。这让当时许多 UNIX 的爱好者和软件开发者们感到相当的痛心和忧虑,他们认为商业化的种种限制并不利于产品的发展,还可能会因为利益纠纷导致诸多的问题。于是,这群 “反叛者们“ 开始有组织地结成联盟,以此对抗欺行罢市的 UNIX 商业化行为。而 GUN 计划则给了 UNIX 最致命的一击。
1983 年,麻省理工学院的程序员 Richard Stallman(理查德·斯托曼)认为 UNIX 是一个相当好的操作系统,如果大家都能够将自己所学贡献出来,那么这个系统将会更加的优异,并提出了 GNU(GNU’s Not Unix)计划,其中一句口号就是要 “重现当年软件界合作互助的团结精神”。
Richard 倡导 Open Source 的理念,希望发展出一套完整的、开发源代码的操作系统以取代 UNIX,志在创建一个完全兼容 UNIX 的自由软件生态环境。我们知道,一个完整的操作系统是需要包含许多软件的,除了最重要的 Kernel 之外,还需要有编辑器,编译器,Shell、视窗系统等等一系列软件作为支撑。Richard 早期的捐助者大都是新踏入 UNIX 土地的老牌 ARPANET(阿帕网)黑客,他们对代码共享的使命感异常强烈。
到了 1990 年,GNU 已经开发出的一系列的开源软件,被称为 GNU 套件,包括:GCC(GNU Compiler Collection,GNU 编译器集合),GLIBC(libraries,函数库)、GDB(debugs,调试工具)、TeX(文本编辑器)、Emacs(一个功能强大的文字编辑器)、X Window 视窗系统、Apache HTTP 服务器,以及 UNIX Shell 等等。唯独缺少了一个操作系统内核(Kernel)。
另一边,在 UNIX 需要支付昂贵的授权费用后,很多大学不得不停止对其的研究。所以 1987 年,荷兰有位大学教授 Andy Tanenbaum(安德鲁)写了一个 Minix 操作系统,类似于 UNIX,专用于教学。当 Minix 流传开来之后,世界各地的黑客们纷纷开始使用并改进,希望把改进的东西合并到 Minix 中,但是安德鲁觉得他的系统是用于教学的,不能破坏纯净性,于是拒绝了代码的合入。
1990 年,Linus Torvalds 还是芬兰赫尔辛基大学的一名学生,最初是用汇编语言写了一个在 Intel 80386 CPU 保护模式下处理多任务切换的程序,后来从 Minix 得到灵感,进一步产生了写一个比 Minix 更好的操作系统的想法。于是 Linus 开始围绕着 Intel 80386 CPU 编写了一些硬件设备的驱动程序,以及一个小的文件系统。就这样诞生了 Linux 0.0.1(Linus’s Unix)版本。
1991 年,Linus 编写了与 UNIX 兼容的 Linux Kernel 并在 GPL 条款下发布。随即引起了黑客们的注意,通过网络加入到了 Kernel 的开发工作中。由于一批高水平黑客的加入,使 Linux 发展迅猛,几乎一两个礼拜就有新版或修正版的出现。
1993 年底,Linux 1.0 终于诞生了!Linux 1.0 已经是一个功能完备的操作系统 Kernel,代码实现紧凑而高效,可以充分发挥硬件的性能,在具有 4M 内存的 Intel 80386 CPU 上也表现得非常好。直至今天,Linux 社区的开发者们依然认为在 Linux Kernel 里进行开发才是真正的编程。
后来开源运动的吹鼓手 Eric Raymond(埃里克·雷蒙德)写了一篇文章《大教堂与集市》来分析 Linux 的开发模式。大教堂要设计好图纸,动用优秀的工匠,有序的工程计划才能修筑,闹哄哄无序如菜市场的一拨人能不能修一座大教堂?答案是可以的,因为他们建成了。关于 “大教堂”(集权、封闭、受控、保密)和 “集市”(分权、公开、精细的同僚复审)两种开发模式的对比成为了新思潮的中心思想。这个新思潮对 IT 业产生了非常深远影响。为整个计算机世界带来了革命性的价值观。
由于 Linux 诞生即开源,其良好的开放性使得几乎所有 GNU 计划中的、运行于用户空间的软件都可以在 Linux 上使用。1992 年,Linux 与 GNU 套件结合,一个完全自由的开源操作系统诞生了。由于其所具有的开放性和自主性,越来越多的开发者开始从 UNIX 转向 Linux,并参与了 Linux 的开发与修改,Linux 也逐步成为了最受欢迎的 GNU 软件开发及运行平台。在软件的世界,开源意味着自由,是 “秩序反叛者们“ 的乐园。
1995 年,Linux 从 Apache 开源软件基金会找到了自己的杀手级应用 — Apache HTTP Web Server。很快,运行 Apache HTTP 的 Linux 服务器成了全球 ISP 平台的首选。当时,约 60% 的网站选用 Apache。时至今日,LAMP(Linux、Apache、MySQL、PHP)仍是一个非常经典的组合。
从这段历史中我们可以感受到,最近几十年来,数字技术的迅猛发展使得知识的共享和普及变得更加便捷和广泛,开源赋能的理念成为了推动人类社会进步的重要力量。这种开放的文化和合作的精神,为创新和发展提供了更加广阔的舞台和更加强大的竞争力。以国家科学院梅宏院士的一句话来总结就是:“抱团取暖“ 一直是开源发展的重要驱动力。而 “抱团取暖“ 是对抗垄断的有效手段。
开源创新:软硬件协同,共建开源生态
提到开源,也许大家最先想到的就是开源软件。但实际上软件的世界一直以来都离不开硬件的支撑。这一点从 Linux 操作系统的发展历史中可以看出。Linux 从诞生之初就一直围绕着 Intel CPU 平台所提供的特性功能进行开发,同时 Intel 也一直都是 Linux Kernel 最核心的代码贡献者之一,以较新的 Kernel v5.10 为例,Intel 无论实在 By changesets 和 By lines changed 贡献指标上都名列前矛。
我们都知道 Intel 多年来一直为全球客户提供了最先进的 CPU、GPU、FPGA 和 IPU 产品,所以广大的开发者朋友们难免会认为 Intel 是一家纯粹的硬件公司,但这次在参加了由 Intel 主持的 “软硬协同开源分论坛“ 并与多位 Intel 专家们交流后,我更加全面的总结 Intel 公司目前的 2 个核心定位:
- Intel 是一家数据公司,致力于挖掘客户数据的价值。
- Intel 是一家软件优先的公司,致力于让软件发挥出更高的业务性能和满足更多的业务场景需求。
我认为最典型的例子之一,就是 Intel x86 CPU 平台和国内知名操作系统社区 OpenEuler、OpenAnolis、OpenCloudOS 携手共建的开源生态合作上。Intel x86 CPU 作为全球最广泛应用的处理器架构之一,具有强大的计算能力和广泛的兼容性。而在操作系统领域,国内的知名操作系统社区 OpenEuler、OpenAnolis、OpenCloudOS 都致力于构建本土化的操作系统,满足国内用户的需求和特点。
这个合作案例突出了国际化协作在技术创新方面的重要性。Intel 作为全球领先的芯片制造商和技术创新者,具有丰富的经验和技术资源。通过与国内开源操作系统社区的合作,双方能够充分发挥各自的优势,共同解决技术挑战,推动技术创新。这种国际化协作不仅促进了跨地域、跨文化的交流与合作,也有助于提升国内开源操作系统在国际舞台上的竞争力。
同时,这个合作案例也凸显了国际公司在本土化落地实践方面的重要价值。开源软件的发展需要广泛的参与和代码贡献,因此本土化是其可持续发展的关键。通过与国内开源操作系统社区的合作,Intel 能够更好地了解国内用户的应用厂家和需求特点,从而在 CPU 架构、平台特性、性能优化和软件兼容性等方面进行针对性的支持和优化,并最终实现商业上的成功。
值得注意的是,在商业的世界里,开放协作从来都不是一件容易的事情。而开源所具有的 “抱团取暖” 的精神,以及开源社区所具有的 “凝聚共识” 的合作模式是让开放协作成为可能的关键。所以,我能感受到 Intel 和国内开源操作系统合作的成功案例背后,离不开开源精神和开源社区的合作模式。
开源社区形成了一个充满活力和创新的生态系统。在这个生态系统中,大家共同分享技术、经验和资源,相互借鉴和学习,促进了国际化合作和本土化落地的有机结合。所以说,中国开源力量要想走向世界,需要依靠更多的国际化合作。