官方回应:“这是对开源的真正威胁”,红帽高管亲自撰文坦露心迹

6月21日,红帽在官网发布了《进一步推进CentOS Stream的演变》1,引发了一波激烈的讨论,其中不乏抨击之词。

我专门写了一篇《深度解读:红帽新规背叛开源惹众怒?》2,对其精神和影响进行解读,发表在“卫sir说”公众号上。

6月26日,官方回应来了,红帽官网发表了《Red Hat 对开放源代码的承诺:关于 git.centos.org 更改的回应》3,作者是Mike McGrath(以下简称Mike),他也正是6月21日发文的作者,他是Red Hat 的核心平台工程副总裁,网上被人称为红帽“高管”,其实谈不上。

看下来,总体而言,他说了这么几个意思:

  • 有些人的言论很糟糕,对我们的评论不公正。

  • 我们很辛苦,我们珍视开源,我们做出了多么有价值的工作。

  • 我们很懂开源,很了解开源许可证,而很多业内老手居然不懂这些,我很震惊。

  • 克隆我们没有意义,干点有价值的事吧。

  • 克隆是对开源公司的真正威胁,开源可能重回过去。

从我的第一感受而言,他有对的地方,也有我认为不对的地方。

本文的布局:先是翻译,再是原文,中间插入我的评论(蓝色字体)。

我觉得有必要声明:我所有的评论,仅针对Mike McGrath和他的言论。不针对红帽公司 (虽然Mike暗示他代表红帽,我觉得他的有些言论代表不了),更不针对红帽员工,感谢你们的专业技术和辛勤工作;尤其不针对我认识的在红帽工作的朋友,是你们让我感受到红帽员工的高深素养。如果我的评论让你不适,请忽略,请无视,并请谅解。

现在开始:


标题:Red Hat 对开放源代码的承诺:关于 git.centos.org 更改的回应

Title: Red Hat’s commitment to open source: A response to the git.centos.org changes

作者:Mike McGrath

我在这个周末花了很多时间散步,思考行业对我上篇博客的反应。我们被称为“邪恶”的,有人称我是 IBM 安排的高管,说我们要把 Red Hat 变成闭源软件,这些评论还算是比较“友好”的(笔者注:意思是还有更恶意的)。所以让我们来澄清一下。

I spent a lot of time walking this weekend thinking about the reaction from our industry to my last blog post. We’ve been called evil; I was called an IBM exec who was installed to turn Red Hat closed source — and that’s only the “nice” stuff. So let’s clear things up. 

我叫 Mike McGrath,是 Red Hat 的核心平台工程副总裁。我在这里工作已经16年了,在这之前,我是 Fedora 项目的一名志愿者。开源及其所包含的所有理念对我来说都非常重要。在过去的一周中,我看到许多人对辛勤工作的红帽人发表了很多不友善和不真实的言论,这些红帽人和我一样,是非常珍视开源的。

My name is Mike McGrath, and I’m the Vice President of Core Platforms Engineering at Red Hat. I’ve been here for 16 years, and before I started working here, I was a volunteer in the Fedora Project. Open source and all that phrase entails are very important to me. Over the past week, I’ve seen many people say many unkind and untrue things about hard-working Red Hatters who, like me, value this work to its core.

不管这些言论怎么说,我们仍然让非客户可以随时获取我们的劳动成果。Red Hat 将始终使用开源开发模式。当我们发现bug或编写新特性时,我们向上游贡献代码。这使得社区中的每个人都受益,而不仅仅是 Red Hat 及其客户。

Despite what’s currently being said about Red Hat, we make our hard work readily accessible to non-customers. Red Hat uses and will always use an open source development model. When we find a bug or write a feature, we contribute our code upstream. This benefits everyone in the community, not just Red Hat and our customers. 

我们不是简单地把上游的软件包重新编译。在 Red Hat,成千上万的人花时间编写代码,以新增功能、修复错误、集成不同的软件包,然后让这些软件能够长期地工作 —— 这也正是我们的客户和合作伙伴所需要的。

We don’t simply take upstream packages and rebuild them. At Red Hat, thousands of people spend their time writing code to enable new features, fixing bugs, integrating different packages and then supporting that work for a long time - something that our customers and partners need. 

我们花费大量的时间,包括加班,为的是把一个补丁打到已经有5年、10年、甚至更长时间的老版本操作系统上(笔者注:这个工作就叫backport,可译作“反向移植”);在任何时候,我们都在支持3-4个已发行的主要版本,对所有这些版本进行修补和backport。此外,在对 RHEL 的问题进行修补时,我们并不是只将修补用于 RHEL,我们会落实“上游优先”(upstream first)理念,我们会将修补先提供给 Fedora、CentOS Stream 或内核项目本身,然后还会做backport。维护和支持一个操作系统长达10年,这是多么艰巨的任务 — 而它的价值又是多么巨大。

This is about the hours and late nights we spend backporting a patch to code that is now 5 to 10 years old or older; at any given time, we are supporting 3-4 major release streams, while applying patches and backports to all. Additionally, when we develop fixes for issues in RHEL, we don't just apply them to RHEL - they are applied upstream first, to projects like Fedora, CentOS Stream or the kernel project itself, and we then backport them. Maintaining and supporting an operating system for 10 years is a Herculean task - there‘s enormous value in the work we do.

我们将始终向上游提供我们的代码,并遵守我们产品使用的开源许可证,其中包括 GPL。当我说我们遵守代码中各种开源许可证时,我是认真的。对于很多人在开源软件和特别是 GPL 方面犯下的大量错误,我深感到震惊和失望。**特别是一些业界观察家,甚至是我认为应该对开源许可证很了解的老手,他们居然也会犯错。开源许可证和知识产权方面的东西很重要,是这些东西让 Red Hat 知道来自哪里、坚持什么、如何发展。

We will always send our code upstream and abide by the open source licenses our products use, which includes the GPL. When I say we abide by the various open source licenses that apply to our code, I mean it. I was shocked and disappointed about how many people got so much wrong about open source software and the GPL in particular —especially, industry watchers and even veterans who I think should know better. The details — including open source licenses and rights — matter, and these are things Red Hat has helped to not only form but also preserve and evolve. 

我觉得,对我们最新关于下游源码政策表示愤怒的有两种人:一种是不想为 RHEL 付费的人,他们不想为我们的时间、精力和资源付费;另一种是希望将其重新打包,然后从中获取利益的人。他们对 RHEL 代码的需求是虚伪的。

I feel that much of the anger from our recent decision around the downstream sources comes from either those who do not want to pay for the time, effort and resources going into RHEL or those who want to repackage it for their own profit. This demand for RHEL code is disingenuous. 


卫sir评论:

看到这里,我就不同意了,为什么说这两种人就是虚伪的?仅仅是人家不想付费,仅仅是人家想重新打包获取利益?

我觉得这位Mike并不像他自己所说的那么懂开源,至少不是那么懂开源精神。开源(这里是指广义的开源,包括自由软件)的一个重要精神就是给人自由,而不是强迫、强制别人做什么,即便GPL强制开发者开放源码,那也是为了给最广大人民以自由。所有的开源许可证,都允许别人免费分发,都允许别人可以用开源牟利,怎么到你这里,就觉得想免费获得软件、想从中盈利的人就是虚伪呢?

固然,你们花了不少精力,投了不少资源,用了不少时间在做这事,但是那些从事开源的人,哪一个不是花费了大量时间和精力的人?Linus不是吗?Stallman不是吗?他们有任何人说过不付钱就是虚伪吗?有任何人说想通过自己软件盈利的人就是虚伪吗?

情操何在!想赚钱没有问题,我支持你赚钱,更支持你用开源赚钱,但是说那些想免费获取软件的人是虚伪,那就是你的不对了,人家的免费获取,是合法合规的免费获取!

如果有人说disingenuous不应该翻译成虚伪,那你可以试试“不诚实”、“不真诚”、“无诚意”、“不老实”、“狡猾”,意思差不多的。

下面继续原文:


我们必须向从事这项工作的人支付报酬,作为充满激情的贡献者,他们在漫长的时间和夜晚中不懈努力,他们相信开源的价值。将这些人生产的代码简单地重新打包,然后原封不动地转售,而并不增加任何价值,这使得开源软件的生产不可持续。这包括关键的backport工作,正在上游开发的未来功能和技术。如果这些工作不可持续,它就会停止,这对任何人都没有好处。

We have to pay the people to do that work — those passionate contributors grinding through those long hours and nights who believe in open source values. Simply repackaging the code that these individuals produce and reselling it as is, with no value added, makes the production of this open source software unsustainable. That includes critical backporting work and future features and technologies under development upstream. If that work becomes unsustainable, it will stop, and that's not good for anyone.


卫sir评论:

看到这里,我不由得想起《Working in Public》作者Nadia说的话:

“生产者不断地进行一场艰苦的战斗,以威胁、闭锁、乞求、指责和羞辱消费者,迫使他们付费。”

Producers constantly fight an uphill battle to threaten, lock down, beg, blame, and shame consumers into paying for content.

多么熟悉的戏码。

还是那句话,要钱没问题,我同意,但要允许有人合法地不爱给钱。

极力说服别人给钱也没问题,但这段话和比尔盖茨多年前的话多么相似?

人家还只是声讨那些盗版的人。这倒好,开始攻击合法人群了。

1976年2月3日,比尔·盖茨给电脑爱好者们写了一封公开信,抱怨未经授权使用 Altair BASIC 的情况太普遍,导致新成立的微软公司回报甚微。这封信相当有名,被看作是软件通过商业授权获取收入的真正开端。

继续原文:


我想特别提出,重新编译者(笔者注:英文rebuilder,这里翻译为重新编译者,其实就是克隆版制造者)和那些有真正改动的发行版制作者是不一样的,比如后者可能为操作系统添加新的架构或编译选项。( 我们完全支持你扩展 Linux 的功能,而不是模仿后者)。

I want to specifically mention the rebuilders, different from distributions that might, for example, add a new architecture or compile flag (we fully support you in expanding Linux capabilities rather than imitating them). 

曾经有一段时间,并不是很久之前,Red Hat 认为像 CentOS 这样的重新编译者所做的工作非常有价值。我们把 SRPM包以一种整洁的方式推送到 git.centos.org 上,使它们易于重新编译,我们甚至还为他们去除了品牌标识。但是最近,我们确切地认为,下游的再编译没有什么意义。

There was a time, not too long ago, that Red Hat found value in the work done by rebuilders like CentOS. We pushed our SRPMs out to git.centos.org in a neat package that made them easy to rebuild; we even de-branded it for them. More recently, we have determined that there isn’t value in having a downstream rebuilder. 


卫sir评论:

不得不说,Mike很坦率地说出了他的真实想法。

正如某些人前几天已经犀利指出的,红帽以前觉得克隆版(如CentOS)很好,能帮助自己,现在觉得,克隆版帮不上忙,没价值。


普遍接受的观点是,这些免费的克隆版,可以像漏斗那样,产生 RHEL 专家,并最终转化为销售(笔者注:这里用漏斗比喻大量的使用者中会产生少量的专家和销售量),但事实并非如此。我原本希望我们生活在这样的世界,但实际情况并不是这样。相反,我们发现一群用户,其中许多人属于大型或非常大型的 IT 组织,他们希望具备 RHEL 的稳定性、生命周期和硬件生态系统,而无需用实际行动支持创建RHEL的维护者、工程师、写作者以及其他多个角色的人,他们也决定不使用其他众多的 Linux 发行版之一。

The generally accepted position that these free rebuilds are just funnels churning out RHEL experts and turning into sales just isn’t reality. I wish we lived in that world, but it’s not how it actually plays out. Instead, we’ve found a group of users, many of whom belong to large or very large IT organizations, that want the stability, lifecycle and hardware ecosystem of RHEL without having to actually support the maintainers, engineers, writers, and many more roles that create it. These users also have decided not to use one of the many other Linux distributions.


卫sir说:

又是熟悉的声音:“我们辛辛苦苦做的东西,大厂用了,大厂还拿这个赚钱了,这太不公平了。”

前两年,有很多这种抱怨,后来他们纷纷改了许可证,比如改用BSL、SSPL(这两个不被承认为开源许可证),因为他们有版权。

红帽应该不太好改。除非它往RHEL里面加入私有软件。


在一个健康的开源生态系统中,竞争和创新是相辅相成的。Red Hat、SUSE、Canonical、AWS 和微软都创建了Linux发行版,并进行了相应的品牌推广和生态开发。这些变种都利用并贡献了 Linux 源代码,但没有一个声称与其他发行版“完全兼容”。

In a healthy open source ecosystem, competition and innovation go hand-in-hand. Red Hat, SUSE, Canonical, AWS and Microsoft all create Linux distributions with associated branding and ecosystem development efforts. These variants all utilize and contribute Linux source code, but none claim to be “fully compatible” with the others.

最终,我们没有发现 RHEL 克隆版的价值,我们也没有义务让克隆工作更容易;这是我们的决定。说到这里,我说说 CentOS Stream,人们对它的认识有非常多的误解。我承认,这是对长期以来传统做法的改变,我们超越了这个传统,这种改变会引起某些困惑。这种困惑表现为指责我们闭源和涉嫌 GPL 违规。CentOS Stream 有二进制可交付文件和源代码仓库两个部分。CentOS Stream 的 gitlab 源代码是我们在其中构建 RHEL 发布版,对所有人公开。称 RHEL 为“闭源”是明显不真实和不准确的。CentOS Stream 的开发速度比 RHEL 更快,所以它可能不在 HEAD 上,但代码是存在的。如果你找不到它,请告诉我们 - 这是一个错误。

Ultimately, we do not find value in a RHEL rebuild and we are not under any obligation to make things easier for rebuilders; this is our call to make. That brings me to CentOS Stream, of which there is immense confusion. I acknowledge that this is a change in a longstanding tradition where we went above and beyond, and change like this can cause some confusion. That confusion manifested as accusations about us going closed-source and about alleged GPL violations. There is CentOS Stream the binary deliverable, and CentOS Stream the source repository. The CentOS Stream gitlab source is where we build RHEL releases, in the open for all to see. To call RHEL “closed source” is categorically untrue and inaccurate. CentOS Stream moves faster than RHEL, so it might not be on HEAD, but the code is there. If you can’t find it, it’s a bug – please let us know.


卫sir说:

那句“我们没有发现 RHEL 克隆版的价值,我们也没有义务让克隆工作更容易”,和我上篇文章推测的一模一样,和很多人的第一感受一模一样。

我支持你们的决定,你们并没有闭源,也没有违背GPL,这是我必须要说的。

客观地说,关于CentOS Stream 代码那块,他说的是对的,RHEL的代码确实都在CentOS Stream上,RHEL上没有任何私货。只不过CentOS Stream上的代码要略微新一些。

我和一位认识的在红帽工作的权威资深专家交流,他说:

RHEL在开发的时候,有一个代码树,这个代码树主干就是CentOS Stream。RHEL的开发规则是必须经过所有的质量保证测试,patch才会被加到这个主干上。这些patch都是backport过后的patch,bug fix这些,这些patch基本都是红帽做的工作,为维持长生命周期稳定运行而做的工作。patch加到这个主干上,我们就认为是稳定的了,不再测试了。所以主干就是所有patch待发布之前的状态,是全集。RHEL的小版本,就是在固定的时间点(大概每隔半年)从这个主干上拉代码下来,打包发布。”

“如果有不一致(笔者注:说RHEL和CentOS Stream),就是时间差,因为时间差而不一致的那些补丁(笔者注:比如昨天上午9:00开始做RHEL的小版本,今天早上9:00发布,那么昨天9:00到今天9:00新入CentOS Stream的patch,就是RHEL和CentOS Stream的差异),(笔者注:这些新加入的patch)迟早会被加到RHEL里,而不是说有些补丁是小白鼠版的,永远就不加了。”

“我知道有人可能担心这些补丁有没有猫腻,但这些补丁是被一视同仁的,没有特殊的标记。而且每一个补丁的提交记录公众都可以看到,有没有猫腻一目了然。”

大概意思就是:CentOS Stream上的源码,最终全部都会进入RHEL,无一遗漏,只是时间问题而已。RHEL就是从CentOS Stream代码主干上编译构建出来的。只不过CentOS Stream是滚动发布,RHEL有定期的大小版本。

看到这里,明白人应该明白,从CentOS Stream上做RHEL克隆,是可行的,只不过不被欢迎。

继续原文:


我们还提供免费的开发者订阅,向开源基础设施提供免费的RHEL。开发者订阅为开发者提供免费的RHEL,并允许在最多 16 个系统上免费使用。这可以让个人用于自己的工作,也可以让RHEL客户用于其员工的工作。 开源基础设施的RHEL是为了让开源项目(无论他们是否与红帽有任何关联)能够免费使用RHEL来构建他们的基础设施,满足他们的开发需求。

We also provide no-cost Red Hat Developer subscriptions and Red Hat Enterprise Linux (RHEL) for Open Source Infrastructure. The developer subscription provides no-cost RHEL to developers and enables usage for up to 16 systems, again, at no-cost. This can be used by individuals for their own work and by RHEL customers for the work of their employees. RHEL for Open Source Infrastructure is intended to give open source projects (whether or not they’re affiliated with Red Hat in any way) access to no-cost RHEL for their infrastructure and development needs.

最后,我想向所有开源公司说,无论您的代码是否已经开源,或者您正在考虑转向开源模式。从任何角度来看,Red Hat 已经“成功了”,我希望许多开源公司像我们一样能够成功。你可以自己决定下游克隆对你是否有价值,让克隆变得更容易,或是更不容易,是你的决定。

Finally, I’d like to address every open source company out there, whether your code is open today or you’re considering moving to an open source model. By any measure, Red Hat has “made it” and I hope many open source companies can succeed as we have. You can decide for yourself whether downstream rebuilds are valuable for you and it’s your call to make it easy, or not. 

简单地重新编译代码,而没有增加价值,也没有任何改动,这对任何开源公司都是一个真正的威胁。这对开源是真正的威胁,它有可能将开源重新变回为业余爱好和黑客活动。

Simply rebuilding code, without adding value or changing it in any way, represents a real threat to open source companies everywhere. This is a real threat to open source, and one that has the potential to revert open source back into a hobbyist- and hackers-only activity.


卫sir评论:

不得不说,这话很有分量。

但有一部分是错的。

克隆真的没有价值或者没有增加任何价值吗?错,克隆的价值在于,让那些买不起或者不想买商业版的广大程序员,有了一个可以不买的选择,让自由软件和开源软件的创始人们,能够看到人们可以自由地免费地使用开源软件和自由软件,而不是不得不花钱去买商业软件。

红帽已经做的很好了,开发者可以使用免费的RHEL,并允许在最多 16 个系统上免费使用,但是开发者不喜欢任何限制。

至于大厂免费用RHEL克隆版赚钱,我也不喜欢,但这就是现实,你可以选择不让大厂用,如果你有好的方法。

克隆版"可能将开源重新变回为业余爱好和黑客活动”,这是最具恐吓力的话,会吗?

这事细思恐极,难道真的要应验1976年盖茨说的那番话吗?

盖茨在给电脑爱好者的公开信中说:“对我来讲,现在的电脑爱好者圈里最要命的问题就是缺乏优秀软件,相关书籍和应用软件。……你们现在所做的一切正在阻止人们去编写好的软件。……谁会从事专业的软件开发却分文无获。哪有业余爱好者会花费3人年的精力去编写软件,去修正软件,编写使用手册却免费发放给别人使用。事实上,只有我们大量投资来为个人电脑做软件。我们已经写了 6800BASIC 写成了 8080APL 和 6800APL,但是现在几乎没有什么动力让我们向你们提供这些软件。说白了,你们的所作所为就是盗窃(Theft)。……”

也许,开源软件真的需要改一改许可证(不改的话,就是红帽现在面临的窘境),改一改OSD(开源定义),这样才能健康地发展下去???

只有更加地商业化,才能让软件行业更好地发展吗?

我今天没有时间分析这些,以后也许会有。

继续原文:


我们不希望发生这种情况,我知道我们的社区成员、客户和伙伴也不希望如此。创新发生在上游,站在他人的肩膀上是开源的精髓。让我们继续推动创新,相互支持,不断前进。

We don’t want that and I know our community members, customers and partners don’t want that. Innovation happens in the upstream. Building on the shoulders of others is what open source is about. Let’s continue to drive innovation, support one another and keep moving forward.

Mike原文结束。 


卫sir说:

有人也许认为我是开源的死忠粉,其实并不是。

互联网有一句名言:“信息想要免费”。(Information Wants to be Free)

我说:只要可以商业化,软件就想要收费。(Software Wants to be Paid)

我从来不反对开源软件的商业化,只要可以,就应想法收钱。

如果还不可以收钱,或者并不在乎钱,就先开源着。

如果保持开源的同时你还能赚钱,那是你的本事,为你竖大拇指。

如果保持开源不利于一个完全可以收钱的软件收钱,那就可以考虑使用新的许可证。

如果是你自己写的软件,你的软件的新版本完全可以更换为商业许可证。

即便以前你发布时用的是GPL许可证。

作者:卫剑钒


  1. https://www.redhat.com/en/blog/furthering-evolution-centos-stream 

  2. https://mp.weixin.qq.com/s/pZzgfguO234pG_b6jFoCRw 

  3. https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes 

猜你喜欢

转载自blog.csdn.net/vigor2323/article/details/131447689