矛盾双方,对立统一——open source不外如是

我个人是崇拜英雄的,一如我崇拜UCB的师生,他们对Linux的贡献精神。我喜欢从比较大的角度着眼,什么有利于人类的进步发展,我就觉得是好的。MS等公司的垄断市场的做法,显然对科技进步有阻挠因素,由于对知识产权的保护,源代码的不公开,导致不能利用全部人(特别是某些天才)的智慧来共同进步,主要的浪费体现在(从整个人类看)同样的知识重复研发,还有旧知识没有及时为新知识的研发提供平台,这就如同一个自私的巨人,不让你站在他的肩膀上面看世界,你要看得更高更远,请自己成长为巨人(还是在自私的巨人的打压中成长)。这也许就是除去经济冲突外的,MS等技术垄断型公司为人诟病的一点吧。

现在让我们来看看矛盾的另一面,open source,管你是不是天才,你能拿着现成的源代码,做出任何的修改,然后对外发布你的“杰作”,让人类分享你的智慧成果。听起来不错。慢慢品尝一下吧,或许你会发现里面甜中带酸。在计算机领域,我是这样定义天才的:每次对产品的改动,找到并消除一个bug,同时连带创造少于或等于一个bug的人。从一个动态平衡的角度,不难看出这个产品会越来越好。但可悲的是,在coding的世界里,这种天才绝对属于少数。如此一来,结果会变成如何呢?结果是,让人类分享你的“智慧成果”。

这些投放市场的产品,就如同没有经过质检的零件,而当需要他们组合成一个更大的产品时,情况可以变得更糟。就如同90年代的美国车和欧洲车的区别,每一个零件的质检要求都低一点,外加组装的随便一点,整辆车的性能寿命就不是只差一点点。有时甚至组装不起来,因为产品本身与声称功能远名不副实。我这几天把时间都花在尝试不同版本的RTAI,KERNEL,GCC之间的组合就是一个很好的例证。引申出来,open source也在不断的消耗人类时间精力,大家(除少数天才)在不太严肃认真的工作环境下,创造出一堆次品和废品,同时,把很大一部分时间,荒废在捣弄其他人之前产出的废品上,各人在为其他人的错误(创造的bugs)付出代价的同时,再制造一些新的错误留待后人品尝。

其实,到底open source与否,不重要了,矛盾双方,从来缺一不可。

真正有利于人类发展的,其实是open standard。PC机之所以能如此快速的发展,同时不可置疑的推动着人类进步(我认为的至善),全赖于当年IBM的open standard,“IBM兼容机”,多么响亮的一个词,到现在,终于稍微明白了。所谓兼容,只要你follow the standards,你就是一台IBM PC机。当然了,后来出现的不少兼容问题,都是当初的standard不够面面俱到导致的。MS也渐渐意识到这一点,积极参与了不少standard的建立,里面不可否认有经济因素的考虑(无可厚非,公司的最终也是唯一目的是利润最大化,这是我读企业管理的第一课就教的了),但同时也是在为人类做好事。

Leave a comment