关于开源的商业模式
[有朋友讨论开源的商业模式和他们在植入系统协调开发中的困难。我把我的回复也发布在这里。刚刚翻了一下MIT出版社的《Perspectives
on Free and Open Source Software》一书,其中有一章专门讨论这个题目*,但是更适合作入门级的读物。]
开源的商业模式主要是基于software as a service的思路,其中的主要开销是维护和客户服务,僵化的源码本身没有多少利
润。software as a service在今天的大多数商业软件中已经是事实。而维护源码的机密本身成本很高(包括内部的通讯交流成本);闭源
软件既限制用户自由,又常常增加了用户的运行成本。开源的方法清除了这些障碍。而开源使得集合社区的力量成为可能,这样共享代码成了一个社区基础,开发
者可以快速的完成产品(通过使用既有源码和社区支持),并反馈而贡献社区。这个机制对开发者和用户是个双赢,都节约了成本、缩短了开发时间。
举个例子来说,CMS(Content Management Systems)就是很典型的情况。用户一般只需要一个能满足自己需要的系统,不在乎开
源闭源。但是一个用户自己承担从头开发一套系统的成本显然是不理智的。使用开源不仅大大降低了开发成本,而且降低了维护成本,因为不必依赖闭源的供应
商、承担技术锁定的风险。而开源CMS的繁荣反过来进一步推动了互联网和相关行业的发展。
从经营角度来讲,开源能使高手如虎添翼,却不能把傻瓜变成高手。它不是什么点石成金的魔法,而只是经营和管理方法中的一种。Netscape后期的开源
努力就是一塌胡涂。
你这里说的两个好处:
"一是给参与者提供了金钱以外的奖励(能在这个圈子里受到信任和尊敬),二是在很多人合作的情况下保持产品的完整和质量,而不严重地影响效率。"
其实不是某一个公司通过开源就可以实现的;更多的是开源的社会进化效果。第二条,合作的效率,可能来自于优秀的开源项目已经形成了优秀人才为核心的组织
结构。好的开源项目,是技术核心的领导,而且核心必须有已经证明了的领导力(进化的结果,不够优秀的走不到这一步)。所以这种项目的技术效率卓越不凡,
但要在已有的大公司体制内拷贝需要高手操作,需要技术管理的高超技巧。其中的第一条,可能主要是适合新人进化的社会性机制。通过社区服务来挑选人才,比
政治经济手段要健康的多。事实是,在开源世界显露身手的人,往往很快就成了商业界挖掘的对象。
你这里举的植入软件的例子,和software as a service的模式很不一样。可能更像技术和管理路线的问题。比如使用并行的版本管理系
统,允许现场的应用工程师提供解决方案;由工程部门控制和合并最后的版本。这不是说植入软件不能从开源模式中获益。比如智能手机的系统有
OpenMoko,Google的手机方案都是开源路线(iPhone半开放了?)。
我想强调的是灵活使用"开源的方法"而不是某一种现有的技术路线。开源可以鼓励再开发,鼓励创新,鼓励有效的社区合作,鼓励良好的行业生态环境----最终
要看你如何把这些统一到自己公司的整体战略。Google, Facebook等新秀不同于software as a service的传统软件公
司,然而都在使用开源方法上做了显著的努力。所以我说过开源是web 2.0的精神启迪。
Friedman在《世界是平坦的》书中主要围绕社区效益来讨论开源,其实是很正确的写法。
*
http://mitpress.mit.edu/catalog/item/default.asp?
ttype=2&tid=10477&mode=toc