开源社区

从CentOS Stream的转换中重新审视技术之美

从CentOS Stream的转换中重新审视技术之美

  • 发布:
  • 人气: 10
  • 评论: 0
标签:

应用介绍

  开源社区的本质决定了其特点就是开放和创新,但从商业世界的视角出发,却往往很难对此有透彻的理解。

  开源社区的本质决定了其特点就是开放和创新,但从商业世界的视角出发,却往往很难对此有透彻的理解。CentOS Linux 8作为Red Hat Enterprise Linux 8(RHEL)的免费替代品,尽管进入自己的EOL(生命周期结束)已经有很长一段时间,但由此引发的争论却一直没有停息过。而近日,开源布道师兼社区和开发者业务策略师Brian Exelbierd、CentOS社区委员会成员Thomas Oulevey,以及Linux中国创始人王兴宇之间的一次讨论,让我们有机会从社区的角度去理解技术之美的根源。

  在人们的印象里,红帽和CentOS项目是一回事,但实际上这却是一种误解。7年前,红帽收购了CentOS这个品牌,雇佣了CentOS项目的工程师,但事实上红帽和CentOS之间,却一直保持着一定的距离。除非遇到类似法律风险这样的挑战,红帽并不会去主动控制CentOS社区所做的事情。

  作为红帽公司的一员,Brian Exelbierd强调:“我们只是为CentOS提供更多的资源,我们也不认为CentOS是红帽产品线的一部分。从红帽产品线的视角来看,CentOS不是红帽的产品,红帽也不提供对CentOS的支持。RHEL就是基于CentOS Stream而制作出来,因此CentOS对于红帽的产品确实是非常重要,但CentOS所做的工作却都是基于开源的代码库。”这段话透露了一个重要的信息,这就是CentOS社区有足够的权限来决定自己可以做哪些事情。

  Brian Exelbierd肯定了这种说法,他介绍说:“CentOS的治理模式和很多其他开源项目的运作模式有所不同。CentOS有一个治理委员会(董事会),这个治理委员会的作用就是要保证委员会里每一个人都对一个新决策达成共识。这种共识可能是肯定的,也可能是否定的,或干脆就是一种中立的意见,但这种共识却一定是要治理委员会中每个人都认可的。”

  红帽一开始资助CentOS项目的目的,是要给类似虚拟化这样高级组件的开发者提供一个操作系统,这些高级组件就能够以开源项目的方式健康发展。随着时间的推移,社区开发者发现这些上层项目越来越依赖于底层操作系统的变化。在这样的条件之下,三年前社区就萌生了用CentOS Stream替代CentOS的想法,因为这样可以让更多社区开发者融入创新活动。

  关于CentOS与CentOS Stream在创新方面的区别,Brian Exelbierd认为其中最大的差别在于实现了从零到一的突破:“之前如果你想为CentOS项目做出贡献,途径只有两条。第一条途径是你的代码先被上游社区接受,然后再被Fedora集成,最后还要被RHEL集成,才会出现在CentOS里,这是一条漫长的路径。第二条是你必须先成为红帽的客户或合作伙伴,在打造RHEL的过程中,你的想法会获得一个高优先级,会被优先加到RHEL里,然后出现在CentOS里。而CentOS Stream提供了一条完全不同的路径,通过CentOS社区里的Stream项目,你的贡献可以直接集成进RHEL里。”

  这确实算得上是一个从零到一的突破,CentOS Stream 8因为处于从CentOS Linux模式到CentOS Stream模式转变的过程,所以在Gitlab上记录的贡献几乎全部来源于红帽。反过来到了CentOS Stream 9,Gitlab记录了非常多的代码修改轨迹,社区和Bugzilla上的讨论也说明有更多开发者参与了进来。

  CentOS Stream社区内的创新组织也得到了进一步发展,Thomas Oulevey介绍了SIG(特别兴趣小组)的作用:“SIG(特别兴趣小组)形成了CentOS项目的生态,他们会提出很多想法,这些想法的初衷并不一定是和RHEL相关,而更多是和社区参与者自己有关。红帽在社区中以第三方观察者的身份去审视这些想法在社区中酝酿、孵化,最终一些好的想法就会在RHEL的大版本中落地。”

  Thomas Oulevey强调:“CentOS Stream的社区确实在变得越来越好,越来越开放,但并不是所有的补丁在未经测试就可以加入到CentOS Stream里,社区中还有很多的红帽开发者,他们会和贡献者一起检查代码,同时贡献者所写的补丁也要通过RHEL的测试流程。”社区变得越来越开放,但同时审核工作却越来越严格,所以CentOS Stream绝非不稳定版本。

  在从CentOS到CentOS Stream的转换过程中,许多用户认为CentOS已死,其他版本的Linux也希望借机扩大自己的用户数量。Thomas Oulevey却从开源的角度给出了完全出人意料的答案。

  Thomas Oulevey从社区的角度回应了这个问题:“开始的时候我们确实听到了一些抱怨或担忧的声音,有人认为红帽从源头上杀死了制作CentOS的可能性,但我要澄清的是,任何人都可以制作CentOS Linux。有些人已经和我们取得了联系,并且获得了我们的帮助。我要强调这是大家的自由,我们也不会去阻止人们去做他们想做的事情。相反,我们欢迎大家一起到CentOS社区里来讨论,给我们反馈。”

  Brian Exelbierd则从红帽的角度解释了这个问题:“我听到的反馈一开始让我很震惊。早期我听到一种声音:用户桌子上有一台Linux服务器,一直在使用CentOS Linux,现在他们应当怎么办?我得说,这很好办,用户完全可以使用免费的个人开发者版本的RHEL。我们真不是试图让用户付费,也不是想借此扩大市场占有率,我们的目的只有一个,就是促进开源社区的发展。社区的繁荣也帮助了红帽,便利了用户。原来发布RHEL的小版本时,要收集用户反馈太难了,而现在有了CentOS Stream,用户就可以提早知道在下一个RHEL的小版本中,红帽将修复什么漏洞,提供什么新功能。这样用户就可以提早将他们的系统与红帽的操作系统做持续集成,而不用等到下一版RHEL发布时,再开始做这些工作。”

  开源的本质就在于任何人都可以拿到源代码之后,做他们想做的事情,这样ICT的世界将变得更加多彩和便利。当人们享受到这些便利之后,为了更好地享受这种便利,就需要创造一个机制,将人们做的更新或修复的漏洞回馈给社区,社区因此变得更加健壮,开源世界也因此而进入了一个良性的循环。因此,从开源本质的角度来讲,CentOS演变成多个版本,而又能实现共享,我们确实可以因此而收获一个更加多彩的社区世界。

  Thomas Oulevey强调说:“从我的角度来看,我不想从竞争者或市场占有率这样的角度去看待其他Linux产品。我想强调的是,如果是RHEL的衍生版,如果愿意和我们取得联系,我们很乐意提供帮助。我们是开放的,开源社区就应该这样。以往要看RHEL是怎么制作的,你需要和红帽签NDA,现在根本不用,你通过CentOS Stream就可以看到非常具体、非常细节的操作。从我的经验来看,CentOS Linux和CentOS Stream的表现没有什么不同,但大家要明白开源的价值并不仅仅在源代码,越多人利用源代码创新,开源项目本身的价值才会越来越高。”

  作为Fedora社区的架构师,Brian Exelbierd多年来一直致力于开源参与度的提升。从世界开源版图来看,其中的重点在两个地区,一个是南美,另一个是亚洲。由于中国迅速增长的IT精英数量,使得中国成为了开源社区最想拓展的地区。但另一方面,Brian Exelbierd却一直困惑于如何提升中国开源社区的参与人数和活跃程度。

  作为CentOS社区委员会成员,Thomas Oulevey反复呼吁:“我们一直都是开放的,希望更多的人加入。我们尤其欢迎来自中国国内的开发者加入,管理委员会也已向能力强的开源开发者开放。如果大家认识爱好开源并且工作能力优秀的候选人,一定要推荐给我们。”

  谈起中国开源社区的成长,深耕国内开源社区多年的王兴宇表示:“国际开源社区的本地化改造工作,直接影响着它在中国国内的发展。例如语言的障碍,往往让开源参与者望而却步。这个时候,本地化的翻译工作就变得非常重要。另一方面,国外流行的Facebook、Telegram、Twitter等社交媒体,在国内都是不可用的,传统的邮件列表方式,在国内的开发者中也并不受欢迎。国内常用的QQ和微信,却因为使用习惯问题,并不被国外社区所接受。因此国际开源社区的动态、决策也需要用更本地化的方式,传送给国内的开源参与者。”

  软件正在吞噬世界,而开源在主导软件。所以软件通过定义世界,已经取得了世界的主导权。而在这个过程中,当我们需要一个完㺯世界时,我们首先就需要一个完美的社区,以吸引更多人才加入进去,让软件之美一步步落地。由此可见,完美世界的基础,正是走向完美的社区生态。

  目前,从Fedora到CentOS Stream,再到RHEL,已经形成了一个完整的社区体系。其中,Fedora集成上游社区最新、最好的代码,以提升开源参与者对于Fedora的贡献,让社区变得更加多样化为己任。CentOS Stream基于稳定的代码基础,通过社区发展SIG,在特定领域创新;同时为RHEL提交稳定可靠的持续交付版。在此基础之上,RHEL进一步繁荣包括社区、合作伙伴、客户的RHEL生态。万事具备之下,作为开源爱好者,为了心中的完美世界,他们所需要做的,当然是融入进去,去挥洒他们的创意,让梦想实现。

相关应用