再谈开源社区先导开发和开源企业后续开发的关系

上一篇 / 下一篇  2007-09-03 14:02:18

    一些中外人士(包括软件专家),对自由开源软件(FOSS)的一些基本概念,在认识上存在误区,使得他们在看待开源软件的自由精神、商业模式、安全机制、自主创新等问题时,常常发出一些模糊信息。为此似有讨论澄清的必要。

    有人常常模糊、混淆开源软件两种发布版:社区发布版和产品发布版(有时也叫商业发布版)的界限,以致得出相互矛盾的不同结论。

    有一些国人对Free Software中的“Free”,在翻译成中文时,认为“Free”为“免费”(软件),其实正确的翻译应为“自由”(软件)。

    有人认为,所谓自由开源软件,应具备任何人均可“自由获得、自由使用、自由修改、自由复制、自由发布”,以及从网上“自由免费下载”的“完全自由”。其 实,对开源软件的发布版,我们要作出区分:社区发布版是不具有商业模式的,可以做到上述“完全自由”的;而产品发布版(或商业发布版)是具有商业模式的, 对上述这些“自由”是要受到一定限制的,也不能“自由免费下载的”,是要进行付费交易(低价)的。有人认为,开源软件其“全部源程序代码是开放的”,“全 部技术是公开的”,所以在使用中就没有安全保障。他们就没有看到开源软件的产品发布版在开放全部源程序代码的基础上,也同时具有技术秘密和商业秘密,而在 安全评估保障等级(EAL)方面,可做到最高级(5级,即EAL-5)。

    有人认为,开源软件是全球志愿者“集体开发、合作创新”的成果,所以开源软件不存在“自主创新”问题,也有人牵强附会地说:“合作创新就是自主创新”。 其实“集体开发、合作创新”只是先导的社区开发机制,从开发的全过程来看,在开源企业的后续开发阶段,是具有自主创新环境的。

    关于开源企业在后续开发阶段,除移植开源社区开发的全部开放的源程序代码和全部公开的技术外,还要组织开发工程化实现技术,或组织开发相对独立的具有增值功能的软件模块。这种工程技术是由专业技术(Know How)、工程经验和质量认证的技术成果综合组成的。对于Linux操作系统(执行GPL许可协议)的工程化实现技术是由:① Linux内核的偏差技术,② 软件模块的配置技术,③ 兼容性测试和质量认证的优化技术等组成。对于开放办公套件(Open Office.Org,执行LGPL协议)的工程化实现技术或增值功能软件模块是由:① 安全加密技术,② 宏编程转移技术(或在异构操作系统环境中的转换技术),③ 作为可选项的本地用户的特殊要求等。

    按开源社区和开源企业两种开发机制分别先后推出的社区版和产品版(或商业版)的性质,也可采用在执行开源许可协议过程中的双授权模式来确定(社区版可在网上免费下载,商业版则要付费):

    开放办公套件(Open Office.Org)社区负责人Louis Suarez-Potts 曾给我画了一张图表,即:

Mozilla.Org = Development

Mozilla.Com = Commerce  

    译成中文的意思是:Mozilla社区主要从事开发;Mozilla公司(企业)还要从事商业活动。

    开源数据库(MySQL)公司CEO Martin Mickos也向我表示:MySQL采用双授权模式,即:MySQL社区推出免费的社区版(MySQL.Org),MySQL公司推出要付费的商业版(MySQL Enterprise)。

    “开源软件”是相对“私有软件”来说的,“私有软件”一般也是“传统商业软件”,叫“私有商业软件”也是可以的。但有人误将“开源软件”相对于所谓“商业 软件”来说事,他不明白,开源软件不是免费软件(社区版免费是特殊,不宜将社区版作商业应用);开源企业是具有商业模式的,此时开源软件的发布版叫产品版 或商业版,一些开源软件专家们说:“目前已经出现了很多商用开源软件。”也是同一个意思。

    现列出关于“开源软件开发全过程”的一张图表如下:


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar