从官方给出的 FAQ 中可以获知,本次调整影响的群体是开源组织账户,其中 Docker 个人、Docker Pro、Docker Team 或 Docker Business 帐户、Docker 赞助的开源成员、 Docker 验证发布者以及 Docker 的官方镜像不受影响。
邮件正文大致如下:
Docker 正淘汰 Free Team Organisations,因为该免费功能与付费的 Docker Team 订阅有很多相同的特性、费率和功能;
在审查了旧版 Free Team Organisations 成员的帐户列表后,我们确定您可能是其中之一。如果您使用旧版 Free Team Organisations,则将于 2023 年 4 月 14 日(UTC 时间晚上 11:59)暂停访问一切付费功能(包括私有存储库)。需要在 2023 年 4 月 14 日之前升级订阅(言外之意就是付钱),才能继续访问您的组织;
如果您不升级到付费订阅,Docker 将保留您的组织数据 30 天,之后将其删除。在此期间会保留你对公共存储库的访问权限,但将进行速率限制;
如果您升级到付费订阅,则可以在 30 天内的任何时候恢复对组织帐户的访问权限。
众所周知,Docker Hub 被很多开源项目用于发布镜像,并且多数项目都依赖于免费的镜像,假设镜像被删除,将对使用免费的组织下的账号造成巨大的影响。
消息刚一爆出,就引发了巨大争议,很多人开始将其镜像迁移出 Docker 转到其它平台或自行托管。随后,Docker CTO 直接在 Twitter 上表示:“将关闭那些不交钱的账户,并且不允许其他人接管这个名字”。
(图源:Twitter 截图)
一、Docker 与 开源
其实,对于开发者而言,Docker 之所以在过去被广泛使用,很大程度上可以归因为:开源与方便。Docker 提供了一套标准化的解决方案,很大程度上提升了部署、发布、运维的效率。
2013 年,Docker 作为开源引擎推出,专注于开发人员和系统操作员的需求,将应用程序依赖关系从基础设施中分离出来,已经成为时下非常流行的 Linux 容器解决方案。
(图源:Docker 官网截图)
并且,Docker 在 Linux 上的成功促成了与微软的合作,将 Docker 容器及其功能引入 Windows Server。早前,从 Docker 及其开源项目中获得的技术,Moby (由 Docker 创建的一个开源框架)已经被许多数据中心供应商和云提供商所使用,许多供应商都通过 Docker 来提供容器原生 IaaS 产品。
2015 年 6 月,Docker 将容器映像规范和运行时代码(现在称为 RunC )捐赠给 OCI (Open Container Initiative),以帮助建立标准化,促使容器生态系统的发展和成熟。
2017 年,Docker 继续回馈 Containerd 项目,将该项目捐赠给了 CNCF ( 云原生计算基金会 )。
二、付费模式带来的问题与解决措施
从“免费”到“付费”突然间的变化,给开源项目社区的用户带来了不少的恐慌与疑虑。对此,Docker 官方也提及了相关问题及应对措施。
(图源:Docker 官网截图)
1、当付费成本从 0 美元/年上涨到 420 美元/年,用户该如何查看自己是否受到影响?
可以查阅自身的 Docker 组织帐户页面,任何受影响的组织都会在“订阅”列中标记为“Docker Free Team”,但只有不到 2% 的 Docker 用户在其账户上拥有 Free Team 组织。
2、用户依赖的开源镜像,是否会被删除吗?
不会。公共镜像只有在镜像维护者决定将其从 Docker Hub 中删除时才会消失。如果维护人员迁移到 Docker 赞助的开源豁免条款(DSOS计划 )或付费订阅 Docker,他们的公共镜像会得到继续分发。
这里笔者也顺便提一下 DSOS 计划:
申请的镜像项目绝对不得商业化
不得对外提供服务
不得接受赞助商赞助
不得发布付费插件
后续也不得采取任何本质上属于这几类情况的其他盈利措施
仅允许以接受捐赠的方式维持项目运转
3、如果用户正在运行一个开源项目,该如何应对这类情形?
目前,Docker 鼓励所有开源项目申请 DSOS 计划,并且已经指派更多人员进行审核。
4、如何维护对私有存储库的访问?
面向组织的私有存储库是付费订阅 Docker 的一个功能,如果您当前正在访问一个遗留的 Free Team 组织并使用私有仓库,那么在 2023 年 4 月 13 日之后便会暂停。
但是,您可以选择几种订阅层次,以便继续使用私有仓库。
5、用户名下的 Docker 镜像是否会被其他人“占用”?
Docker 明确表示,即使用户账号被删除或者自愿离开 Docker ,其他用户无法“占用”。
6、可以迁移到个人账户吗?
可以通过提交支持工单,从 Free Team 组织迁移到个人用户账户。工单处理期间,Docker 不会对账户采取任何行动。
7、如果迁移到 Docker 以外的镜像平台,请问可以导出数据吗?
可以,但必须是在 2023 年 4 月 13 日之前。
8、Docker 订阅费用是多少?存在什么优势?
(图源:Docker 官网截图)
从官网信息来看,Docker 提供了三个付费订阅层。Docker 明确表示了三者的各自优势:
Docker Pro 适合能提高工作效率的个人开发人员;
Docker Team 适合希望高效协作的小型团队;
Docker Business 适合寻求集中管理和高级安全功能的企业。
此外, Docker 升级到付费订阅后,用户帐户和所有相关配置、映像、存储库、设置等将保持不变。
一直以来,开源以开放的合作方式无形之中为不少用户带来意想不到的高价值产出。因此,Docker 这波如饮鸩止渴的收费变化,即便官方明确给出了相关“解决措施”,也阐述了付费模式的优势,却似乎仍然无法安抚民心。
三、铁杆拥护者发长文控诉 Docker 的虚伪
作为 Docker 的铁杆拥护者,“Docker Captains” 的忠实成员 Alex Ellis 在其博客发长文控诉 。本身就是付费用户的他并不反对 Docker 赚钱,但 Docker 的沟通方式和效果都糟糕透顶,给很多最忠诚、最支持他们的社区用户制造了焦虑,他们挟镜像以令开源的做法,暴露了他们对开源可持续问题的虚伪态度,这一项计划充满了敌意和脱节操作。
对于自己在 Docker 上维护的众多项目,早已发布到 GitHub 的 Container Reigstry 上,因 Docker 的速率限制,导致他也不得不掏钱快速下载 Prometheus、NATS、Go、Python 和 Node.js 等镜像。
他表示,目前唯一的希望是获得“开源”认证资质的组织才能免招 Docker “征税”,例如归云原生计算基金会(CNCF)或者 Apache 基金会所有项目。并列举了知名开源项目 curl,该开源库几乎被应用在每台 Mac 和 Linux 计算机上,甚至 Docker 自身也在使用,但也难逃此次收费计划。
如果开发者能够完全删除你的组织,那么就可以将其重新创建为免费的个人账户。这应该足以保留名称,以防止被恶意接管。但这个可行性太低了,因为大型项目无法简单地删除其组织和所有镜像。
如果是这种情况,并且您可以容忍一些停机时间,可以尝试以下操作:
创建一个新的个人用户账户
将所有所需的镜像和标签镜像复制到新的用户账户
删除组织
将个人用户账户重命名为组织名称
除了 Alex Ellis 发长文控诉之外,在 Hacker News、Twitter 上皆引发了一众网友的激烈讨论。
一位 SRE 经理直言:“早上看到这个消息的时候,就感到非常头疼。”随后还提及了:“在未来 30 天内,自己依赖的一堆图像可能会消失……”
一位网友直接表示:“非常担忧”。甚至坦言:“我建议创建自己的私有 Docker 注册表,下载使用映像的所有当前版本,并将它们推送到所述注册表。或许,可以使用谷歌来备份重要图像,以防 Docker Hub 出现问题。”
也有网友调侃道:“Docker 最后还是成别人的嫁衣,我是说 Containerized 标准的嫁衣”、“需要金钱维护的免费服务”和“低风险”是不兼容的。
但是,也有网友对 Docker 的做法持有较为“乐观”的态度,认为:“Docker 这个工具对软件开发来说存在优势,它比管理依赖关系的旧方法好得多,能确保项目中的每个人安装的版本保持一致。”
在过去,随着云原生、容器化、微服务、K8s 等技术的发展,让 Docker 在开发者领域被大家广泛运用。如今,Docker 将删除所有未付费开源组织的镜像,必然会给开发者们带来“不适感”,虽然也可以免费申请,但条款却十分苛刻。对于 Docker 的这一措施,你怎么看?
参考资料
https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/
https://www.docker.com/resources/what-container/
https://blog.alexellis.io/docker-is-deleting-open-source-images/
https://news.ycombinator.com/item?id=35166317
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721