陆首群 先生
在中国开源软件推进联盟主席陆首群的办公室里,摆放着很多记录重要时刻的照片,在其中能找到近年来国家的主要领导人以及世界各大IT企业的巨头、开源领袖,当然也能找到陆首群。这些照片向来访者述说着主人公的辉煌:曾经身为全国知名的国有大型企业的改革家,中国早期经济和社会信息化的推动者、组织者和领导者,后来又是一位成功的IT企业创业者,同时又是一位资深的网络和信息化专家。陆首群的业绩数不胜数,可是他却极少向外界讲述自己的个人历程。 虽然年过70,陆首群仍然活跃在他所热衷的开源事业里,为此他卸任了很多职务,目前他主要担任的职务有:中国开放源码软件推进联盟(ChinaOpenSourceSoftwarePromotionUnion)主席、中国高校Linux推进联盟(ChinaLinuxUniversityPromotionAlliance)名誉主席、中国工业经济联合会副会长、北京网络多媒体实验室主任。在陆首群的博客上,记录着他在中国开源事业的开拓、见证和实践方面的点点滴滴。日前,CIOINSIGHT记者在陆首群宽敞的办公室里与他进行了深入的交流。 CIOI:目前国内的企业用户在开源软件的认识和应用方面与国外相比,有哪些差距? 陆首群:从中国国内的情况来看,与全球相比,在开源环境建设中的确还存在着一些差距,但是处在发展中也有很多有利条件,而且目前我们的这种差距正在加快缩小中。 因为开源运动发源于西方,目前主流也在西方,中国与西方在文化、语言上有很大的差异,不少国人对自由/开源软件的一些基本概念的认知尚有误区,国内在开发机制和工程经验上也尚显不足。目前来看,中国的开源软件企业还比较小而散,所以在整体环境上,目前国内的开源软件无论在产品本身上,还是在应用水平上,与国外企业相比都还存在比较明显的差距。但中国软件市场(包括开源软件)潜力很大,是全球最大、发展最快的潜在市场。近年来在开源领域我们与国际间的合作开展得较好。在总体上政府也比较重视。加上开源软件开放、透明的特点,这些都是我们加快开源发展、缩小与国际水平的差距、改善整体开源环境的有利因素。 CIOI:开源软件的开发过程相比于传统软件有什么不同? 陆首群:开源技术的开发可以分为两个阶段:社区开发阶段以及企业开发阶段。在社区开发阶段,针对开源项目开发原创性技术,推出社区发行版或Beta测试版。这个阶段的开发,完成了设计创新。社区开发的机制是“集体开发、合作创新”。以Linux操作系统为例,执行GPL许可协议就意味着全部源代码开放、全部技术公开、开发成果上网,用户可以从网上自由、免费下载,在这个阶段,你不可能期望从中拥有你自己的自主知识产权。如果你要修改来自社区的软件,并出售修改后的发行版,前提是要将你修改软件的源代码公开发布,即默认返回社区,以保证自由/开源软件符合GPL许可协议——可以自由传播。 必须指出,这个阶段开发的社区版或原创性设计,在技术上虽然体现了很多创新亮点,但尚不够稳定、优化、高效和成熟,与产品化尚有一段距离,我们也只能把它看成是“半成品”。对于社区开发成果社区发行版,社会上的人们都可以自由下载,但社区不向他们提供技术支持和各种服务。企业也可以自由下载,以便在社区开发成果的基础上进行后续开发。通常来说,企业的后续开发有两类:一类是企业自己使用社区的资源,后续开发后再向市场提供服务,比如Google;另一类是企业作为开源发行商(Distributor),将社区资源进行产品化的“再加工”,最终向市场出售产品,比如RedHat、Novell、中科红旗等公司都是这样。 在企业开发阶段,开源产品在继承开源社区开发成果(原创新设计)的基础上,会再进行工程化处理(即开发工程化实现技术)。这个阶段的开发完成了工程创新,以最终实现产品化。工程化实现技术主要由专用技术(KnowHow)、工业设计(IndustrialDesign)和工程经验(EngineeringExperience)所组成,是不公开的。开源技术的开发,在社区的先导开发阶段是以合作、公开开发为特征的创新阶段,自由/开源软件的法律主体,也就是软件作品的所有者是不明确的,即GPL-2在法律上有缺失,这使得任何人都不能声称他拥有自主知识产权,就是所谓的开发者集体拥有的左版版权,这也只是一个虚弱的灰色地带,同时任何人也不得不将公开的源代码或技术转变为不公开的,或作为私有的。 在企业的后续开发阶段,这个阶段是以“企业”、“不公开”为特征的创新阶段,企业是有可能在其中拥有自主知识产权的,但在这时从社区获得的源代码或技术仍然要公开,而企业自己开发的工程化实现技术则可以不公开。 CIOI:对CIO而言,他们最关注的是如何使开源运动与企业开发做到无缝衔接,对此你怎么看? 陆首群:社区开发与企业开发有所分工,前者为设计开发,后者为工程开发,两者构成了全部的产品化技术。同时两者间也是分工互补的,从而可以做到无缝衔接,以消除间隙。 我以前多次指出,Linux发行商负责工程化处理技术,其内容包括Linux内核社区(kernel.org)的主干(Official)内核与发行商的次干内核,它们之间允许存在3~5%的偏差,各种软件模块可以进行不同的优化配置,开源产品必须进行兼容性测试和质量认证(Q.C.),这也是软硬件整合的产品化技术。进行回归移植或降级处理(BugFix,Patch),开展涉及改进使用性的用户界面(UI)设计,进行外观工业设计(ID),以及开发本地服务的技术。