4月20日,比尔•盖茨访问北京大学时,全球最大Linux第三方专业认证机构–LPI(Linux Professional Institute)首席代表王开源手拿海报抗议微软垄断。这一行为引发了国人对于突破传统商业软件垄断壁垒,振兴民族软件产业的进一步思考。
纵观中国的软件发展,开源被看作是重整中国软件江湖的众望所归。然而,与国际开源发展相比,中国现在还仍然是开源的消费者而非贡献者。实际上,开源发展的关键并不在于开源本身,而在于引领开源前进的机制、模式和趋势研究,这三者都与人的观念密切相关,而中国开源正是缺乏这种系统认知。
解决开发机制问题
要加快中国开源软件的发展,在开发机制方面,应形成社区开发和企业开发互为补充的两种机制。前者主要是搞创新,后者主要做稳定,即做好工程化、产品化工作。Linux操作系统创始人Linus Torvalds就曾说:“Linux成功的奥秘并不在于源代码本身,而是在于其开发方式,即允许所有程序员参与开发的开放源代码哲学,与他人共享自己的开发成果,于是开源社区不断扩大,创新浪潮高涨”。
然而,目前的实际情况是,国内至今尚未形成社区开发的机制,更多是关起门来做,缺乏开放性,无法充分利用成千上万有能力、有智慧进行开发创新的人才资源及其丰硕成果。
据中国开源软件推进联盟主席陆首群介绍,在中国开源运动的早期,Linux/OSS的开发没有采用社区这样全新的、先进的开发机制,主要是因为当时我们处于学习模仿阶段,大都从网上下载Linux/OSS社区版来组装开源产品。近年来,随着中国开源运动进入到发展的转折期,中国人在国际开源社区从事开发的人员和主持开发的项目多了起来。为了发展中国的开源事业,必须广泛采用先导的社区开发的机制。在建立本地社区之前,必须参与国际开源社区的开发工作,以便体验开源文化和其哲学理念,通晓顶层设计,了解开源社区的开发环境,积累工程经验。
另外,还要改变“社区版即是产品版”的错误观念,注重社区开发之后的后续企业开发。后续开发的产品化技术(即成熟技术)通常不是由社区来开发,而是由开源软件发行商或开源企业接着来开发,随后推出产品版(或商业版)。要从改善操作稳定性,优化计算效率,增强灵活扩展性,提高产品质量,催化产品成熟度等方面下功夫。
找到适合中国开源的商业模式
Gartner分析员Nikos Drakos指出,中国要形成开源软件产业,就必须解决好其商业模式问题。
开源社区开发是无偿公布其开发成果的,而后续的开源企业开发是在其商业模式下,有偿出售其产品或服务的(一般通过技术支持、客户服务来收费,且收费很低)。这时,社区开发志愿者无疑是作了大量的无偿工作,后续开发的企业却无偿承接了社区开发的资源和成果,其后续开发的产品或服务,则可在市场上获利,而且该企业还可以实行股票上市。显然在利益与权益方面两者就很不平衡,对从事社区开发无偿工作的志愿者也很不公平,应该说这个问题迄今尚未很好解决。中国开源企业的发展,也要找到一条适合自己的商业模式。
目前,开源软件已发展了若干种成功的商业模式,如RedHat(GPL)模式、Mozilla模式、MySQL模式、SugerCRM模式,以及与互联网公司Amazon、e-Bay相似的商业模式等。它们都立足于“全部源代码开放、免费,工程化技术不开放、收费,或由服务、支持环节收费”相结合的模式;立足于在软件开放条件下执行不同的许可证授权方式。开源企业在“薄利多销、扩大市场”战略指导下,依托这些有效的开源商业模式,已经走上盈利的良性循环,这些都为国内企业提供了宝贵的参考经验。
如何消化新技术
多核(Multi-Core)已经是高性能计算的发展趋势,而传统的Linux、BSD等不可能很好地在几十个CPU on one die上展开。龙芯将来一个主要的方向就是Multi-Core,那么在系统软件方面,如何跟上是关键问题。否则,即使Multi-Core的龙芯能Tape out,没有相应的操作系统,也不能发挥作用。
系统计算研究所陈怀临认为,在多核心的系统软件上,投资会比较大。因此,开源企业一定要与大企业合作,比如华为、中兴等等。从目前的态势看来,华为、中兴等通讯公司在高端系统上不得不走Multi-core的技术路线,否则,如果仍然走ASIC/FPGA的技术路线基本上是死路一条。而目前华为等企业又基本上不具备上述R&D的力量,因此,开源企业要把握这个巨大的机遇,与大的通讯公司合作,定义并开发我们自己的高端操作系统,高端系统软件和芯片技术就会有一个可持续性的发展。
开源在中国的发展,热度和民族自尊固然重要,但更重要的应该是脚踏实地,解决开源面临的实际问题,为其健康发展创造良好的环境。