投稿邮箱

digitcw@163.com

您的位置:首页 > 产业观察 >
CentOS社区如何发展以加速创新?
作者:赵法彬   添加时间:2022-07-21
业内三位人士针对大家关心的话题进行了谈论。

(赵法彬/文)CentOS停止维护,而以CentOS Stream替代这两年来我们称之为后CentOS时代,对开源服务器操作系统市场影响很大,业界和用户也存在一些误解和迷茫,为此,Linux中国创始人王兴宇,开源布道师、社区和开发者业务策略师Brian Exelbierd,CentOS社区委员会成员Thomas Oulevey,通过网络针对相关话题进行了讨论。


CentOS与红帽的关系

CentOS(Community Enterprise Operating System),也叫社区企业操作系统,是企业Linux发行版领头羊Red Hat Enterprise Linux(RHEL)的再编译版本(是一个再发行版本),而且在RHEL的基础上修正了不少已知的Bug,相对于其他Linux发行版,其稳定性值得信赖。尤其是CentOS免费使用,大家可以使用它像使用RHEL一样去构筑企业级的Linux系统环境,但不需要向Red Hat付任何的费用。CentOS的技术支持主要通过社区的官方邮件列表、论坛和聊天室。每个版本的CentOS都会获得十年的支持(通过安全更新方式),新版本的CentOS大约每两年发行一次。

QQ截图20220721111315.jpg

Brian Exelbierd在红帽(Red Hat)负责RHEL的业务战略,本次以CentOS社区董事会的红帽联络员参与本次讨论。他介绍说,大概7年前,红帽收购了CentOS这个品牌,雇佣了CentOS项目的工程师,目的是提供一个平台给某些特定的高级开发,比如虚拟化、其他工具等运行于操作系统之上的组件开发,希望借此鼓励这些项目(虚拟化、其他工具)能够以开源项目的方式健康发展。随着时间的推移,我们逐渐意识到那些上层项目越来越依赖于底层操作系统的变化。我们发现CentOS正好可以作为这个底层操作系统,是一个很好的地方可以孵化其他项目,借此我们可以在做RHEL开发的同时,也去做RHEL之上其他组件(虚拟化、工具等)的开发,与广大社区开发者一起,每个人都可以促进底层操作系统与上层组件的协调发展。这就是我们发展CentOS项目,大概在3年前提出CentOS Stream的原因。

Brian强调说,红帽对待CentOS始终保持着一臂的距离,这就意味着红帽不去控制CentOS所做的事情,除非遇到一些挑战,比如法律相关的风险,我们只是为CentOS提供更多的资源,我们也不认为CentOS应该做的事情就是红帽产品线的一部分。从红帽产品线的视角来看,CentOS不是红帽的产品,红帽不提供对CentOS的支持,我们不对CentOS提供保证,我们也不对CentOS使能。RHEL和RHEL的衍生版如CentOS,有很多用户,客户和我们讨论的通常是RHEL,事实上我们没有通过CentOS服务客户。

Brian表示,作为一个以开源开发模式制作企业软件的公司,红帽深知任何人都可以拿到这个代码做他们想做的事情。我们希望的是,如果你拿到这个代码添加了新的功能或修复了bug,也要像其他人一样将你的改动回馈到社区里去。他还从红帽的角度提出了两点强调:一是我们在制作RHEL这个产品的时候,更多考虑的是我们客户群有什么样的特殊需求、特殊场景需要满足,解决他们的问题。二是开源软件公司为客户提供的价值不仅仅是代码本身,更多的是位于代码之上的东西。因为在源代码之上有很多价值,比如解决问题的能力、服务能力。


为何推出CentOS Stream

大概三年前加入CentOS董事会的Thomas表示,当时大家在讨论如何提高对CentOS社区的参与度问题,如何给用户更好的使用体验,有很多提议当时被提出来,最后大家认为CentOS Stream是我们在未来的一个正确的努力方向,通过这种模式可以提高CentOS的社区参与度。CentOS Stream的模式对社区版的企业级操作系统发展(CentOS)也至关重要,我们之所以会做出这样一个决定,就是想要改善社区的参与度。

QQ截图20220721111334.jpg

Brian解释说,我们看到CentOS Stream里有非常强有力的SIG(特别兴趣小组),通过“特别兴趣小组”也形成了CentOS项目的生态,特别兴趣小组的人们会提出很多想法,这些想法提出的初衷并不一定和RHEL相关,更多的是与社区参与者自己相关,或者说他们希望RHEL变成的样子,红帽也是以第三方观察者的身份去看这些想法如何在社区中酝酿、孵化,最终一些好的想法就会在RHEL的大版本中落地。

Thomas举例说,CentOS Stream 9是RHEL 9的上游,通过CentOS Stream,你可以直接参与到RHEL的开发当中,比如,你可以通过bugzilla提交问题,你也可以提交补丁。那么是不是你的补丁未经测试就可以加入到CentOS Stream里呢?不是的!与你一起工作的还有很多红帽的开发者,他们会和你一起检查代码,你写的补丁也要通过RHEL的测试流程,红帽会去看你的补丁是否满足RHEL的质量要求而最终决定是否被加入到CentOS Stream里。但整个流程是更开放了,你可以参与所有的讨论,通过CentOS Stream你可以直接参与对RHEL发展方向的讨论,你在Stream里所看到的就是即将发布的RHEL。

关于Stream出现前后社区的贡献,Brian从两个方面做了解答:一方面是贡献量的衡量,越来越多的公司、个人都在直接参与到对社区的贡献当中,这些贡献要么最终被收录到RHEL的代码当中,要么这些讨论依然保留在SIG里面。另一方面就是这种贡献的可能性,不是讨论Stream出现以来是不是贡献量更多的问题,而是Stream出现之前大家是没办法去贡献的,有了Stream才有了对CentOS项目贡献,进而影响到RHEL的可能性。要知道,之前对于CentOS项目贡献,只有两个途径:一是你的代码先被上游社区接受,然后被Fedora集成,然后被RHEL集成,最后出现在CentOS里,这是一个漫长的路径,而且不是最CentOS贡献;二是你必须是红帽的客户或合作伙伴,那么在打造RHEL的过程中,你的这个想法对于你的公司和红帽,都是一个高优先级的事情,那么会被优先加到RHEL里,然后出现在CentOS里。而现在有了Stream,就出现了第三个途径,就是你通过CentOS社区,通过Stream项目直接把你的贡献集成到RHEL里。例如,CentOS Stream 8是处在CentOS Linux模式到CentOS Stream的模式转变的过程当中,大家会发现所有的贡献基本都来源于红帽。但是CentOS Stream 9可以通过git log看到所有的贡献(CentOS Stream 9的代码提交日志和RHEL 9的代码提交日志是一样的),每一个贡献都可以去查看代码的修改轨迹、社区的讨论,bugzilla上的讨论。

Thomas认为,很多企业可能要使用一致的操作系统,需要满足安全性与稳定性要求,CentOS Stream和CentOS Linux是一样的。用户可能有些特殊的工作负载,有特殊的工作流程,就需要做好测试,确保操作系统能够满足要求。


CentOS社区未来发展计划

关于Fedora、CentOS Stream、RHEL的未来发展计划,Brian从两个维度做了回答。从社交组织的维度来看,第一,Fedora的主题是如何提高对Fedora的贡献,如何使得社区更多样化;第二,CentOS Stream和Fedora差不多,提高社区贡献和是社区更多样化,另外就是发展SIG(特殊兴趣小组),充分发挥SIG的作用;第三,RHEL将进一步繁荣包括社区、合作伙伴、客户的RHEL生态。

从代码的维度来看:第一,Fedora要集成上游社区最新最好的代码,功能最丰富,做业界的引领者;要面向特定的场景,做特色的发行版,如Fedora IoT,就是面向物联网场景的Fedora操作系统。第二,CentOS Stream:RHEL稳定可靠的持续交付版,用户可以提前看到即将发布的RHEL版本;基于稳定的代码基础,通过社区发展SIG,在特定领域创新。第三,关于RHEL,我们面向客户的销售团队有很多关于产品的介绍,相信红帽大中华区的同事们可以给大家很好的支持。

QQ截图20220721111251.jpg

对于CentOS如何在国内发展,王兴宇提出了几点建议。首先,CentOS在中国还是有非常多的受众和认知度的。几乎在国内传播Linux的文章,都会拿CentOS作为蓝本,而国外拿Ubuntu作为蓝本比较多一些。其次,在中国,无论是我们的社区文化还有语言,都造成中国的CentOS的爱好者或者贡献者很难与国际的CentOS社区直接对接起来,存在一定的阻碍。因此,第一,建议CentOS国际社区可以支持中国的CentOS本地化的社区,包括本地化的翻译等类似的工作。第二,一些线下的社区型的(partner)也可以得到国际社区的支持。第三,CentOS发生的一些事情(比如社区的动态、社区倡议、社区决策等)可以及时传达给中国社区。

Thomas也表示,我们的目标就是希望能够有更多的贡献者,尤其是来自中国社区的贡献者,因为这样我们可以把这个生态系统打造的越来越完善。