中科红旗的总裁赵晓亮曾经用一个关于饮水的比喻来解释开源软件企业是如何赚钱的,大意是人每天都要喝大量的水,但饮水是在不同的环境下、不同的条件下进行的。虽然原料都是水,但性质已经发生了改变。而且水的加工程序越多,大家喝起来就越放心。Linux厂商也是同样的价值,大家的源头都是水,但水经过加工、处理,已经与原生态发生了很多变化,而且让喝水的人产生了很多安全感。安全感来自对生产瓶装水的厂商的品牌、技术实力的信任度,来自于对正规大厂的服务能力、可持续发展的信任度等。因此,“开源基础上的商业模式,应该就是服务的模式,通过增值服务来收取费用。”[张杰,中国计算机用户,Linux跨越分水岭 不仅是爱好者的天堂,20057]
这一比喻乍看起来很有道理,似乎很能说明开源软件是如何赚钱的,但仔细一想,发觉并没有说到点子上:它说明的是开源软件公司的软件服务业务是如何赚钱的,并没有说明开源软件本身能不能赚到钱!
IBMSUNHP等公司大肆炒作“开源”,是因为它们可以销售出更多的基于开源软件的硬件;中科红旗、红帽、拓林思等公司不遗余力地推广“开源运动”,是因为它们可以销售出更多的基于开源软件的软件服务。不错,硬件和服务都可以赚到钱,这是毋庸置疑的,因为硬件也好,服务也罢,都属于传统的商品,遵循传统的商业模式。但这一切并没有说明开源软件——与传统的商业软件不同的特殊产品——能不能赚到钱。毕竟,开源软件和自然界中的水不同,是软件人员辛苦劳动的成果而不是老天爷的恩赐,如果不能赚钱的话是无法实现长久的可持续发展的。
在探讨开源软件能否赚钱之前,首先需要区分很多人都混淆不清的两个概念——“开源软件”和“自由软件”。这两个概念既有联系,又有区别。一个很重要的区别在于:开源软件是可以用来赚钱,而自由软件是不能用来赚钱的。
所谓“自由软件”,按照“自由软件运动”创始人斯托尔曼(Stallman)的定义,是具备以下四个自由度的软件:
1)可以自由地运行;
2)可以自由地拷贝;
3)可以自由地修改;
4)可以自由地再发行。
“自由软件”的英文名为“Free software”。而“FREE”在英语中有两个含义,一为“自由”,二为“免费”。斯托尔曼坚持“Free software”的本质是“自由”而非“免费”,并特意用“自由”的中文拼音“ZIYOU”来提醒我们广大的中国同胞不要将其翻译为“免费软件”。然而,笔者固执地认为,“Free software”的本质在于“免费”而不是“自由”。因为与自由软件相反的商业软件也可以让你“自由”地使用、拷贝、改写和再发布——只要你支付了足够多的钱!斯托尔曼之所有坚持使用“自由”这个词,笔者以小人之心恶毒地猜度其原因在于“自由”这个词显得比较崇高、比较有正义感,能够更多地得到人们的拥护和追随。
“自由软件运动”倡导软件这种知识产品应该免费共享,并创造出GPL(通用公众许可协议)这一许可协议来保证和保护同道中人彼此共享软件产品。GPL的基本原则就是:你可以“自由”地运行、拷贝、修改和再发行使用GPL授权的软件,但你也必须允许别人也能“自由”地运行、拷贝、修改和再发行该软件以及你在该软件的基础上加以修改而形成的衍生软件产品。“自由软件运动”强烈反对知识产权,尤其是知识产权中的专利权,明确反对以申请专利的形式将软件产品据为私人所有。为了表达对“知识产权”——Copyright——的憎恶,斯托尔曼生造了一个单词——Copyleft
由此可见,由于自由软件的拥有者已经彻底地宣布放弃了自己对其产品的专利权利,因此,自由软件失去了成为商品的必要条件,自然也就无法通过商品交易的形式而赚钱,只能借助自由软件社区的成员的志愿劳动而加以延续。
“自由软件运动”所倡导的这种在软件领域内“我为人人,人人为我”的互助理念固然值得敬佩,然而,我们并不能因此而鄙视甚至非难那种利用软件的知识产权而大发其财的行为。毕竟,现在已经是商品社会,利益的刺激远比美德更能推动社会的进步。一些投身于“自由软件运动”中的先驱也逐渐意识到与商业组织应该更多地合作而不是对抗。因此,为了避免“Free”这一单词对商业组织的刺激,越来越多的人逐渐以“开源软件”来代替“自由软件”这一说法。
与“自由软件运动”不同,“开源软件运动”的反对重点并不是知识产权中的专利权,而是知识产权中的另一重要组成部分——对“商业秘密”(在软件领域中主要是软件的源代码)的保护。“开源软件运动”认为,对软件源代码的封闭和保护阻碍了创新思想的交流与共享,应该降低保护力度,甚至是完全开放源代码,使软件从业人员可以相互观摩、借鉴乃至重复利用别人的源代码,从而提高软件编程的效率,促进软件产业的发展。
对于知识产权中的专利权的保护,“开源软件运动”采取了宽容的态度。事实上,开源社区创建了好多种与GPL差别较大的授权许可协议。使用这类协议,软件产品的专利权可以得到一定程度上的保留,而不必像GPL那样完全彻底地放弃。软件产品的使用者可以方便地查看软件的源代码,修改源代码并作为商业软件再次发布和销售,前提是必须尊重原作者的著作权和专利权。这样,发布开源软件的人或公司也可以从中获利。当然,一些坚持纯粹的“自由软件”理念的人并不认为这种举动属于“开源”,而将其斥为“虚伪的开源”。
“开源软件”可以看成是“自由软件”与“商业软件”之间的一种折中,它既继承了“自由软件”所提倡的知识共享的理念,同时又允许人们以专利的形式从知识产品中谋取利益,从而保护了人们生产、创造知识产品的积极性。
由于开源软件所具有的这种特征,软件产品的开源已经成为不可逆转的潮流。越来越多的软件厂商,包括开源软件厂商和传统的商业软件厂商都逐渐接受了“开源”的理念,迈上了“开源”的道路。例如,最近Sun宣布在CDDL协议下开放Solaris源代码,而微软在压力面前也不得不宣布实施“共享源代码”计划,用户可以在一定的前提条件下阅读部分产品的源代码。今年7月份,开源开发实验室OSDL总裁斯图亚特-科恩在接受访问时提到:“我预料随着开源软件的不断成长,微软也会将它的产品以开源的形式发布。”