前一阵子,微软开放了.NET的部分源代码。有一些开源人士就开始闹腾了,说微软是伪开源,因为微软的协议是“只让看,不能摸”;或者说微软别有用心,想搞垮Mono(另一个.NET实现)。更有甚者说微软完全没有领会开源和自由软件的本意,在开源社区乱搅浑水。
我不止一次讽刺和挖苦过国内叫嚣开源的人,包括倪光南。当然,这显得有一点不合适。但有一点我可以非常肯定的说,那就是所谓的“开源运动”救不了中国。中国的软件人就像清朝末期那样,老想找到一种制度或者方法能够拯救中国的软件。于是这些人到世界上一看,哇,“开源”,多么时髦一个词语,而且大家都讨论得很热烈。那么,这些人就毫不思考就把“开源”和所谓“自由软件”的理论搬到中国,试图把中国软件的振兴寄托到了这个运动上。
我感到十分可笑。
老实说,我使用了不少开源软件,但是这些软件有一个特点,那就是它们肯定首先是“软件”。说这话的意思是什么呢?就是说,软件是否开源不重要,重要的是软件的质量,重要的是软件能否帮助人解决问题。我的理论很简单,中国现在根本就不是软件开不开源的问题,而是开发软件就不行。商业软件不行,开源软件还是不行。开源又不是灵丹妙药,哪儿有什么软件本身不开源且质量很差,一开源就能够质量变好?这种思维就有问题。
第二个非常搞笑的是,中国提倡开源的人最喜欢套用的话就是开源能够节约成本。他们抵制微软的原因是因为微软的软件价格太贵。买不起正版,就叫嚣正版不好。我不知道这样说好不好,如果Office 和Open Office都是免费,我看谁会用Open Office。可是问题关键是,开源软件和免费软件是两回事情!RedHat的企业套件虽然基于Linux,可是那是要付费的!而且价格不菲,否则RedHat拿什么吃饭?Eclipse是免费的,但是IBM的诸多商业软件(均基于Eclipse)都是要付费的,价格不但贵,而且都是不开源的!价格是一个因素,但是因为价格而支持开源,简直就是牛头不对马嘴。
第三个问题是我反复说过的。对于广大中国的用户来说,其实对世界用户一样。那就是一个软件开源与否没有意义。我使用一个Word,我就要功能强大,能够处理我日常的要求,界面漂亮,使用顺手。我才不管我是否能够查看软件的源代码。我估计80%的普通用户一辈子也不需要或者不可能去接触到源代码。软件开源根本就没有意义,对普通用户而言。前面我已经说过了,开源不是免费。我买一个软件,我只看质量如何,我只看是不是值那么多钱。源代码给一个不懂编程的人来说,如同废物。
退一步说,对于程序员来说,所有软件都开源了,也未必就是一个很诱人的因素。除了心里的满足以外,没有带来在使用中的任何便利。我说这个毫不夸张。假如Windows和Office开源了,并且安装以后随时都能调试和看源代码。这对我有意义吗?首先,两个软件的源代码都是千万行级的。我可能为了找一个常量的定义就要花一个小时,或者把几个函数的调用搞明白都要花好几天时间。我日常工作根本不可能接触源代码。
就像Linux一样,很多发行版本的Linux都附带了源代码。但是客观地说,有多少用户能够去接触Linux的源代码?包括一般的程序员都不可能很多。稍微高级一点的用户能够修改配置文件,写一些脚本就已经很不错了。你指望用户隔三五岔地就去重新编译内核?谁疯了去这么干。
所以,对于普通用户和60%-70%的程序员来说,开源并不是什么必须的事情。更不是选择软件的标准。这个不是酷不酷的问题,而是智商问题。
好了,再说说开源和中国软件业。毫不客气地说,不管是使用开源软件还是开发开源软件,中国都未入流。原因就是,有一些所谓关心中国软件业的和提倡开源的人士把开源和免费软件等同起来。在国内大环境不好的情况下,谁还支持开源?开源就意味免费,你还要不要软件商活命了?好了,即便是不免费。那么,国内哪个开发商敢把自己的软件开源?
微软开源其实是一步很重要的举措。有人说“只让看,不让摸”。我还不客气的说,有多少人能够“摸得动”?我们不谈自己的水平,老是盯住别人看,觉得别人不让我们“摸”,就是歧视大家,就是不理解开源。好了,你先看懂了再说,特别是中国人。别人说“不让摸”没准别人有人有能力去修改,有人有能力去再创造。我还是提醒中国的开发者,你先全部看懂了再说。
再说微软有没有不可告人的目的。那我就想问问了,IBM有没有不可告人的目的?Sun又有哪些不可告人的目的?
奇怪了,Apple公司的大多数产品都不是开源的,Adobe公司的产品也都不是开源的,怎么大家不闹呢?没听说谁强烈要求Adobe 把Photoshop开源?
这是态度问题。所谓支持开源,其实很虚伪。
没有评论:
发表评论