事件回顾
当地时间 3 月 15 日,Docker 向所有 Free Team 的 Docker Hub 用户发送了一封电子邮件,声称如果未来一个月内没有升级到付费团队,他们的帐户就会被删除,包括所有镜像。任何受影响组织的“订阅”栏都被标记为“Docker Free Team”。
邮件大意:
Docker 正在淘汰 Free Team 组织,因为该免费功能与付费的 Docker Team 订阅有很多相同的特性、费率和功能。
如果您使用的是旧版 Free Team 组织,则将于 2023 年 4 月 14 日(UTC 时间晚上 11:59)暂停访问一切付费功能(包括私有存储库)。需要在 2023 年 4 月 14 日之前升级订阅,才能继续访问您的组织。
如果您不升级到付费订阅,Docker 将保留您的组织数据 30 天,之后将其删除。在此期间会保留你对公共存储库的访问权限,但将进行速率限制。
如果您升级到付费订阅,则可以在 30 天内的任何时候恢复对组织帐户的访问权限。
这一决定引发了遗留 Free Team 组织的用户不满。网友“josegonzalez”表示,目前为止,这件事情的惊人之处在于电子邮件没有表明:
如果没有付费,团队会得到什么后果
在什么时间、具体什么内容会被删掉
组织账户被删除后,其他人是否可以复制这些镜像
OSS 组织拥有组织账户该怎么办,他们还不存在中心计费的情况(相当常见)
如何更好地将机器人用户作为付费团队的一部分
“我了解这件事的唯一方法是查看我的电子邮件——我很快去看了他们的博客,但没有找到与这封电子邮件相关的任何内容。”josegonzalez 说道,“如果有的话,我想将我的团队(dokku 和 gliderlabs)转换为单一帐户,但似乎没有办法做到这一点。”
“我知道公司盈利是必要的,但可能花 5 分钟以上的时间来制作电子邮件并为您的用户考虑下结果(他们已经对您的定价变化感到生气)并不费力。现在这样只会让我觉得我应该将我的主机转移到付费的东西(ECR?)、删除账户,然后对镜像做 URL 劫持。”josegonzalez 补充道。
在社区开发者对于 Docker 的行为群雄激愤之际,公司 CTO Justin Cormack 在 Twitter 上回复网友问题时却表现出了强硬态度,他表示 Docker 会关闭不付费的账户,而且不允许任何其他人接管账户。
当地时间 3 月 16 日,随着社区“声讨”之声越来越大,Docker 终究顶不住压力在主页发布了另外一篇公告,为结束 Free Team 时采取的不当方式道歉。
Docker 表示,他们此举仅影响了不到 2%的社区内的活跃组织账户。其他服务包括 Docker Personal、Docker Pro、Docker Team 或 Docker Business 帐户、Docker-Sponsored Open Source 成员、Docker Verified Publishers 或 Docker Official Images 将不会受到影响。
对于 Free Team 订阅被弃用的原因,Docker 解释称:“部分原因是它的针对性很差。特别是,它没有像我们最近更新的 Docker-Sponsored 开源项目那样为开源受众服务,后者提供的好处超过了已弃用的 Free Team 订阅”。
此外,Docker 还澄清一点——只有当维护者决定删除公共镜像时,它们才会从 Docker Hub 中删除,很抱歉在最初的沟通中他们未能明确说明这一点。
值得一提的是,截至发稿时,InfoQ 再次访问 Justin Twitter 主页时,发现上述 Twitter 回复已不见踪影。
清退开源组织,对开发者有什么影响?
在 Docker 做出此更改后,如果开发者不付钱升级服务,那么很多免费用户的系统就会崩溃。
不过,Docker 团队也给出了一个针对开源项目的特定 DSOS 程序,只要成为 DSOS 的用户,那么 Docker 将继续为开源项⽬提供特定的 Docker-Sponsored Open Source (DSOS) 程序,并且不受 Free Team 组织停⽤的影响。
Docker 表示,对于有兴趣从以前 Free Team 组织加⼊ DSOS 的用户,其将在 DSOS 申请审核期间推迟任何组织暂停或删除,如果申请最终被拒绝,Docker 也将在暂停组织账户前⾄少给出 30 天的处理时间。但有开发者反映 2021 年 7 月的申请至今没有得到通过。
Egeria(开放元数据标准)、 Kind(使用容器进行 Kubernetes 测试)等开源项目被迫在短时间内做出响应。
AIUI Kubernetes 项目维护者 Benjamin Elder 表示他们已经接到通知,必须在 4 月 14 日之前解决这个问题。目前他们依赖于 kindest/组织。
AIUI Kubernetes 项目此前拒绝加入 OSS 计划,目前尚不清楚 KIND 是否会自行同意。
Benjamin Elder 表示:虽然他们可以离开 Docker hub,但这还将带来其他影响:
用户已经在各个地方的管道中依赖这些镜像,如果只是镜像/迁移他们将没有太多时间来切换;
Dockerd 仍然只支持镜像 Docker hub,因此对于无法访问上游的用户来说会有些困难;
“如果不采取任何行动,人们的 CI 管道就会被破坏,因为旧镜像将在 Docker hub 上不可用(至少不在同一位置)。成为付费团队的成本是每年 300 美元,” GitHub 上 Mamba 开源包管理器的维护者说。
对于未付费的公司使用者来说,Docker 此举对公司带来了诸多不可控的风险。
Dbingham 是一名 SRE 经理,他们公司主要依赖于相对较大的组织(`alpine`、`node`、`golang` 等)的镜像,但依赖的这些镜像可能会消失。人们认为相信 Docker 吧,不会出问题的——这些镜像要么在开源程序中,要么支付了费用就还会有。但 Dbingham 表示他还是无法安心。如果这些镜像消失了,他们就没办法发布了,这是不可接受的。他们没办法查看哪些组织付了款,哪些没有,哪些是开源计划的成员,哪些不是。甚至无法判断哪些镜像可能存在风险。因此,Dbingham 强调,“30 天的时间不足以找到替代方案和迁移。”
Docker 的做法,除了逼得免费用户不得不离开外,也损失了不少付费用户。
有付费网友公然表示:
我在 Docker Hub 上有两个组织,一个是为我公司的产品和服务的私有图像付费的,另一个是我们维护并提供给社区的免费图像的组织。通过此更改,我们必须将免费组织转移到其他地方……我们既然能迁走免费组织,当然也可以迁走付费组织。所以现在他们正在损失收入,因为我不想在两个不同的平台上分配我的东西。我们将迁移到一个新的注册中心,该注册中心也将获得我们的付费团队。
对于开源维护者来说,Docker 的做法也让人寒心。组织托管公共镜像的成本从免费增长至 420 美元/年。多年以来,很多开源项目一直在以这种方式向 Docker Hub 发布镜像,OpenSaaS 最早可以追溯到 2016 年。OpenSaaS 项目如今虽然将免费的社区版镜像发布至 GitHub 的 Container Registry,但仍有很多用户在继续使用 Docker Hub 上的几千种旧镜像。
Docker 制定的开源计划意味着除了业余项目和完全被捐赠给开源基金会的项目,任何其他项目都得向 Docker 交钱。
还有开发者表示:“如果有针对小型开发商的额外计划将会非常感谢。强迫我们为每月 5 个用户花掉 300 美元的最低费用,这是很过分的。为什么不能是每月 1 个用户最低 5 美元?那会让我留下来,否则就搬到 GitHub Container Registry(GitHub 镜像仓库)。”
可见,无论是对于公司使用者、个人使用者、Docker 开源项目维护者、付费使用者还是免费使用者,Docker 的这一决定都或多或少带来了一些影响。
Docker 态度放软后,网友不买账并质疑声明前后矛盾
在 Docker 最初发给开发者的结束 Free Team 的邮件中,Docker 称如果用户不升级到付费订阅,Docker 将保留用户的组织数据 30 天,之后将被删除。在此期间,用户可以继续访问自己的任何公共镜像。
但 Docker 在最新的相关声明中却澄清道,只有当维护者决定删除公共镜像时,他们才会从 Docker Hub 中删除。
到底是 30 天后删除数据?还是用户同意后再删除数据而不受时间限制?
这样前后明显矛盾的表述又再次引来网友质疑,并且有网友表示 Docker 团队可能改变了实际策略,避重就轻,不再围绕着这些数据是否被删的问题打转。
鉴于这些陈述相互矛盾的问题,Docker DevRel 团队给出了回复:
其实这并不矛盾。组织数据将保留 30 天,并可能会被删除。这些可能被删除的数据包括团队、会员资格等。但是,我们不清楚我们将如何处理这些镜像。保留公共镜像很重要,因为许多其他镜像都建立在它们之上。
此外,关于网友提到的转变策略问题,Docker DevRel 的解释是:
之前没有想到大家会如此关心镜像问题,所以根本没有谈论这个问题。在得到了社区反馈后,我们认识到了这一点,所以想把它说清楚。
但这些回复和解释并没有浇灭网友的怒火。
事实上,网友们还是会认为在规定的 30 天到期后,Docker 就会不允许用户再提取镜像,即便允许访问镜像但不允许做任何删改也是件很糟糕的事儿,仅比删除镜像能好一点点。
参考链接:
https://web.docker.com/rs/790-SSB-375/images/privatereposfaq.pdf
https://mp.weixin.qq.com/s/iurQPG8ROswy5mYrLFTbVw
评论