现在是 2016 年,你环顾一下四周,开源早已无处不在了。开源无论是规范、形式、以及面貌都和最初的大相径庭,然而事实上,这也预示着新一代的开源程序员们的崛起。下面我们尝试解释下。
(以下这一段落为作者自谦)
为了避免我是在互联网上散步谎言的嫌疑,我需要声明几代的想法纯属虚构。我很清楚这其中并没有某人是某人生理上的下一代,我清楚的意识到只是说哪些第一个写自由和开源软件的前辈们,而且说上个世纪的事情。
作者解释了题目,以免产生一些不必要的误解。比如 Python 编程语言的技术研讨会就会经常被环保主义者抗议。根据常识,一代这个概念用于衡量文化的变革是个非常不错的概念,如果读者能够从这个角度来看待自由和开源软件的话,我认为你可以很容易的看出三个分离的代。
第一代开源人
第一代是 Richard Stallman 那一代。Richard Stallman 在上世纪80 年代发起了自由软件运动,他们创建了 GNU 和 FSF ,而这就是差不多十年后 Linux 能够诞生的基础。他们也更加的倾向于视自由软件为一种道德讨伐,而且他们在相对主流的技术世界仍然是处于边缘的位置。
第二代开源人
第二代的来临则是伴随着 Linux 内核的诞生而开始的一代,他们是第一次能够访问能够正常运行的自由/开源操作系统的一代,而此操作系统是 Linus Torvalds 的内核加上 GNU 的套件组合而来的。
(作者在此声明,他至今没有完全搞清楚自由软件和开源软件的区别。)
关于自由软件与开源软件的区别,恐怕是作者故意所为,或者是讽刺那些视自由软件,或者对 GPL 许可证无视对人们的吧。
第二代相比于第一代要少一些思想,Torvalds 和他的追随者或合作伙伴们之所以青睐开源主要是因为其带来的功能,而道德的原因很小。他们认为这是一种更加有效的编码方式,能够以更加便宜、平民的方式使用电脑。但是,他们仍然保持独立,没有成为某些大企业的爪牙。
第二代开源人也是将 GNU/Linux 带入主流的一代。他们所写就的代码不仅是开源的操作系统更加的完善和实用,而且在追求至高,能够和专业的闭源平台进行正面的竞争。他们在上世纪末和本世纪初面临的是和微软这样的大鳄的艰苦斗争,关于此,年轻一代的程序员可能难以理解。在 2000 年左右的那些个不怎么活跃的开源程序员或用户,会想当然的认为,他们使用 GNU/Linux 并不会担心会被起诉。
当下这一代
也就是说的第三代的开源程序员和用户们,他们长大成人后,GUN/Linux 已经是部署在数百万台服务器上运行的操作系统了,此时已经没有人再质疑开放源代码的价值了。对于这一代人来说,开源是毋需争议的默认选择。
基于这个原因,什么理想、什么功能主义统统都销声匿迹了。今天多数的开源程序员不曾放弃代码是因为他们认为这是在道义上正确的事情,或者说他们认为这样更加的高效。他们这样做的原因其实是没有更多的项目让他们去选择。从云计算(其中,OpenStack 更是说明这事的根本)到大数据(什么 Hadoop、Spark、以及正在吞噬专有软件地盘到 NoSQL 数据库)乃至 SDN,甚至是 NFV,开源都是占主导地位的。如果你是在这些生态系统中做事情的话,你一定得用到开源代码。
很大一部分开源的支持者都毫无疑问的认为这是好事情。在另一方面,有些人也开始担心,开源界正在失去前两代人所努力争取的东西。对于许可证的使用的趋势基本都是 Apache,而放弃了 GPL,这对哪些认为 Apache 许可太过于宽松的人来说,更加的紧张不安。
同样,在开源领域,企业对其的影响是越来越大--尤其是大家最近争论的 Linux 基金会改变了某些章程--引起了社区各界的各种紧张。
最后说一点,声明这是非常重要的一点。开源社区最近几年在拉拢着微软,这虽然对于第三代开源人来说是比较正常的,但是那些曾经在昔日战斗过的人们是坐立不安的。
开源真的已经进入了一个全新的时代,再也回不去了?这是一件好的事情吗?这些都是很主观的问题。但是值得我们去深思,尤其是我们正在准备迎接 Linux 内核25 周年的这个时刻。
原文参考: FOSS history in retrospec: 3 generation open source coders and users
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论