经济观察报 陈永伟/文 11月9日,在操作系统产业峰会上,华为宣布将把欧拉开源操作系统代码、品牌商标、社区基础设施等相关的资产,一并捐赠给开放原子开源基金会,并且华为公司承诺不做商业发行版。这已经不是华为第一回捐赠系统给国家了。早在2020年9月,华为就把自主研发的鸿蒙操作系统捐赠给了开放原子开源基金会。
对于华为两次捐赠操作系统,我们首先应该做的是对华为致以崇高的敬意。虽然目前中国已经是世界上第二大数字经济国家,但是在芯片、操作系统等基础技术上,中国的短板还十分明显,“缺芯少魂”现象十分严重。大多数的手机和电脑用的都还是国外的芯片、国外的操作系统。在这种情况下,华为挺身而出,贡献出自己花费巨资开发的操作系统,对于扭转这种局面是十分重要的。
不过,从这两个事件背后,我们似乎还应该读出更多的信息。事实上,华为这两次捐赠系统,都不只是“捐赠”这么简单——它并不是让国家得到了系统之后,直接把它们当作产品来出售或使用,而是要将其开源化。
熟悉政策的读者应该知道,在我国的“十四五”规划当中,已经明确地写入了“支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务”,并将其作为加强关键数字技术创新应用的关键一环。由此可见,在未来几年中,开源将会成为促进数字经济发展的一项重要策略。从这个意义上讲,华为主动将其研发的两款系统开源化,其实就是呼应了“十四五”规划的精神。由此产生的带头作用,恐怕要比捐赠两个系统本身的影响还要大。
那么,开源到底是怎么回事?它对于数字经济的发展为什么重要?对于企业来讲,开源是不是就是一种纯粹的捐赠行为,在开源的同时,企业是否有机会实现盈利?要推进开源策略,可能会遭遇哪些问题,又可以采取怎样的应对策略?所有的这一切,都是值得我们思考的问题。
开源的历程
所谓“开源”(OpenSource),顾名思义,就是将软件的源代码进行开放,将其发布到虚拟社区,允许所有的社区成员对其进行修正、改进和创新,并允许其成果与社区内的所有成员共享。
从起源上看,“开源”的做法其实是对软件研发领域流行的共享理念的继承和发展。在IT行业发展的早期,软件开发人员主要来自于高校、科研机构和企业的研发部门。作为“学院派”,他们很自然地把软件的开发视为一项学术研究活动,也很愿意和同行分享自己的研究成果——就好像大学教授们乐于在研讨会上宣讲论文,而不是把论文藏起来一样。在这种自由交流的氛围之下,诞生了很多的著名软件。例如,著名的Unix系统,以及这个系统上的很多软件,就是在这种自由分享的过程当中产生的。
不过,这种桃花源般的自由生态并没有持续很久。随着软件逐渐成为了一个独立的产业,与软件相关的知识产权保护体系逐渐发展起来。1980年,美国对著作权法进行了修改,对涉及计算机的知识产权进行了明确的界定。在此之后,很多科研机构和企业都对自己研发的软件申请了知识产权保护,软件开放领域的共享时代从此宣告结束。
尽管如此,很多软件开发者依然对自由共享的理念予以了坚持。1985年,在理查德·斯托尔曼(RichardStall-man)等人的倡议之下,一个名为“自由软件联盟”(FreeSoftware)的新组织成立。与流行的知识产权保护理念相对,这个组织倡导的是一种理想化的、以消除知识产权的束缚为宗旨软件产业发展模式。他们认为,任何人都被授权可以自由使用、复制、研究和以任何方式来改动软件,并且其源代码应该是开放和共享的。
如果从纯粹道德的角度看,“自由软件联盟”所提倡的自由共享理念显然应得到人们尊重。但是,在现实世界里,这种自由理想多少会有些不合时宜。亚当·斯密早就指出,人与人之间基于利他主义的相互约束只能局限在比较小的人群里,当群体规模逐渐扩大后,这套规范体系就不再适用。在几百年之后,斯密的这一预言依然在“联盟”身上应验了。随着联盟规模的扩大,其“自由”(注:在英文中,free同时有自由和免费的意思)理念与商业实践之间的冲突开始越来越激烈,而之前积极参加联盟活动的不少成员也开始逐渐远去。
在这样的背景下,越来越多的人开始放弃“自由软件”的提法。1998年,一些IT人士在加州召开了一场小型会议,并在会上同意了由彼德森(Chris-tinePeterson)女士提出的用“开源”一词替代“自由”,轰轰烈烈的“开源运动”由此拉开了序幕。
表面上看,从“自由软件”到“开源软件”,仅仅是一个说法的变化。但在此背后,其实是一种深刻理念的变更。“自由软件”所强调的,是一种非商业化的乌托邦式的理念,而“开源软件”则只是强调源代码开放,其本身并不拒斥商业化的尝试。尽管对于一些原教旨主义的IT人来讲,这就是一次对世俗的妥协,但对于更多的人而言,这却是在共享精神和商业化实践之间取得了一个更好的平衡,是一件多赢的好事。
也正是因为这个原因,“开源运动”的发展要远比当初的“自由软件运动”来得更有声势,也更为持久。最初,这个运动只是一些研发人员自发参与。随着运动的深入,很多大型企业也逐步加入进来。与此同时,“开源”的含义也从原来的“开源软件”扩展到了“开源硬件”、“开源内容”等多个领域。目前,“开源”已经成为了一种与封闭开发并行的软件协作开发形式,并且越来越有超越、压倒后者之势。
开源为什么是重要的
那么,相对于传统的闭源开发,开源究竟有哪些优势呢?我想,它的优势主要体现在两个不同层面上。
第一个层面是开发层面。开源作为一种协作的形式,可以最大限度地调动开发者的人力资源,让他们更好地实现分工协作、优势互补。亚当·斯密曾经在《国富论》的开头强调过,分工是促进劳动生产率提高的最重要动力。从某种意义上讲,“开源”可以说是为斯密的这一论断提供了最好的证据。通过将软件的源代码开放,不仅可以将更多的开发者吸引到开发过程中来,还可以免去软件研发者们对一些基础程序的重复开发,让他们可以将更多的精力集中在一些特殊的领域,从而大幅提升他们的开发效率。与此同时,“开源”还允许不同的研发者们更好地进行交流切磋,从而达到相互启发、激发灵感的作用。所有的这些,对于推进整个软件开发行业的进步都起到了十分重要的推动作用。
“开源运动”的灵魂人物埃里克·雷蒙德(EricRaymond)曾打过一个生动的比方,他把等级森严的闭源世界比作大教堂,而把开源的软件开发世界比作集市。大教堂固然庄严肃穆,但市场却显然比大教堂更有生气,也更适合人与人之间的交流。从开发的角度看,雷蒙德的这个比喻可谓是传神至极。
第二个层面是应用层面。对于大多数企业,尤其是初创企业而言,IT投入都是一笔不可忽视的成本。如果从成本的角度看,企业采用开源软件的花费通常会远远低于使用闭源软件——尽管在一些时候,闭源软件在性能上可能会更为优秀一些,但是价格上面的差距足以让很多企业更愿意选择开源软件。小米公司的创始人、CEO雷军曾经有一句名言,“任何一家创业公司,如果不拥抱开源,就直接输在了起跑线上”。如果从企业的成本角度看,雷军的这句话确实直接点中了要害。目前,使用开源软件,在开源平台上托管公司代码正成为越来越多企业的选择。
综合以上分析,我们可以知道,开源无论是从开发,还是从应用的角度看,都有着至关重要的作用。如果放大到一个国家的视角,开发的活力会对国家的创新能力起到很大影响,而在应用上能降低多少成本,则会在很大程度上影响到整个社会创业精神的发挥。因此,无论从什么角度看,在未来的相当一段时间内,开源都应该引起我们的足够重视。
参与开源能否有利可图
或许有人认为,虽然开源软件十分重要,但是如果从纯经济的角度看,它并不是一笔划算的生意。因此如果要发展开源,除了凭借开源项目参与人的利他主义热情之外,就只能靠政府的补贴投入。这种观点显然并不正确。事实上,无论是对于企业还是个人,参与开源项目都是可以带来十分现实的经济利益的。
先看企业。很多现实的例子都证明,只要经营得当,参与开源项目其实是可以变成一笔不错的买卖。这一切是怎样实现的呢?从本质上看,它主要依托于多边市场之间的交叉补贴。
简而言之,尽管开源项目本身是免费的,但是它可以和其他收费的项目一起推行。这样一来,两个项目之间就可以实现有机互补,从而达到盈利的目的。在实践当中,与免费开源项目搭配的收费项目可以采用多种形式。这里,仅举几个比较有代表性的例子:
第一个例子是JBoss。JBoss是一个开源的应用服务器。作为应用服务器,它是完全免费的,所有用户可以自由使用。但是,围绕着这个产品的相关服务,例如技术文档的提供、对用户进行培训、对用户的二次开发进行支持等,则都是收费的。也就是说,JBoss这个产品本身只是吸引用户的一个引子,而开发者们真正赚的则是服务维护的钱。
第二个例子是 Databricks和Spark。Spark是著名的大型数据处理引擎,作为一个开源项目,它最早是伯克利的一伙计算机科学家们秉承“黑客”精神联合研发,并开源贡献给社会的。随着大数据时代的到来,Spark获得了巨大的成功。然而,这种成功并没有给其最初的研发者带来相应的回报,因而他们维护这一项目的热情也有所降低。为了扭转这个局面,Spark的维护者们曾经试图向用户收取一定的费用,但由于用户的反对而未果。在这样的背景下,这些科学家中的一部分人就在2013年创立了商业化应用公司Databricks。
Databricks的业务主要是数据分析SaaS(即softwareasaservice,“软件作为服务”)服务。这种服务的基础依然是Spark,但为了和免费版的Spark差别化,Databricks做了很多功能上的改进,让它们更能够适应企业级服务的需要,而这些改进作为Databricks最核心的技术,并不进行开源。很多企业级的用户为了使用的方便,就选择了Databricks的付费SaaS服务,而广大的一般用户则可以继续使用免费的Spark。
尽管表面上看Databricks公司和维护Spark的ApacheSpark是两个实体,但由于其管理层的交叉,这两个实体其实可以看成一个统一体。因此,Databricks推出的付费SaaS服务和免费的Spark其实可以被看成是一个企业的两种差异化产品。免费产品用来培养客户,实现引流,而付费产品则主要负责盈利。在今年年初时,Databricks的估值已经达到了280亿美元,可见这种商业模式在商业上是非常成功的。
第三个例子是谷歌的安卓——这可能也是所有开源项目中盈利最为成功的。
安卓本身是一个开源项目,谷歌并不直接从它来获益。但是,既然安卓这个系统本身是来自于谷歌的,那么谷歌要在上面安插一点儿东西,获得一点回报自然也是易如反掌。且不说其他的各种项目,仅仅搜索一项,安卓就给谷歌带来了及其丰厚的回报。
我们知道,用搜索做引流,然后通过广告来将流量变现是谷歌的最主要盈利模式。但是市场上搜索引擎很多,怎么才能让消费者就认准谷歌的搜索引擎进行搜索呢?很显然,成为设备的默认搜索引擎将会十分有利于达成这一目标,因为对于很多用户而言,他们都不会去为了进行搜索而专门去下载一个搜索引擎,设备上预装了哪个引擎,他们就用哪个。一般来说,如果设备制造商用了安卓作为默认系统,就会很顺理成章地把和安卓契合度最高的谷歌搜索作为默认搜索引擎。
这样的做法能为谷歌带来多大的收益呢?由于没有交易数据,我们很难估算。但是,我们大致可以通过谷歌为获得在苹果手机上的默认搜索地位所支付的资金来对此进行推算。据报道,2020年,谷歌为了获得苹果手机上的默认搜索地位,向苹果支付了120亿美元的费用,而据分析师估计,2021年这个费用将会增加到150亿美元。考虑到安卓系统的使用率要远高于苹果的iOS系统,如果安卓是由第三方公司开发的系统,那么谷歌为了保住在安卓系统上的默认搜索地位,每年恐怕要付出数百亿美元的代价——这还不包括把Chrome浏览器作为默认浏览器的代价。因此,反过来讲,我们也可以说,安卓这个开源的软件每年可以为谷歌赚的钱至少会有数百亿美元之巨。
通过以上几个例子,我们不难看到,做开源绝非是一件无利可图的纯公益事业。只要商业模式设计得当,那些愿意把自己的产品拿出来开源的企业其实也可以实现可观的商业收入。
再来说说个人参与开源项目所能获得的回报。在现实中,参与开源项目的个人能够直接获得经济收入的并不多,但是,这并不意味着他们参与项目仅仅是靠一种利他的精神。事实上,通过参与开源项目,他们经常能得到不少间接的收益。
诺贝尔奖得主梯若尔(JeanTi-role)和哈佛大学商学院教授乔希·勒纳(JoshLerner)曾对开源项目参与者的动机进行过研究,他们认为,人们之所以愿意为开源项目贡献力量,原因有如下两个方面:一方面,开源软件的研发就好像是一个演练场,参与这些活动有助于研发人员积累有益的经验,从而使他们能在后续的工作中表现得更好,同时获得更高的回报。另一方面,参与开源软件的研发,其实也是开发者展示自身能力的一个良好机会。只要能在这些领域有足够好的表现,他们就可以更容易地被潜在的雇主或猎头发现,这也有助于他们找到更为高薪的职位。如果我们认同梯若尔和勒纳的说法,那么人们参与开源软件的研发就不是真正意义上的义务劳动,而只不过是把当期应得的回报做了适当延迟而已。
我国开源的现状和挑战
我国的开源事业起源于上世纪90年代。早在1991年,我国就以中美合作的形式引进了UnixSVR4.2。这个事件标志着开源在中国的兴起。进入21世纪之后,我国的开源事业得到了长足的发展。很多高校、科研院所、科技企业都陆续加入到了这一行列中来,一大批开源社区建立,开源项目获得了蓬勃的发展。尤其是在最近几年,我国的开源事业更是发展迅速。
根据中国信通院发布的《开源生态白皮书(2021)》,中国在全球最大开源平台GitHub上的贡献者数量已经达到了全球第二,仅次于美国。2020年,GitHub平台上中国贡献者的数量增加了37%;而在另一个开源平台Gitee上,当年中国贡献者的数量更是增加了50%,总量超过了600万人。
尤其需要指出的是,为开源项目提供第三方知识产权托管,以及相关配套服务的开源基金会等组织也开始在我国兴起。2020年6月,经国务院批准,我国首家开源基金会——开放原子开源基金会正式在民政部注册。这一基金会的发起人包括了国内中国的科技巨头企业,业务涉及开源软件、开源硬件、开源芯片、开源内容等多个领域。目前,已有多个开源项目在该基金会开展。
从以上几个方面,我们似乎可以看到,我国的开源事业正在迎来一个前所未有的好时期。不过,在看到发展机遇的同时,我们也必须认识到,我国开源事业的短板依然是十分明显的。在未来的发展道路上,很多风险都不可忽视。
首先,虽然我国的开源事业发展迅速,但对于开源事业的掌控力并不强。目前,世界上最主流的代码托管平台、开源基金会、大量的核心开源项目以及多数开源许可证都被掌握在西方国家,尤其是美国的手中。尽管开源事业本身是由民间发起的,以开放共享为主要指导思想的事业,但随着国与国之间竞争的日趋激烈,这一事业也难免被卷入到国际政治的风口当中。
一个最为典型的例子就是谷歌对华为禁用安卓系统事件。虽然从理论上讲,谷歌并不能剥夺华为使用安卓这个开源项目的权力,华为也可以继续基于安卓开发自己的系统,但谷歌毕竟是安卓系统源代码的提供者和最重要的服务支持商,在使用安卓项目时,很多技术问题还需要其提供相应的支持。在谷歌停止了这些支持之后,华为就在使用这个项目的时候处处受制,而这一点显然会对其正常经营造成巨大的影响。
其次,相比于闭源的开发,开源软件中的安全漏洞通常会更多一些。随着大量由开源代码构成的软硬件快速普及,这些安全漏洞和风险就会被不断地叠加和累积,从而给使用者带来很大的不确定性。尤其需要指出的是,在这些安全漏洞中,有一些并不是开发者的无心之失。恰恰相反,这些漏洞很可能是一些黑客用来进行攻击的木马。甚至在一些新闻中,曾经报道过一些国家的军方利用木马化的开源软件对他国进行网络攻击的新闻。从这个角度看,在发展开源事业的同时,对于相关的安全风险还应该倍加重视。
再次,目前的开源领域还隐藏着很多的知识产权问题,这对于对知识产权领域了解欠缺的企业来说,是一个重大的潜在风险。不少人认为,既然开源项目把源代码都开放了,那么把这些代码拿来就用就是天经地义的。但在现实中,情况并非如此。作为一种独有的产权形式,开源项目只是实现了源代码开放,供人们使用,但是源代码的创作者的知识产权依然是受到保护的。如果他们没有向使用者进行进一步的授权,那么使用者对源代码进行的操作,以及由此的获利都可能需要承担相应的法律责任。事实上,近年来,各地因使用开源项目而引发的知识产权案件已经开始陆续出现,这一点是尤其需要引起重视的。
综合以上分析,我们可以看到,尽管目前我国的开源事业发展正迎来前所未有的好机遇,但潜在的问题和风险也不小。因而,在未来的一段时间内,设法克服相应的风险、解决相应的问题,就成了推进开源事业进一步发展的重中之重。
如何进一步推进开源事业
那么,如何才能解决好当前制约我国开源事业发展的问题,进一步推进我国开源事业的长期健康发展呢?在我看来,除了继续加大相关的投入、增加相关的基础设施建设之外,以下几个方面的工作或许是比较值得重视的。
首先是要解决好参与开源事业的激励问题。要解决好我国开源事业中的各类问题,尤其是对关键平台、关键项目、关键标准的自主可控问题,最重要的是让足够多有能力的企业和个人参与到这项事业当中来,为这项事业作出贡献。而为了实现这一点,一套好的激励体制就是最为关键的。《论语》里有这么一个故事:孔子的弟子子路救了一个落水的人,被救者十分感激,要送给子路一头牛。在当时,一头牛的价值是很高的,但子路却高风亮节,当即拒绝了这笔巨额感谢金。后来这个事情传到了孔子那里,但孔子并没有因此而表扬子路,反而是把他批评了一顿。孔子为什么这么做呢?原因就在于,他知道世上的人们并不可能都和子路一样品德高尚,在大多数时候,他们做事都是出于利益而非道德。因此,如果子路接受了被救者送的牛,就会成为一个很好的广告,告诉大家只要做好事就能得到好报,这样对激励大家干好事是非常有好处的。而子路却拒绝了接受牛,这样一来就会给以后做好事接受奖励的人造成很大的心理压力,因此反而会影响激励体制的运作,降低人们做好事的激励。
在我看来,以上这个故事对于我们思考开源软件的开发是很有借鉴意义的。一个开源生态要做得好,就需要让更多的企业和个人参与进来。这些参与者可能有各种各样的目的,其中的一些可能是秉持着早期IT人的自由共享精神,只讲奉献,不讲回报;而另一些则可能更多的是出于经济利益。从数量上看,后一类的企业和个人大概率会占到多数。因此,在鼓励开源软件发展时,我们固然要鼓励像华为这样的捐赠精神、倡导对社区和他人的奉献精神,但更重要的则是搞对激励,鼓励更多的人参与到项目中来,以更大的热情为项目作出贡献。
具体来说,我们一方面要加快相应的法律、法规建设,对涉及开源项目的权责利做好规范,尤其是对于人们在开源项目中得到的成果,要通过法律的形式予以保证。唯有如此,才能让更多人认识到参与开源有利可图,也才能更好地吸引他们的积极参与。另一方面,应该对优秀的开源盈利模式进行积极的推广和宣传,让更多的企业和个人看到开源项目究竟有哪些方式可以用来赚钱、来变现。
其次是要解决好有关开源的教育问题。尽管目前我国的开源事业发展迅猛,但与之配套的教育却仍然是不足的。这表现在多个层面:从纯粹的技术层面上看,一些技术开发人员对开源技术的了解还不多,掌握的相关知识还很少。从应用层面上看,很多企业,尤其是新创企业并没有对开源的利弊有充分了解,因而在实践当中并没有使用成本更为低廉的开源软硬件。再次,从法律层面上看,很多开源项目的开发者和使用者都对相关的法律法规缺乏了解,这就使他们的活动产生了很多法律的隐患。针对以上问题,在未来的一段时间内,继续加强关于开源的教育,恐怕是一项颇为紧要的工作。
再次是要解决好有关开源的服务问题。在现实当中,很多开源项目的参与者和使用者都是个人和小企业,他们对于很多问题(例如与开源相关的知识产权问题)都是缺乏处理能力的。因此,为了解决这些用户的后顾之忧,让他们更放心地参与到开源项目当中,相关的服务配套是必不可少的。目前,我国已经有了包括开放原子开源基金会等相关的组织出现了,但从数量上看,这些组织还相当不够。如果要比较好地解决好有关开源的服务问题,我们恐怕还需要相当一批类似的组织。