企业开源实践之旅:基于红帽客户的开源建设实践案例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.3 开源软件汇聚全球科技成果

Linux已经是当前著名的开源软件,在GitHub上有超过1.3万名来自世界各地的贡献者,16万star,8万多个克隆,虽然不是star最多的项目,但综合各项指标是当仁不让的第一大开源软件。应用Linux的计算机和设备数量远远超出其他任何操作系统和软件,我们熟悉的所有互联网终端,从手机、平板电脑、路由器、电视和电子游戏机到嵌入式系统都建构在Linux的基础上。类似的项目还有TensorFlow(在GitHub上有3300名贡献者、25万用户)和React(在GitHub上有1500名贡献者和1300万用户)等。

有些人会疑虑,开源软件不是由专职人员开发,这样的软件在企业中是否可用?是否稳定?实际上对于成熟的社区项目,大可不必有这样的担心。开源软件的开发者虽然来自不同公司甚至是个人,但是成熟社区有着完善的管理结构,以每个人对项目的实际贡献来赋予他权限,每个人也以自愿的方式承担更多的责任,虽然社区不发工资,但每个人都是实干家,绝对不会有外行领导内行的情况发生,以提交的代码数量和质量来决定社区中的哪些人可以评审其他人的代码,以及哪些人可以对技术路线进行决策。以CNCF的开源项目为例,在www.stackalytics.io中可以看到2023年2月的贡献构成里,全球顶尖的科技公司都是云原生的积极参与者,如图1-1所示。如果从GitHub上看,也可以看到很多专职工程师在为社区编写代码,而且是连续多年都在持续服务于某一个项目,甚至是在供职公司发生变化之后,仍然在为同一个项目贡献代码。

图1-1 不同企业在CNCF社区的贡献比例

有些人还会疑虑开源软件是否会有很多缺陷,事实证明,这种担心没有必要。从图1-2可以明显看到,随着社区的发展壮大,Linux系统缺陷的平均修复时间在不断减少。

图1-2 不同操作系统Bug修复周期

以华为公司为例,该公司持续参与Linux Kernel的开发项目。根据LWN的数据,2022年12月发布的Linux Kernel 6.1的贡献排名中,华为有117名员工参与了这一版本的研发,贡献的更新数量占整个版本的9.2%,超过Intel占据了第一的位置(如图1-3所示)。这期间华为解决了大量有关ARM64架构、内存管理、海思芯片等问题,通过Kernel社区将国内需要的功能输出到openEuler、Deepin、RHEL、SUSE等操作系统,为Linux能够在国内环境更好地发挥作用做出了巨大贡献。

图1-3 不同企业在Linux Kernel 6.1中的贡献排名