Ubuntu和红帽谁对Linux贡献大
2011-01-04 15:08:19 阿炯

在开源社区,Linux可以说是最大的项目,也是一个自成体系的生态环境。另一方面,开源社区的文化讲求贡献,而这往往和贡献代码挂钩。很多公司企业每每在对开源示好,表达自己对开源社区的关注之时,所用的手段也往往是贡献代码;比如微软在去年向Linux社区发布2万行代码,Google统计说自己为800多个开源项目贡献了超过2千万行代码,还有之前的Sun也是很大的开源代码贡献者,甚至于红旗2000等国内企业也想方设法表达自己对开源社区 的贡献。

对于Linux项目而言,最大的代码贡献者除了进行Linux内核开发维护的Linus Torvalds和他的社区成员之外,自然是几个发行版的社区和厂商,在厂商这方面又尤其以红帽(Red Hat企业版Linux和Fedora)、Novell(SUSE)和Canonical(Ubuntu)为代表。因为厂商和社区的商业性质不同:厂商明显是赚钱的,而社区的大多数成员都不会因贡献代码而得到金钱上的报酬,所以开源社区从道义上总是对厂商们是否贡献了足够多的代码十分介意。甚至于厂商之间也经常拿这个来说事儿。本文的故事就是从红帽Linux开发人员和Canonical创始人之间的一场论战开始的。到底应该怎样看待厂商和开源社区之间的互惠关系?

且听下文分解:

前RedHat Fedora社区Linux项目开发人员,现任ISKME的CTO,Greg DeKoenigsberg在博客中炮轰Ubuntu的母公司Canonical。DeKoenigsberg说RedHat对如Gnome等开源项目的贡献远远超出了Canonical:

Canonical本质是一个营销组织,但他却把自己伪装成一个工程组织”。

真是一石激起千层浪,Canonical创始人Mark Shuttleworth立马在其博客中展开了反击,他说:“一个组织中的人去评论另一个组织的行为天生就是错误的”。Shuttleworth认为将关于开源项目开发的讨论变成“我的Linux发行版比你的更好”的争论简直是在浪费大家的时间。

其实这并不是一个新的争论点,Ubuntu开发人员自从Ubuntu从Debian分支以来就一直饱受Debian开发人员的侮辱,现在DeKoenigberg又给Ubuntu涂上了一层抹不去的骂名。Linux发行版之间的明争暗斗从来就未消停过。自从DeKoenigberg发表对Canonical的评论以来,他已经两次公开道歉了,他说:“事实上,我认为Canonical为Linux也做了很多事,我想说的是他其实和RedHat一样为Linux鞠躬尽瘁,只是在代码贡献量方面没有RedHat多而已”。

正如DeKoenigberg所说的那样,Canonical的确对Linux做出了很大的贡献,至少在Linux市场营销方面取得了很好的成绩,也让更多的人认识和了解了Linux。我敢打赌,你随便问一个计算机用户,让他说一个Linux发行版的名称,他一定会说“Ubuntu”,如果你问的是CIO或CTO,他们一定会说RedHat或Novell的SLES(SUSE企业级Linux服务器),但Canonical对于在大众中间普及 Linux所作出的努力是任何其它Linux公司都不能匹敌的。

的确,Canonical已经使Ubuntu成为一个家喻户晓的Linux发行版,与此同时,他们也吸引了数百万的Linux新用户,其中大部分都很粘Ubuntu。也有一些人用过Ubuntu后转向了其它发行版,如Ubuntu的分支Mint,当然也有RHEL(RedHat Enterprise Linux)

我也认为在相当长一段时间里,大家都是根据编码量来衡量对Linux的贡献的。现在我们应该换个角度来思考这个问题了,谁让Linux变得更普及?谁对Linux贡献的代码最多?谁在运营LUG(Linux用户组)和Linux社区?总之,那些致力于Linux发展的企业都是值得尊敬和表扬的。

为Linux贡献代码固然重要,RedHat在这方面当之无愧是领头羊,但除此之外,将Linux推向千家万户的Canonical也应该是一等功臣,只是我们需要换一种眼光看待问题。

Canonical创始人回应对Ubuntu的批评

Canonical创始人Mark Shuttleworth在博客上回应了Ubuntu没有对开源软件贡献太多代码的批评。Shuttleworth称,当他构想Ubuntu时,Linux生态系统已经相当完整了:内核,GNOME和KDE桌面,X和libc以及GCC 等工具,虽然有些缺陷但社区已经制定了路线解决问题。但是其中还有几个缺陷叫“营销”以及“终端用户”。因此他决定通过Ubuntu解决这两大问题。

Ubuntu试图将重心放在新的创意、新工具和新组件上。他认为这些贡献能扩大开源生态系统,虽然这些贡献不是给上游项目如X增加代码,但他们是做了别人没做的事情。

剑指衍生(Clones)版本,红帽限制对HEL代码访问

CentOS Stream 是由 Red Hat 公司推出的一个开源操作系统,它与 Red Hat Enterprise Linux(RHEL)密切相关。事实上,CentOS Stream 是 RHEL 开发过程中的一个中间流程(在发布新的 RHEL 版本之前,Red Hat 会在 CentOS Stream 开发平台中开发 RHEL 的源代码),是 RHEL 的预览版本,包含了其下一个发行版本的预期功能和更新。作为 RHEL 的衍生品,它们具有很多相似之处,两者在发布周期、支持周期、软件包、安全性等方面也有很多不同的地方。

除了 CentOS Stream,RHEL 还衍生出了 AlmaRocky、Oracle Linux 等诸多派生系统,前两者基本上系《CentOS 正式落幕》的衍生品。不过Red Hat 在2023年6月下旬宣布的一项改变可能会对这几个系统造成严重影响。其在博客中写道:随着 CentOS Stream 社区的不断壮大,以及应对企业软件世界新动态,我们希望将焦点集中在将 CentOS Stream 作为企业 Linux 创新的支柱上。我们将继续投资并增加对其的承诺。 CentOS Stream 现在将成为公共 RHEL 相关源代码发布的唯一仓库。 对于 Red Hat 客户和合作伙伴,依然可以根据其订阅协议通过 Red Hat Customer Portal 获得 RHEL 源代码。

需要明确的是,此更改不表示对 CentOS 项目、CentOS Stream 或 CentOS SIGs 源代码可用性进行任何更改。由于 CentOS Stream 现在将成为公共 RHEL 相关源代码发布的唯一仓库,这也意味着基于 RHEL 衍生出来的发行版(Alma,Rocky,Oracle Linux 等)将更难提供与 RHEL 版本 100% 兼容的构建。

至于为什么要做出这样的决定,Red Hat 则是在博客中表示:在 CentOS Stream 之前,Red Hat 将 RHEL 的公共源代码推送到 git.centos.org。当 CentOS 项目转向以 CentOS Stream 为中心时,尽管不再构建基于 RHEL 的 CentOS Linux,但我们仍然维护了这些仓库。围绕着 CentOS Stream 的参与、工程投资和我们正在解决的客户和合作伙伴的新优先事项使得维护单独、冗余的存储库效率低下。

简言之,作为上游的 RHEL,未来将只为付费客户提供服务

AlmaLinux随即在社交平台上发布公告,表示将研究这个改动对他们的影响,让社区成员不要恐慌。AlmaLinux 是一个基于 Red Hat Enterprise Linux(RHEL)的克隆版本,由 CloudLinux 公司发起创建。AlmaLinux 是在红帽决定停止开发 CentOS(非 Stream 版本)之后才建立的,它的开发始于 2020 年 12 月,第一个正式版本在 2021 年 3 月发布。其采用 RHEL 8 作为其基础,AlmaLinux 的源代码完全兼容 RHEL,这意味着用户可以在 AlmaLinux 上运行在 RHEL 上运行的所有应用程序和工具。

针对红帽发出的上述公告,表示将限制对 RHEL 源代码的访问,未来 CentOS Stream 将成为公共 RHEL 相关源代码发布的唯一仓库。对于红帽的客户和合作伙伴,依然可以根据其订阅协议通过 Red Hat Customer Portal 获得源代码。AlmaLinux 第一时间就在社交平台表示将研究这个改动对他们的影响。经过一天时间研究,他们发布了声明,公布了未来的一些计划。

日前红帽宣布了一项巨大的转变,影响了 RHEL 的所有重构建和分支。今后红帽将只在其 Red Hat Customer Portal 中发布 RHEL RPM 的源代码 。由于所有 RHEL 克隆都依赖于发布的源代码,这对整个红帽生态再次造成了破坏。

实际上,在红帽进行此次变动之前,Alma就已经注意到了一些不寻常的地方。在上周,Alma发现 Red Hat 8 的一些更新没有像以往那样在 git.centos.org 上发布。一开始以为这是一个错误,并向红帽提交了一份报告,但这个问题一直没有得到解决。直到看到红帽发出的公告才得到答案。此变化意味着作为 RHEL 克隆的构建者,现在除了要遵守软件源中所包含的许可和协议外,还要负责遵守围绕红帽接口的许可和协议。不幸的是,按照对上面的理解,红帽的用户接口协议表明,重新发布通过 Red Hat Customer Portal 获得的资源将违反这些协议。 这意味着我们需要一个新的解决方案。

在短期内的计划是提取 CentOS Stream 和 Oracle Linux 更新,以确保 AlmaLinux 可以获得持续的安全补丁。这可以确保它们与 RHEL 1:1 兼容,同时不违反红帽的许可。但从长远来看,将与其他 RHEL 下游产品和合作伙伴一起寻找合适的发展道路。


从《红帽:寻找开源企业的根本》一文中,也可发现在Red Hat被IBM收购后,其盈利倾向性愈发明显,红帽公司似乎陷入了某种困境。当然,相关厂商也会想方设法进行自救,OpenELA:企业 Linux 源代码的社区存储库