原创
为何开放源代码
2008-8-30 22:47
1534
1
1
分类:
工程师职场
载录《乐者为王——自由软件Linux之父李纳斯·托沃兹自述》一节文章
4、为何开放源代码
IBM是一个有压榨消费者历史的公司。它是通过迷惑公众并确保没有其他人插足来赚钱的。事实上,那正是大多数计算机公司的经营之道,其中一些公司由下而上依然在这样做。接着,当IBM
开发了个人电脑时,它无意识地公开了其技术,任何人都可以藉此复制。单单这一个行为,比任何其他事情都更加能够激发PC的革命,后者又进一步激发了信息革命、网络革命与新经济--不管他们将这一发生在全世界范围内的大规模变化称之为什么。
这是对于从公开源代码哲学中能够获得无限利益的最好说明。尽管PC并不是通过使用公开源代码模型发展而来的,但它却是这样一个例子,即某种个人或者公司公开的技术可以加以克隆、提升和出售。在其最纯粹的形式上,公开源代码方案允许任何人参与到他们的
开发商和商业操作上来。
无疑,Linux是最为成功的例子。
在我那脏乱的赫尔辛基卧室里发源的东西,现在已经成为世界历史上最大的合作项目。它始于那些认为计算机湖代码应该自由地共享的软件开发者们所共同认可的一种观点,将一般公众许可--即反版权--作为运动的强有力的工具。它现在已经进化成为最佳技术的持续发展的一种方法。而且它还在进一步发展,获得了广泛的市场认同。把Linux作为网络操作系统的做法,正在滚雪球般地在大众中扩散。
在这种观念的鼓舞下所发生的一
切,证明了它自身作为一项技术正运作于市场中。
现在,公开源代码已经发展到超出了技术和商业领域。在哈佛大学法学院,拉瑞.莱锡格教授(现在斯坦福大学)和查尔斯.尼森教授已经将公开源代码模型引入了法学界。他们启用了公开法律项目,这一项目是依靠志愿律师和法学院学生,将他们的观点和研究结论放在项目网站上以帮助完善论据和大纲,以对美国版权法案形成挑战。他们的指导思想是:当最大量的法学思维聚集在一个项目上时,将会形成最强有力的论据,通过粘贴和再粘贴,文章会形成信息的
海洋。该站点很好地概括了对传统方式的折衷:"我们在保密方面所推动的,我们预期在来源的浓度和论据的广度方面会重新夺得(将其意思在另一个领域中表达出来的话,那将是:如果有百万双眼睛来共同参与的话,则所有软件的缺陷都将消失)。
数年来学术研究是如何进行的,这一一直让人困惑,在众多领域里几乎没有几项是有意义的。想一想,通过在网上集思广益的方式可以在多大程度上加速疾病治疗方案的形成。或者,就某一任务而言,如果拥有最好的智囊团的话,则国际外交也能够加强。随着世界变得
越来越小,随着生活和商业的节奏加快,以及随着技术和信息变得可能,人们意识到那种技术封闭方式和吝啬的方式正变得越来越过时。
公开源代码的理论基础就是:简单化。在操作系统这一情形里,源代码--即那些构成系统的程序指令--是自由的,任何人都可以改进它、改变它和利用它。但这些改进、改变和利用后的源代码也必须是可以自由获得的。项目不属于任何个人,而是属于每一个人。通过将其开放,会产生迅速和边疆的改进。比之于封闭起来开发,其结果会出得更快、更成功。
那正是我们开发Linux时所经历的。想像一下:你旁边是一个庞大的开发队伍,而不是一个以秘密小组形式组成的开发团队。潜在地拥有数百万更加聪明的头脑来参与同一项目,并且有同行评论过程的支持,啊,这力量简直是无以匹敌的。
人们第一次听说公开源代码的方式,听起来有些滑稽。这也就是为什么经过了这么多年以后它的优点才被人们所了解。开放源代码的"思想观念"并不是传播这一模式的动力,而是因为人们开始注意到一个显然的事实,那就是公开源代码是开发和提高最佳质量技术的
最好方法。现在这种方式也在逐渐赢得市场,而市场的成功才使公开源代码获得了最为广泛的接受。围绕着无数的增值服务已经创建了许多公司。当钱财滚滚而来时,人们开始相信公开源代码的魅力了。
其中一个有关公开源代码的最令人不解的迷,就是为什么会有这么多优秀的程序员(最近一次的统计表明大约有七十五万程序员在从事Linux的开发与改进)在毫无报酬的情况下会如此投入地工作?用一个词来概括这种动机的话,可以说是"目标"。在一个生存或多或少已经有保障的社会里,钱财并不是
最大的激励因素。众所周知,当人们是由爱好和热情所驱使着的时候,往往能够将工作做得最好。对于剧作家、雕塑家和企业家是如此,对于软件工程师也是如此。公开源代码模式给人们提供了依靠兴趣与热情而生活的机会。享有乐趣以及与世界上最好的程序员一起工作,而不是与那些恰巧为他们的公司所雇佣的少数几个程序员一起工作,是一种无与伦比的享受。公开源代码开发者努力工作着以赢得他们同行的尊敬,那当然是一种高度有效的激励。
看起来比尔.盖茨并不理解这一点。可能他现在被他自己在1976年所提出
的一个令人不愉快的带修辞色彩的问题所困惑:"你所需要做的一件事,就是防止别人写也好的软件。谁能够毫无报酬地做一项专业工作呢?"他在公开源代码程序员们写的一封信中再次提出了这一观点。
事实上,理解公开源代码现象的一种方式是:想像一下几个世纪以前,科学是如何被信仰所感知的(如今的情形如果不是这样的话,那就是被某些人所感知)。科学最初是被视为某种危险的、具有颠覆性质的以及是不允许从事的事情--基本上就是现在的软件公司有时候看待公开源代码的方式。正如科学的诞
生并不是想要破坏宗教制度一样,公开源代码也并不被视为是要粉碎现有的软件体系。这只是想要开发出最好的技术,并看看这种技术可以达到何种程度。
科学本身并不挣钱。创造所有财富的正是科学的辅助作用。对于公开源代码也是如此。它允许挑战现有商业的辅助行业的产生,这一点非常相似于科学的波浪前进对于教堂的挑战。你会发现一些小公司,例如VA Linux,利用了公开源代码而突然能够与传统公司相竞争了。用伊萨克.牛顿爵士的话来说,那就是站在了巨人的肩膀上。
是的,随着公开源代码在世界经济
中获得了动力,随着其开发者们获得了认可,他们也越来越被银行接受。公司们开始寻找信用清单,以便决定谁做出了最多的贡献。然后他们通知他们的人力资源部付出钱财与股票。
在前面一段中我曾经声明,钱财并不是最大的激发因素,是的,我现在并没有改变我的观点。但我必须指出,人微言轻和辛勤工作的报酬相比,钱财并不是一件坏事。当说到给我的宝马汽车的油箱加油时,有了钱财自然是更加容易。
正如科学自身一样,公开源代码的辅助作用是无穷无尽的。它正在创新出
一直到最近都被人认为是不可能的事情,并且打开了许多未曾预料的新市场。有了Linux以及其他一些公开源代码项目,公司们就可以做出它们自己的版本,按它们自己的意愿来加以改变,这些若是以其他方式进行的话则是不可能的。意识到以下一点是很令人振奋的,通过Linux所做的一切事情在一开始就不是孤独无助的。
Linux现在在中国正在迅速成长。传统上,亚洲的软件开发主要是翻译美国或欧洲的软件。有一次在计算机分销商展览会上,一个小伙子走向我,想向我展示用在Linux上的加油泵软件,那一
刻我很为他感到自豪。这是一个运行于Linux环境下的典型的加油泵软件,他想做个网页浏览器以便加油的顾客可以在等待油箱加满汽油的这三分钟时间里可以上网浏览CNN.com。他们也是站在巨人肩膀上。
人们正在利用诸如Linux之类的技术,尽管有时仅仅是为了做一个更好的加油泵,这一点是令人振奋的。那种创新最有可能发生在一个公司范围内,因为如果你是一个将Linux带入市场的公司的话,你将很显然地会步入这里,当然现在已经是服务器市场或者是高端桌面系统市场。因此它是嵌入设备式的
Linux。它是运行于Linux的电话程控交换。这也就是何以会有数以十亿美元计的财富是来自于公开源代码。
这情形就像是让宇宙自己照顾自己一样。不控制技术,你也就不会限制其使用。你使人们可以获得它以及人们可以做出自己的决策--利用它作为他们自己产品和服务的启动桨。尽管在更大范围上说,大多数这类决策并没有多大意义,但它们实际上却运行得很好。我并不是在试图扩散Linux,而是希望人们能够获得Linux并让它自己扩散自己。而且这一原则并不仅仅适用于Linux。它还适用于一切开放的项目。
人们对于言论自由的需求并不会持有异议。它是人们可以用自己的生命来捍卫的自由。自由总是某种你必须用你自己的生命来捍卫的东西,但它并不是一开始就很容易能够做出的选择。对于公开源代码也是如此。你不得不做出决定,你要公开源代码。最开始这是一个很难采取的姿态,但是实际上最终创造了更强的稳定性。
想想政治。
如果将那些反对公开源代码的逻辑应用于政治中,则我们将总是会采取一党统治。显然,一党统治远远比我们现在的多党制更为简单,而后者是世界大
多数国家所实行的公开政治体系。在一党制的情况下,你根本不用担心与其他人保持一致的问题,因为人们必须保持一致。如此推理我们可以得出结论,政府太重要了,以至于没有必要把精力浪费在妥协和开放上。不知道为什么将这一原理应用于政治与政府时,人们看出了其中谬误,然而应用于商业时却看不到。具有讽刺意味的是,在商业中开放会使人感到不安。
公司为了阻止公开技术而提出的理由是令人信服的。"生意可不是那样做成的",管理者会如是说。公开技术感到害怕。人们惧怕变化,部分地是因为他们
并不知道最终的结果会如何。通过维持现状,公司可以就其何去何从做出更好的判断,而有时候那比获取巨大成功还重要。正是这些公司,他们需要的是可以预料的成功,而不是不可预料的真正的、真正的、真正的成功。
对于一个公司而言,将现存的产品变成公开源代码产品并不很容易,其中存在着大量棘手的问题。首先,经历了数月或数年的过程,它才开发了该产品,公司已经积累了大量的内部知识。这类内部知识产权是公司的支柱。组织并不愿意放弃其赖以生存的知识产权,但也正是这一内部知识的存在,给外来者们
设立了障碍。这种障碍打击了他们参与进来的积极性。
然而我已经看到了不少公司从封闭转变到开放。其中的一个故事便是Wapit公司。它是一家为各种交互式设备设立服务并提供基础设备支持的芬兰公司。这一项目涉及公司的墙壁电话式网络服务器。对于他们而言,开放他们的软件的源代码的决策是具有最完美的意义的决策。他们想建立自己的服务业务,但他们首先必须建立自己的基础设施,那就需要编写大量的软件。这必然是很不妙的。因此他们不是把让别人获得他们的知识产权视为一种决策,而是以这种
方式来看待这一问题:编写软件花费了大量的工程师的时间,但它却并不是从公司固有的资源中创立的某种有价值的东西。
有些事是按照Wapit公司的意愿来进行的。首先,它并不是一个很大的工程。其次,公开源代码的决定是在公司建立早期阶段就已经做出了的。管理部门推理认为,它拥有内部资源来开发产品,但它希望更进一步开发出比原有内部资源更多的东西。这也决定了公开源代码是将工作分析程序更进一步作为其他人从事工作的标准的一种更强大的方式。
在这场博弈的早期阶段,公司曾向我征求意见。我告诉他们需要克服在内部作出决策的冲动。我建议如果他们开会来商量决策的话,那些会议不应对外封闭。将决策过程维持在公司内部,他们将会冒把公司与外部世界孤立起来的危险。那些公司外部的人们将难以穿越公司的网络。那是一个公司环境的建立和维持公开源代码项目的主要问题。对于公开源代码,光嘴上说说很容易的。它可能会在无意识中堕落为一个两层社会:"我们"与"他们"。大量的决策是以一种简单的方式来进行的--坐在餐厅桌上讨论选择余地或设计一次市场调查,而
不是将讨论对外部开放。外部的那些有着很好的意见的人们从根本上被这一事实所否定了,即决策已经在公司的餐厅里决定了。
这也是当时困扰着网景公司的其中一个问题。那是在紧接着1998年春天,公司一个非常具有先兆性的开放其下一代网络浏览器源代码(被称为Mozilla)的几个月时间。公司真正实现其开放源代码的承诺是花了很长时间的。这变成了网景内部人的阵营,这些人并不接受外来的小补丁程序。公司里每个人都彼此认识。而且,即使他们不是实际围坐在咖啡厅里进行决策的话,那也会是在
一个让内部人感觉彼此靠得很近的虚拟的咖啡厅里。结果,不但外界没有把网景的某商业项目开放代码视为第一次伟大的经历,反面产生了负面的新闻报道。当有关其内部决策的消极的话传出去时,网景公司再也无法熟视无睹了,于是他们将源代码向外部人员开放了。现在,这一项目看来更具有活力。
Sun系统公司也在以它自己的方式,试图将公开源代码一事提上议事日程。
当人们第一次听说开放某一现存的商业项目的可能性时,他们趋向于提出同样的问题。其中一个问题是:公司内部人员将如何看待从事一项外部人员的
生产工作的可能性,而这一由外部人员所从事的生产工作比他们自己的工作做得还好,而且外部世界也能看到这一点。我以为他们应该对此感觉良好,因为他们即使不用做大多数工作也依然能够获得报酬。就这一点而言,公开源代码--或公开任何这类事情--对他们来说是无可原谅的,它显示出了谁能将工作完成,谁能做得更好。你无法向管理者隐瞒你的无能。
公开源代码是利用外部资源的最佳方式,然而你依然需要有人在公司内部工作,以便追踪公司的需求。这个人甚至可以不是项目的领导者。事实上,如
果外部的某个人来无偿地代替这一职责的话,对于公司而言可能是有好处的。如果外部的某个人做得更好,那自然是好事。但问题在于,外部人员也可能将项目引导入一个并不满足公司要求的方向。因此公司自己来负责需求。项目的开放使公司有可能缩减自己的资源,但那并不意味着它没有本地资源可以利用。项目可能扩展到比它自己单一一个公司时更大的程序。外部资源使得公司成为一个更加便宜、更加完善和更加平衡的系统。当然还存在着另外一方面问题:这一系统不再仅仅将公司需求考虑进去,它实际上还考虑了顾客的需求。
可能在整个过程中最令人感到烦恼的是放弃了自己的控制,不得不接受一个事实,即外部可能实际上做得更好。
另一个困难是在公司内部找到一个强有力的技术领导。必须是这样一个人,即每个人都在两个层面上相信他--技术层面与政治层面。这个人必须是这样一个人,即他能够认识到这一事实,项目从一开始就有可能会失败。这一领导不是试图隐瞒这类问题,恰恰相反,他必须能够说服每一个人,最好的办法就是返回去开始,这意味着极大的麻烦。这并不是人们想听到的信息。然而,它来自于一个受人尊敬的人之口,它将是人
们愿意接受的信息。
考虑到办公室政治的特点和公司典型的运作方式,他必须是一个具有相当强的人格魅力的人。
技术领导人应该是喜欢以电子邮件的方式工作并且没有偏袒之心的一个人。我并不想使用"联络"这个字眼,因为那意味着存在两个不同的阵营--内部阵营和外部阵营。那并不是应有的方式。这一技术领导人从开放源代码的公司获得。他知道,任何其他人也都知道,他并不是按照公司相应的职位来获得报酬,他是因为做项目而获得报酬。将这一领导与公司太密切地联系在一起是很
危险的。人们可能相信他或她的技术能力,但未必相信其非技术方面的判断。
公司内部是否有人可以充当外交官?
这就像是说"给我找一个诚实的人"。
这就是为什么在过去数年间,我竭力试图避免与生产Linux产品公司有瓜葛。我信任我自己(嗯,我确实信任我自己)。但那还不够,我还得向所有其他人清楚地表明,我实际上是值得依赖的。这一点变得越来越关键了,因为现在钱财正在成为现实。周围有如此多的钱财滚滚而来,人们开始质疑你的动机了。
对于我而言,我一直被认为是中立者这一点对我是有利的。你可能无法想象对我来说维持这一中性立场有多么重要。它使我坐立不安。
好了,你是对的,我应该停止鼓吹。
公开源代码并不是对于每个人、每个项目或者每个公司都适用的。但是,人们对于Linux的成功观察得越多,他们就越能够意识到,这并不是一个喜欢空想而又无知的高中生的激昂演说。
开放一切事物,就会产生各种可能性。
五年前,一位记者曾经就公开源代码的问题对我提问。自那以后,我就一
直在谈论公开源代码。过去你不得不解释,并要解释清楚其重要意义是什么。坦白地说,这就像是一次无穷无尽的艰苦跋涉。像是在泥潭中跋涉。
现在人们理解了。
文章评论(0条评论)
登录后参与讨论