陆首群:坚持开源软件的创新之路

  中国开源软件推进联盟主席 陆首群

  我国IT产业的创新工作

  我国是全球IT产业发展的后起者,我们肩负为我国IT产业生存、发展和提升而搏弈的历史重任。走自主创新之路,将是这场搏弈胜出的关键。

  集成电路和软件是IT产业的两个支柱。近年来国内围绕这两个支柱产业的创新历程为:

  在集成电路方面,国内自主开发了中低端通用微处理器(CPU)、芯片集成系统(SOC)和数字讯号处理器(DSP)等芯片,虽然这些芯片的集成度还较低,大约比国际高水平还差一个数量级(如龙芯II号相当于奔腾IV中档,其集成度约为10的7次方个晶体管,而国际水平为10的8次方个晶体管),但毕竟我们从无到有,完成了上述一系列芯片开发创新的全过程,即完成了科研创新、设计创新,以及工具创新、工艺创新和工程创新全过程(必须指出,工程创新的难度比科研创新的难度要大得多,有人预测工艺创新难度约为设计创新难度的10倍),但我们毕竟在创新全过程道路上走了一回,突破了国外对工艺技术的严格控制,积累了自己非常宝贵的工程经验。集成电路的创新有了良好的起步。

  国内软件创新又如何呢?

  系统软件是最基础、最核心、创新难度也最大的软件,我想可将它作为软件创新的代表。系统软件一般为操作系统、数据库、编译器和工具、编程环境、中间件等,其中操作系统又在系统软件中处于龙头地位。

  中国要自主开发操作系统或系统软件,难度很大,必须走开源软件创新之路,从开源软件创新中找机遇突破;而要进行开源软件的创新必须实行体制创新。

  目前国内虽然推出了几款Linux操作系统发行版,但自主创新的技术含量不高,总体上还处于学习模仿阶段,缺乏深层次的研发能力。在先导的社区开发创新(即“集体开发”、“合作创新”)阶段,国内个别人虽然曾向国际开源社区递交了诸如“Linux虚拟服务器(LVS)”、“入侵检测系统(IDS)”等修改的软件包,但作为社会或企业的志愿者向国际开源社区的贡献还属凤毛麟角;而在后续的企业开发创新(即“自主开发”、“自主创新”)阶段,国内企业一般尚未能把握好工程化实现技术,工程经验很少。有人说,“中国系统软件的开发创新面临着一个进退维谷的境界”,这样的估计似乎过于悲观。我认为,中国开源系统软件应该从模仿走向创新,在“合作创新”基础上扩大“自主创新”。

  为了实现开源软件的开发创新,必须了解开源软件独特的创新方式。

  两种共生技术

  人们常常陷于一个思维误区:“开源软件是由全球志愿者集体开发的,遵循开源许可协议,其全部源代码是开放的,任何人均可自由获得”,而“全部源代码的开放也表示其全部技术是公开的。”他们不明白,开源软件不能再停留在其早期“自由的理想王国”里,仅供“黑客”、“玩家”们当“玩艺”;开源软件要取得持续发展,必须探索并形成自己的商业模式,惟有具备商业模式的开源软件才是成熟的,才能处理好如下矛盾,即:既不违反开源许可协议,公开全部源代码;又能不公开自己的专有技术,保守自己的商业秘密。事实上,具有商业模式的开源软件,其技术创新并不完全表现于具有自由开放特点的科研创新和设计创新之中,即并不完全表现于开放的源代码之中,它还表现在具有技术不公开特点的工艺创新和工程创新之中,即表现在与源代码无关的工程化实现技术(即专有技术和商业秘密)之中。这就是说,开源软件的全部技术是由:以开放源代码所表征的公开化技术,与不公开的工程化技术两部分组成;或者说由这两部分技术组成开源软件的共生技术。所谓工程化技术,是在开源软件已完成了其公开技术(即全部源代码或全部技术性能)的开发过程的基础上,服务于产品化或商业应用,尚需解决的后续技术,它主要关注于:改善操作稳定性,优化计算效率,增强灵活扩展性,提高产品质量,催化产品成熟度。工程化技术是一种实现技术、优化技术、隐性技术,主要表现为技术诀窍(Know-How)或熟练技巧(Skill)、工程经验、系统底层技术的把握等隐性知识方面。

  开源软件的工程化技术主要由两部分构成:(1)在开发过程中,有些与设计思想、原理、实现机制(包括算法)有关的隐性设计技术;与各软件模块之间的协同、耦合、调用等相互依赖关系有关的实现技术(包括实现细节);开源企业(服务商)的“内核分支”发行版的源代码与由Linus Torvalds负责开发和监护的官方(Official)“内核主线”版本的源代码之间偏差程度的把握能力。IT评论家Matt Asay指出,人们可以得到Red Hat公司企业级Linux发行版的全部源代码,但它直接交付用户使用的二进制版本(即所谓“ready to go”版本)并不是这些源代码编译的结果,其中存在着一些差异(关键要把握差异的程度),这就是商业秘密。(2)在产品化或应用过程中,为增强开源软件的增值效应,对各软件模块进行包装/配置/集成,以及剖析并改进相应的软件系统(Profile)所涉及的隐性技术。

  举国外开源软件“Ubuntu”的例子来分析:Ubuntu作为Linux的386个发行版之一(有桌面版,也有服务器版)是非常优秀的。发展迅猛,受人欢迎,其开发创新机制确有过人之处。Ubuntu为何发展如此之快,干得如此出色呢?我认为其中一个重要原因是Ubuntu利用了国际上最大的开源社区Debian的人才和资源。所以有人说“Ubuntu是基于Debian开发的版本”,“Ubuntu是Debian的副产品”,确是如此。但Ubuntu认为“Debian的过于宽广庞杂”,它在Debian资源上进行剪裁、移植和再创新,达到“少而精”的目的。现在随着Ubuntu的发展,它并不想与Debian兼容,也不愿参加Debian的联合体。

  最近Ubuntu自己认承:Ubuntu的发布版在产品稳定性等性能方面尚有待于改进,它还未通过用户认证。这使我联想到Ubuntu的开发创新机制可能还存在一些问题,他们“集体开发”开放技术的能力可能有余,而“自主开发”工程化技术的能力可能不足。今年2月我曾向Ubuntu创始人Mark Shuttleworth当面指出这些问题,获得了Mark的首肯。

  很多执行双授权许可协议模式的开源软件,在其层次结构(Stack)中可能嵌入某个层次的闭源软件,或可能附加某些闭源的组件模块,这些闭源软件实际上就是私权软件,而私权软件的全部技术都是不公开的,并将完全依赖于自主开发创新。

  双重创新模式

  与一般企业的私权软件创新模式不同,开源软件首先采用由志愿者进行“集体开发”、“合作创新”的新模式,这种创新模式实行“源代码开放”、“技术公开”;但是仅靠这种模式还不足以开发出开源软件的全部共生技术(即不能开发不公开的工程化技术),也不足以向市场推出优质高效、操作稳定、技术更趋成熟、竞争力更强的开源软件产品。实际上,开源软件针对开发工程化技术,还需要另一种:“自主开发”、“自主创新”、“具有自主知识产权”的创新模式来跟进和补充。开源软件的双重创新模式,即“集体开发”、“合作创新”与“自主开发”、“自主创新”两种模式是互补的、互相衔接的、不可分割的;也可看作开源软件开发创新过程的两个阶段。

  近年来国内企业开发并向市场推出一批开源软件产品,取得了长足进步;但某些企业还沿袭旧的封闭的开发模式和机制,他们在“社区版”上进行剪裁、移植或者进行简单修改,属于自主开发创新的成果还不多,他们基本上还处于学习、模仿阶段,他们基本上还是一个开源软件的集成、发布商,不是开发商,他们基本上还缺乏深层次开发能力。国际开源社区曾多次反映,国人在开源软件“集体开发”、“合作创新”活动中,向社区提交自己修改、创新的源程序代码行(到被吸纳)尚属凤毛麟角,对开源社区抢占算法(Preemption)方面的贡献还微小,以致有人认为:国人尚未能进入这个开发创新模式的核心圈之内,而且从这个衡量开发创新人员资质水准的统计数据来看,国人尚有不小差距。

  两种开发机制

  为了加快中国开源软件的发展,需要建立开源社区,形成社区开发和企业开发两种互相支持、互为补充的开发机制,社区开发主要是科研创新,企业开发主要是工程实现。

  在开源社区,具有“集体开发”、“合作创新”、“技术公开”特征的创新体系,是建立在自由开放的互联网平台上的,很多创意通常自下而上来自底层志愿者。在这个创新体系中,能够广泛吸收全球广大志愿者的智慧,经常产生大量思维碰撞,并往往撞出不少耀眼的思想火花,经常迸发出创新点子,在技术上有所突破,但也常常伴随着不够系统、不够稳定、不够成熟的现象。开源社区的创新活动偏重于科研,偏重于科研创新和设计创新,开源社区的创新活动需要有开源领袖(或大师)以及一批核心骨干的支撑,他们在社区负责对志愿者提交的软件包,进一步作“选包、打包、集成、测试”循环的创新活动并实施资源管理。在开源社区创新体系之外,还需一个后续的企业创新体系与之互为补充,企业创新体系具有“自主开发”、“自主创新”、“自主知识产权”(技术不公开)的特征,它是建立在企业内部开发部门或企业局域网平台上的,其创新的任务是向市场推出满足用户需求的产品,计划通常自上而下,开发者是企业专业技术队伍,企业的创新活动需要有经验丰富的资深人士(包括系统架构师)及一批核心骨干的支撑(最好具有参与社区开发创新的经历并与之保持良好的互动接口)。他们在利用开源社区创新成果的基础上,重点做工程化、产品化、系统化、完善化、稳定性和性能优化的创新工作,在攻克工程化技术方面进行自主创新。企业的创新活动偏重于工程,偏重于工艺创新和工程创新。在开源系统软件领域内,工程的难度比科研的难度大很多。工程化主要依靠积累的经验、专有技术(技术诀窍)、资深技术骨干的智慧(隐性技术),以及在测试版上持续不断地进行配置、集成、调试的测试工作,从中不断发现错误和纠正错误,完全是靠一点一点调出来、改出来的,绝不可能是想出来、写出来的。

  产品平台和生态系统

  对于开源软件,孤立地开发或推出一个产品(发行版)是不够的,必须形成围绕该产品平台的生态系统,即要把大量软件(特别是应用软件)移植到这个产品平台上来;该产品要能预装到一些必要的硬件体系结构中去;要能与众多外围设备匹配衔接。而移植、预装、匹配是需要做大量测试、修改以及“再开发”工作的,涉及成百上千个企业协同工作,需耗费大量人力、物力、财力和时间。为做到这一点,首先必须开发出在全球能进入“主流”的产品,否则要吸引全球广大企业、社区的支持,共同来营造一个生态系统是不可能的。当然在营造生态系统过程中,不能用纯技术观点来看待这个问题,在争取广大企业、社区支持时,特别要争取拥有丰富资源和影响力的跨国公司的支持,为此我们要做好协调工作。

  还必须指出,“分散的低水平重复”很难使开发出来的开源软件在全球能够占居“主流产品”的地位,为此加强国内联合、国际合作是十分重要的。

  开源架构和开源、闭源产品链

  开源软件的LAMP架构(即L-Linux操作系统,A-Apache开源服务器或其他开源中间件,M-MySQL或Postgre开源数据库,P-PHP或Perl、Python脚本语言)具有简易性、低成本和执行灵活性等特点,当“在线交易进程(OLTP)”在LAMP架构的解决方案中取得成功,有力地推动了这个架构的发展。LAMP架构的崛起,与J2EE架构(Java编程语言)和.Net架构(C#编程语言)形成了三角鼎立的竞争态势。

  针对各种信息化应用解决方案,在开源软件LAMP架构上形成的开源产品链,需进行集成、测试、优化的开发创新活动;从实际需求出发,有时我们也要推出开源和闭源产品混生的产品链,而在推出这样的产品链之前也需要进行相应的开发创新活动。

  李国杰点评:

  拜读陆总的大作后,十分赞同陆总的观点,希望在媒体与有关会议上大力宣传陆总的观点。

  我国的舆论往往把开放源码和自主创新对立起来,这是一个误区。十一五期间我国应在开放源码基础上加强自主创新,使我国软件业如同芯片一样有一个大的跨越发展。

时间: 2024-10-03 18:36:13

陆首群:坚持开源软件的创新之路的相关文章

Sun白剑波:开源软件成就创新

比特网(Chinabyte)6月19日消息(王允)第七届中国国际软件与信息服务交易会进入到了第二天的议程,2009中国软件自主创新论坛也随即开始,Sun公司大中华区开源推广中心主任白剑波先生在演讲中表示,开源软件是进入21世纪以来最重要的事情. 白剑波表示,开源软件保证了软件的自由度,同时可以得到源代码,对创新起到了更大的帮助.因为可以借鉴和研究其他人的成果,就可以站在巨人的肩膀之上,可以走得更高. 当提及如何用开源软件进行创新时,白剑波解释说,对于一个企业而言采用开源软件的这种战略,可以从这几

工信部批准,“中国开源软件推进联盟PostgreSQL分会”正式成立

开源社区的活动大多都是爱好者自行发起的,PostgreSQL中国用户会就是一个由社区志愿者发起的活动组织.2011年初,由7位志同道合的PGer共同商议,举行了一次全国性的PostgreSQL聚会,这是社区最早的雏形,我有幸参加其中并见证了PostgreSQL在中国发展的这7年. 中国开源软件推进联盟PostgreSQL分会 2017年6月21日,在中国开源软件推进联盟(以下简称"开源联盟")主办的"第十二届开源中国开源世界高峰论坛"中,由工信部批准,"中

开源软件的时代来临

在将来的五年中,有一半的IT软件将是开源软件.开源软件引领这云计算,大数据,移动互联网和企业移动时代的发展.在调查中,MichaelSkok(NorthBridgeVenturePartners合伙人)表示根据目前移动应用和云计算应用的部署情况来看,我们正在进入一个令人激动的开源创新时代.这不仅仅是说开源软件的创新会更快,更是意味着这些软件可以在云端快速的部署,并且作为一项服务被使用. 其他接受调查的人表示,软件的质量是他们选择开源软件的最重要的三个原因之一.他们同时认为软件的成熟度也同样重要.

开源软件发展的保障:分发协议

前不久,4月26日,是 世界知识产权日.知识产权日旨在促进人们树立尊重知识.崇尚科学和保护知识产权的意识,营造鼓励创新和保护知识产权的法律环境. 在4月28日,我们发布了来自BlenderCN社区罗聪翼的文章< 自由的成本--当开源遇上伪自主>,为大家介绍了国内两起涉嫌侵犯Blender分发协议,伤害开发者权益的事件,痛陈国内开源软件权利维护之路漫长且艰难.文章一经发出,迅速在微博上引起了一场关于维护开源软件权利的讨论,我们希望透过这一事件,引起大家对开源软件相关权利保护问题. 罗聪翼在文章最

图文:中国开源软件推进联盟主席陆首群演讲

图为:"开源中国,开源世界"高峰论坛现场,中国开源软件推进联盟主席陆首群演讲.(胡秀岩/摄 新浪网) "开源中国,开源世界"高峰论坛及圆桌会议于6月29-30日在北京召开,论坛由中国开源软件推进联盟主办.全球顶尖的开源软件专家.大师.IT企业高管.开源社区的负责人.开源倡导者.爱好者以及国内相关政府主管.业内专家和主要用户群体参加会议.新浪科技全程直播. 以上图为:"开源中国,开源世界"高峰论坛现场,中国开源软件推进联盟主席陆首群演讲.

开放式创新的崛起:打造可持续发展的开源软件公司

Accel 近期举办了一个超过100位开源界的高管和思想领袖参加的全天活动,讨论的内容是利用开放技术构建伟大企业,赶上下一次浪潮.本文是从会种所学到的内容,围绕着开源软件开发的未来以及如何围绕开源软件来打造可持续发展的商业模式而展开. 在上世纪80年代的中期,Richard Stallman 发起了"自由"软件运动,Stallman 主张软件的使用者可以根据自己认为合适的方式来自由的操作软件.这么多年过去了,开源软件的运动早已发展的超越了 Stallman 的梦想--从科技巨头垄断到软

黑鸭子调查:开源软件推动技术创新,带动经济发展

Black Duck Software在今年4月份的时候,对外公布第八份开源软件调查年度总结报告,以及企业对OSS的投资趋势的汇总.今年的调查重点指向OSS在目前企业战略决策里所起的重要作用,OSS关键功能在开发新技术上的作用,在社区发展中所起的作用,以及它对日常生活的影响. "今年的调查结果主要是侧重于OSS在今后企业战略决策里所起的重要作用,这是一个巨大的转变,将会影响今后开源软件的发展."Black Duck总裁兼首席执行官Lou Shipley说."开源已经向人们证明

动互联网:开源软件的又一个春天

本文讲的是动互联网:开源软件的又一个春天,[IT168 资讯]随着中国3G时代的来临,移动互联网以其丰富多彩的应用成为广大企业挖掘的下一个金矿.作为新一代互联网,移动互联网主要是在开源软件和开放技术支撑下发展起来的,它的发展已经逐渐具备让任何人在任何地点.任何时间使用任何通信设备去做任何事情(5个"Any")的能力.从移动互联网产业链上的广大企业来看,无论是从芯片制造商到终端设备商,还是从操作系统厂商到应用软件开发商,都已纷纷"拥抱"开源软件,将其列为自身发展的重要

陆首群呼吁业界多开发桌面Linux硬件驱动

图为:"开源中国,开源世界"高峰论坛现场,中国开源软件推进联盟主席陆首群演讲.(胡秀岩/摄 新浪网) 6月29日下午消息,中国开源软件推进联盟主席陆首群,29日上午呼吁,包括Linux基金会在内的业界应该多开发桌面Linux的硬件驱动程序,改变微软Windows垄断普通用户电脑的现状. 6月29日至30日,由中国开源软件推进联盟主办.新浪科技独家直播的"2009年开源中国开源世界"高峰论坛及圆桌会议在北京召开.作为主办方,陆首群在会上发表了演讲.他呼吁包括Linux