1946年,人类发明了第一台计算机。
计算机一开始就是由软件和硬件共同组成的,但软件和硬件的发展,早期却未能并驾齐驱。相反,在很长一段时间里,软件都是作为硬件的附属而存在的,甚至“软件”(software)这个单词,也远远滞后于“硬件”(hardware)这个单词,直到1958年才正式形成的。
但接下来的半个世纪,软件产业却经历了从无到有、跌宕起伏的发展,形成了一个庞大的产业。在这个风起云涌的过程中,一些公司和个人,在其中扮演了极为重要的角色。
1955年,IBM的两名雇员辞职,创办了全世界第一家专门的软件公司:Computer Usage Company(CUC)。尽管走的是“一对一定制”的商业模式,CUC也不断发展壮大,到1967年,已经拥有了700多名雇员、年收入上千万美元,成了上市公司。
在软件业的发展过程中,美国联邦政府也起了举足轻重的作用。整个软件产业最早是由个别大项目推动的。这些大项目,基本上都是由联邦政府认购、买单。其中最大的项目之一,是美国国防部和IBM在1959年开始合作的一个防空项目(Semi-Automatic Ground Environment),该项目致力于用计算机软件处理雷达收集的信号,侦察、跟踪天空飞行物的活动。
这个项目,前后跨度近30年,耗资近百亿美元,它不仅帮助IBM成为软件产业的巨头,也为美国培养了一大批程序员。类似的大项目成了程序员的摇篮和“西点军校”。
1969年6月,IBM宣布,将从1970年起停止免费配送软件的做法,软件和硬件将分开定价。这个软、硬件分拆的决定进一步推动了软件行业的兴起,新的软件公司如雨后春笋般破土而出,用户开始在硬件提供商之外寻找、购买软件解决方案。
1970年代中期,个人电脑问世,随着电脑进入千千万万个普通家庭,软件开始真正具备成为大众化商品的可能性。
但真正把软件产业推进到商业帝国的,却不是IBM,而是一个年轻的后起之秀:比尔·盖茨。这位辍学者,最后一手造就了一个世界级的软件帝国。
1976年2月,盖茨发表了一封著名的信件:《致爱好者的公开信》。他在信中谴责一些用户没有付费就使用微软公司的软件产品,并断言,这种不尊重版权、非法复制的做法将会阻碍、打击软件业的发展,他质问道:
“有谁会愿意免费、义务地从事如此专业的工作?哪个业余爱好者能投入3年的人力去开发、调试、编写文档,然后免费发布一个软件产品呢?”
盖茨的这封信被后世认为是软件产业的一个重要里程碑。
此后,软件被理所当然地视为一种专利,是私有的,几乎所有的软件公司都开始拒绝公布源代码,商业软件开始大行其道。这种拒绝公开源代码的软件,后来被称为“专有软件”(Proprietary Software)。比尔·盖茨的声明,引领了一场软件商业化的大潮,也导致了专有软件的盛行。
比尔·盖茨固然是一代英雄,但他很快就受到了挑战。他的论断——“没有人能够免费地从事专业性的开发工作”、“软件的开发应该专有、应该封闭”,后来被事实证明是错误的。
新的挑战者具有很强的理想主义色彩。他们反对专有、反对封闭、反对商业化,他们认为封闭性的软件是一种自私、狭隘的做法,束缚了人类的创造性,阻碍了软件技术的传播和交流;他们强调自由、强调开放、强调创新,要求软件开发人员公开原始代码,认为这种公开不仅能提高软件行业的效率和效能,还有利于学习、交流和创造,为人类社会贡献最大的价值。
1983年,麻省理工学院人工智能研究所的一名资深程序员理查·斯托曼(Richard Stallman)发起了著名的GNU项目,目标是通过程序员之间自由的、志愿的协作,开发一套自由的、开放的操作系统,与定价销售的专有操作系统抗衡。1985年,他又成立了自由软件基金会(FSF),为GNU项目提供法律、经济和技术上的支持。这个不可思议的浩大工程,在1991年,因为另一位伟大程序员林纳斯·托瓦兹(Linus Torvalds)的突出贡献,最后成功实现。
这个免费的操作系统就是现在大名鼎鼎的“Linux”。
从1990年代起,互联网的普及更为轰轰烈烈的软件自由运动推波助澜,这时候的开放原始代码,不仅意味着在互联网上公开自己的代码,还意味着和分散在世界各地的程序员通过网络进行交流和协作。
1997年,埃里克·雷蒙(Eric Raymond)出版了《大教堂与集市》,他在这本书中详细地论述了开放原始代码的好处。他将传统的从上至下进行控制的软件开发方法比喻为“大教堂”,而通过互联网上公开分享自己的代码,就好像把一件商品放在了集市之上,自由地让别人浏览、评价。雷蒙总结道:
“足够多的眼睛,将使所有的错误都无所遁形。”
雷蒙认为,Linux的核心开发人员林纳斯·托瓦兹就是这种集市模式的首创者,他因此将以上结论称为林纳斯定律(Linus'Law)。
集市模式的关键,不仅在于开放,更在于通过网络的交流、分工和协作。它的提出,不仅对软件开发本身,甚至对互联网时代的商业模式,都产生了深远的影响。例如,维基百科就是按集市模式通过大众自由协作而产生的,而网络版的大英百科全书则是典型的大教堂模式。
随着越来越多的公司和个人采纳了开放源代码的做法,1998年2月3日,主张开放代码和软件自由的各路精英齐聚硅谷,为这场运动正名,最后一致同意将这种发布代码、其他程序员可以对其进行自由修改并重新发布的做法称为“开源”(Open Source)。没多久,一个新的公益组织开源促进会(OSI)诞生了,雷蒙担任了首任主席,该组织很快为开源软件制定了十个标准,这些标准,获得了全世界软件行业的认同。
开源,不仅意味着以开放的姿态进行知识共享,还代表着自由、平等、协作、责任和乐趣等等理念。
林纳斯曾经就开源问题与微软公司的高层展开过激烈的辩论。微软公司批评开源运动严重地破坏了知识产权、扰乱了软件市场,林纳斯则反击微软是一人独大、金钱障目,他后来解释他的初衷说:
“一个人做事情的动机,可以分为三类:一是求生,二是社会生活,三是娱乐。当我们的动机上升到一个更高的阶段时,我们才会取得进步:不是仅仅为了求生,更是为了改变社会,更理想的是——为了兴趣和快乐。”
这段话,是开源领袖们的价值宣言,也深刻地解释了开源运动为什么能够成功的原因,因为其经典,被称为“林纳斯第二定律”。
在软件开源的运动当中,还有一个人占有历史性的地位,他就是世界闻名的计算机书籍出版商蒂姆·奥莱理(Tim O'Reilly)。奥莱理也是开源运动的坚定支持者,他常常自己掏腰包,赞助开源社区的活动和会议。1999年,他的出版社奥莱理媒体(O'Reilly Media),推出了全世界第一本开源文集:《开源革命之声》。此后,“开源”的概念才开始慢慢走出程序员的群体,成为一个广为人知的概念。
(本文摘自《大数据》,涂子沛著,广西师范大学出版社2012年7月第一版,定价:45.00元)