一个人做事情的动机,可以分为三类:一是求生,二是社会生活,三是娱乐。当我们的动机上升到一个更高的阶段时,我们才会取得进步:不是仅仅为了求生,更是为了改变社会,更理想的是——为了兴趣和快乐。
——林纳斯·托瓦兹,Linux系统主要开发者、开源运动领导人,2001年一个新的世界:从软件开源到数据开放
开放的社会是这样一个社会:在这里,人们已经认识到,要多多少少用批判的眼光来看待禁忌,人们会把个人的决定建立在他们自己的才智和掌控之上。
——卡尔·波普尔(1902-1994),英国哲学家,1945年
我们正在进入一个新的世界,在这里,数据可能比软件还要重要。
——蒂姆·奥莱理,奥莱理媒体创始人、技术活动家,2007年 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,而是一个年轻的后起之秀:比尔·盖茨。
盖茨相信软件行业蕴藏着巨大的商机。1975年,20岁的他从哈佛大学退学,创办了微软公司,致力于软件开发。此后二十年,如滚雪球一般,微软公司迅速扩大,这位辍学者,最后一手造就了一个世界级的软件帝国。
1976年2月,盖茨发表了一封著名的信件:《致爱好者的公开信》。他在信中谴责一些用户没有付费就使用微软公司的软件产品,并断言,这种不尊重版权、非法复制的做法将会阻碍、打击软件业的发展,他质问道:
“有谁会愿意免费、义务地从事如此专业的工作?哪个业余爱好者能投入3年的人力去开发、调试、编写文档,然后免费发布一个软件产品呢?”