CentOS 生态离开红帽无法继续繁荣,这才是开源的悲哀
红帽核心平台副总裁 Mike McGrath 对变更软件源策略,产生的影响做了最新的回应。从他的回应里体现了红帽对 CentOS 生态的担心。
如果 CentOS 生态离开红帽,就无法继续繁荣发展,那说明这个生态是有问题的。软件源更新策略变更后,大家愤怒的情绪来自于,无法使用 RHEL 源码打包一个运行稳定、性能优越的 CentOS。而「这些愤怒情绪要么来自于那些不愿为生产 RHEL 需要付出时间、精力和资源付费的人,要么来自那些因为自己的利益而想要重新打包它的人」。大家构建 Linux 严重依赖于稳定的 RHEL 源码,而这是 CentOS 生态最脆弱的点,因为只有红帽负责提供和维护 RHEL 源码,如果红帽不提供了,或者不维护了,那么下游开发者改怎么办呢?「如果是仅仅重新构建代码,而不对现有代码增加价值或进行任何修改,对于所有开源公司来说,这才是真正的威胁。」,「对开源来说是一个真正的威胁,有可能将开源重新变回到只适用于业余爱好者和黑客的活动」。
CentOS 生态里的每个企业都应该拥有使用 RPM 自行构建软件包的能力,因为 RPM 的软件包构建规则是明确的,每个开源项目的源代码是开源的,所以自行构建软件包是行得通的。多年来,行业的惯性思维是向红帽要源码,而今天红帽提供了一些包含「不稳定杂质」的源码,社区中的企业应该有能力把这些「不稳定的杂质」去除,这是自己技术实力的体现,是对 CentOS 社区的贡献,也是社区持续繁荣的重要保障。
至于与 CentOS 的兼容问题,Mike 认为「我们完全支持您扩展 Linux 的功能,而不是模仿这些功能」。我的理解是红帽鼓励使用 RHEL 源码进行创新,敢于与 CentOS 不兼容,不兼容本身就是一种需要提交代码和贡献上游社区才可以解决的创新。
Mike 认为「创新发生在上游」,「拥有下游重新构建者没有价值」。所以上面这些企业对「RHEL 源码的需求是不诚实的」。红帽认为 RHEL 源码的最大价值是用来向上游社区贡献代码,孵化开源项目,让创新发生。不应该是现在的状态:红帽软件负责大部分创新和软件维护,其他企业负责大部分的打包和 Linux 发布,而无需担任维护者和工程师的角色。这里面不乏许多来自大型或超大型的 IT 组织,「我们没有义务让这些企业的工作更加容易」。相信很多反感白嫖开源的人,都能明白。
至于那些「不愿为生产 RHEL 需要付出时间、精力和资源付费的人」,那些愤怒的人,那只能是 Mike 说的「有那么多的人对开源软件和 GPL 产生如此多的误解,我感到震惊和失望」,体现的是开源合规知识的匮乏。「CentOS Stream 的更新速度比 RHEL 快,RHEL 虽不一定指向最新代码,但代码就是在那里的」。我们应该花一些力气,从这些代码里找到构建运行稳定、性能优越 Linux 的方法。
企业主导的开源生态有一个重要特点:生态的繁荣与否,取决于主导企业的是否持续投入,受主导企业的企业战略影响。CentOS 生态由红帽主导,红帽在 CentOS 上的变化是其企业战略的外在表现:RHEL 和 OpenShift 是红帽迈向云原生时代的两把武器,OpenShift 必须运行在 RHEL 之上,RHEL 也必须是运行在 OpenShift 中的性能最优容器系统。这两项技术是如今红帽安身立命的根本。为了让开发者适应这种变化,红帽向开发者提供了免费的 OpenShift 和 RHEL,「最多在 16 个系统上使用」,免费提供的 OpenShift 和 RHEL 都是二进制版本。
如果红帽不求变,还是像上一个时代靠许可证来获得营收,那么红帽将失去在容器技术和操作系统上的商业利益和技术主导权。真的到了那个时候,又有谁可以担起维护 CentOS 生态的责任呢?我想那才是开源的悲哀。
对于这次改变 RHEL 源码发布策略,红帽有什么要说的呢?7 月 10 日晚 8 点,红帽首席架构师张家驹做客《极客有约》直播间,跟大家分享新开源政策背后的故事。
微信扫码关注该文公众号作者