中国开源发展
除了国家层面的政策支持,2021 年中国开源也在各个层面迎来爆发。包括中国开源软件开发者数量再创新高,国内代码托管平台 Gitee 注册开发者数量突破 800 万,开发者贡献活跃度增长 102%;中国开源在国际舞台的影响力持续增强,越来越多的中国厂商以捐赠项目、提交代码等形式加入全球开源社区建设,成为国际主流开源软件基金会会员,开源基金会管理层加入中国面孔等。
针对这样一些令人欣喜的变化,首位 Apache 软件基金会华人董事,目前供职于美国硅谷一家开源技术公司的吴晟从国际视角发表了自己的看法。
吴晟:我从几个方面来聊一下我的看法。
首先从 Apache 开源软件基金会的角度来说,这是一个比较好的现象。来自中国的开发者数量提高,整个 2021 年进入 ASF 孵化器的项目都是中国的公司或者个人捐赠的。从项目的活跃度来看,中国捐赠给 ASF 的十几个项目,在社区活跃度、发版周期来看都比较健康,这些从 GitHub 代码托管平台的数据也能得到验证。
而谈到中国开源对世界的影响力,我认为大家还是应该冷静看待。从全球范围来看,开源实际上是一个长期的事情,很多在世界范围内有着巨大影响力的开源项目都有着十年以上的历史。而中国绝大部分开源项目和开发者都比较年轻,缺乏在一个长期过程中对项目进行长时间迭代的经历。
我们可以看到,近年来在国内无论是刚才提到的各大头部公司,还是一些相对比较火的项目,都还是比较年轻的,超过 5 年的项目在中国就已经非常少了。所以说我们的项目在国际上的影响力仍然十分有限。
但从另外一个角度来看,我们国内的厂商开始慢慢参考国外成熟开源社区运作的经验,慢慢培养开源相关人才,虽然仍需要很长的时间,但确实是走在一条正确的路上。我也希望国内今后想要参与开源的人或者参与开源的公司能够保持冷静,我们应该意识到绝大部分的开源并不是和商业盈利直接划等号的,不是说开源了就一定能挣钱,或者开源了就一定能吸引很多用户。
正如吴晟所说,客观冷静地来看,中国开源软件在世界上的影响力仍十分有限,国外先进的开源社区多年来在开源项目的运营方面确实有很多的经验。那么中国开源走向国际最需要学习的经验是什么呢?吴晟、黄东旭和谭中意分别从自己的视角为我们回答了这个问题。
吴晟认为,中国开源缺乏的是长线的积累,缺乏专注于某一个开源项目的资深开发者领袖。
吴晟:结合我在硅谷的经验,从我的理解来说,中美最大的区别是是否相信项目的前瞻性,以及是否能给项目足够的耐心。我们在国内经常讲究的是快速迭代,或者是要求达到了一个所谓的里程碑,而不是一个远景的方向,这会造成国内参与开源的人比较急功近利。
而在美国,实际上绝大部分参与开源的厂商会更专注于建立整个集成的生态系统,或者说专注于把自己的产品在未来打造成业内的事实标准,这些往往都是长线的、很难被量化的工作。这背后映射出来的,实际上是开源不仅需要很多来自的基金会、公司的长期支持,还需要很多优秀的资深开发者长时间地努力。
我想今天在座的各位老师都更愿意说自己还是一个工程师,一个开发者,其实也印证了这点。开源本质上有着非常强的个人英雄主义色彩,所以它需要很多优秀的个人开发者很长期的来做这件事,在一个长线的过程中去参与项目的发展方向。开源不仅需要物质层面的投入,还需要一个非常有经验的开发者长时间地去做研发的工作,来带领大家在一个很好的方向上做 5 年、10 年、20 年的迭代。
黄东旭的观点是国外开源技术在概念包装和产品能力上都值得国内开源从业者学习。
黄东旭:我参考了很多海外的开源项目,老实说我觉得中美文化特别大的区别有两点。
第一点就是他们很会设计一些新的概念。比如一些已有的技术,经过概念的包装,就会显得高大上起来,然后整个行业就会跟上去学习。而国内缺乏的就是这种将“远景”提出来然后感染大家,引领全球技术概念的人。什么时候中国人能够真正用我们的开源项目去引领一些全球都认可的概念,才算是掌握了真正的影响力和话语权。
第二点是产品经理其实特别重要。事实上,目前中国大多数的开源项目仍然是以开发者为导向的,“工程师味道”特别浓。而国外比较成熟的开源项目和社区,我们会发现他们产品的设计都非常强。这点我之前有分析过比较深层次的原因,是因为国内开源软件的应用场要解决的问题实在是太极端了。
在国内,很多开源软件最初就是为业务而生的“救命型产品”。比如 TiDB 最早期的用户,就是实在受不了业务上的分表,把 TiDB 当做救命型的产品来使用。
而海外往往没有中国这么极端的业务量,通俗来说就是已经内卷到了后期,开始“卷”易用性、UI 设计等用户体验层次的东西。而这些恰恰是中国开源软件仍然欠缺的。
谭中意则认为国内应该在教育阶段加入开源技术,并让高校学生所学技术离实际工作场景更近一些。
谭中意:刚才东旭和吴晟都说了我们的开源开发者相对国外开发者的差距,这些问题实际上不仅是在开源领域,在其他技术领域也同样存在。我觉得这与我们整体的技术发展时间和沉淀不够相关。
我们国内高校或培训机构对开发者的培养相对来说离真实的工业场景比较远。所以我觉得我们需要做的事情有两个方面。第一是鼓励更多的工程师站得高一点,看得远一点。第二就是在一些教育场景,我们看看如何能够利用开源软件帮助学生在进入职场的时候离生产场景更近一点,同时能针对某些拔尖的学生,更好地锻炼出他们的设计能力,而不仅仅只是编码能力。这个其实也是现在国际上几大开源基金会都在做的事情。
开源产业趋势
2021 年开源领域的另一大变化,就是全球开源产业的持续升温。一方面是国内外开源商业公司集中获得投融资或 IPO,创造新的财富神话。另一方面,在基础软件的最后一个壁垒——数据库领域,开源数据库流行度首次超过非开源数据库,改变了数据库 50 年来的历史。在操作系统、人工智能、云原生等领域不断开放之后,数据库领域开源占据主导地位,代表在基础软件领域的开源潮流已经历史性地占据上风。
针对这一现象,开源数据库从业者黄东旭首先发表了自己的观点。
黄东旭:第一个观点是过去我们在说开源的商业模式时,基本上都是类似红帽公司的模式,即做企业级市场,为企业提供传统的数据库、IT 系统等 ToB 服务。但现在我们可以明显感受到,开源的商业化逐渐从 ToB 变成 ToD,即面向开发者的模式。找到一个面向开发者的应用场景,加上 SaaS,加上云服务等,可以说现在开源的商业化模式道路已经越来越多。
第二点是这其实给国内开源公司带来了一些挑战。如之前所说,在中国有产品经理基因的优秀开源创业公司还是太少。很多中国开源创企可能有很好的技术,但在产品、推广、国际化等方面的综合能力,相比国外公司差距还是很大。开源商业的国际化其实是全方位的竞争,而国外开源企业在竞争中的优势正在加速扩大。
我相信开源其实是没有国界的,哪怕仅仅是面向中国市场的开源产品,也要在这个领域做到全球第一,才能更好地去做本土化。
在吴晟看来,北美市场中企业开源与否和商业化成功没有必然的联系,二者要区分开来。
吴晟:在硅谷或者说在北美,开源社区更多是作为连接用户的角色存在,商业本身其实在于和社区版完全不同级别的商业产品所提供的解决方案。
所以一般我们不太会说“因为你的东西开源了,那你就能更好地获得用户的信任”,因为北美市场其实不太关心你的软件产品是不是开源的。其实我们从最近 IPO 的一些案例也能看到,这些成功上市的公司产品既有核心开源的,也有完全商业化的包装模式。
开源只是一种很好地连接不同企业,不同国家,不同地区用户的手段。我们还是要站在商业的角度去看待一个产品,不能说开源成功就代表着商业的成功。
开源治理与安全挑战
最后,尽管 2021 年全球开源行业发展迅猛,但很多问题仍有待解决,其中开源治理和开源软件安全问题尤为重要。
2021 年 4 月,国内首个违反开源协议 GPL 的案件判决生效,为开源协议在国内的法律效力提供了案例支撑,具有划时代的意义。同时该案例也反映出国内一些企业对开源协议不了解以及开源治理流程的缺失;2021 年末,席卷全球的 Log4Shell 漏洞也为开源软件代码的安全性问题敲响了警钟。
吴晟认为,Log4Shell 事件事实上代表了全球软件行业不得不共同面对的一个问题。
吴晟:其实不管你的软件是开源还是闭源的,底层的基础设施使用开源软件几乎是一个板上钉钉的事实,开源软件已经无处不在。所以本质上这并不是一个简简单单的开源软件或者开源组件是不是安全的问题。开源已经是一种事实上的全球软件构建模式,它必须是一个全球通力合作的模式,所以我们得去接受它可能会存在漏洞这个事实,并且需要投入更多的资源、更多的精力去解决安全问题。
具体到 Apache Log4j2 存在 Log4Shell 漏洞这个问题。大家知道 Apache 软件基金会旗下共有 300 多个项目,基金会成立 20 多年来一直以低成本运作,完全靠志愿者驱动,基金会不会给任何人任何酬劳。
所以任何一个项目在确保软件供应链安全的时候,唯一的可能是投入更多的工程师对上游所依赖的每一级的库都或多或少的参与,如果每一个对有利益诉求的人都在向前去追溯,向前去参与,那么才能保证这个软件本身的安全,以及把这个软件本身的安全推动能够做得更好,能够及时的去修补它的漏洞。
事实上 Log4Shell 这个漏洞存在了很长时间,发现的也比较偶然,对安全漏洞评级也是很复杂的技术难题,没有办法一劳永逸。大家需要更客观地认识这是现代软件需要面临的挑战,而不仅仅是开源软件的问题。
最后,红薯从代码托管平台 Gitee 的角度,讲述了 Gitee 作为平台方在解决开源治理、代码安全等问题做出的努力。
红薯:首先这个 GPL 案件是一件非常好的事情,现实中人们对开源协议的关注还是太少,往往出了问题才会去研究,需要更多的案子来引起大家对开源协议的重视。
关于 Log4j2 存在安全漏洞的事件,这个项目本身影响力太大,从 Gitee 上的情况来看,最近很多软件版本更新非常频繁,也是因为大家都在更新 Log4j 的安全漏洞补丁。
从 Gitee 的角度来看,我们做开源代码托管平台,考虑的角度和具体做某个开源项目的团队不太一样。我们关注的是整个社区普遍的一些情况,我们一直在针对国内开源领域存在的各种问题,比如协议侵权、安全漏洞、个人开发者做出一些不理智的操作等,我们想要真正做一些事,来降低这些事情发生的比例。
比如前两年我们做了开源许可证的强提醒功能,很多开发者会开始关注我应该选什么样的许可证。在以前大家可能没有这样的意识。另外我们希望把开源贡献者协议植入平台,来影响更多开发者来注意开源作者应尽的责任、义务等。我觉得这些都是我们平台应该来做的一些事情。
《2021 年影响中国开源未来的十大热点》由开源中国发起,企业级开源分布式数据库供应商 PingCAP 提供技术支持。该报告从各个维度为圈内圈外人士解读了 2021 年影响中国开源未来的十大热点,希望能够让更多人认识开源、了解开源、参与开源,共同助力国内开源生态健康繁荣发展。
查看报告全文:https://talk.gitee.com/report/what-affecting-the-future-of-open-source-china-2021.pdf