对于 Docker 改名 Moby ,大家怎么看?

关注者
836
被浏览
124,373

33 个回答

这事儿吧,说出来像个绕口令,但其实道理很浅显。

一、一句话版本,后面的可以不看

Docker公司直接把原Docker项目改名成了Moby,是为了将之前数年里构建出来的庞大的粉丝团体和Google搜索内容(Google search footprint)全部转移到Docker公司的商业产品上。


需要注意:Docker公司的商业产品包括了Docker EE和Docker CE,前者是企业收费版,后者是社区免费版。也就是说,以后大家用的(包括大家现在机器里已经安装的)都是Docker公司的产品(注意,并不是项目),这个产品名叫Docker CE(命名方式如Docker 17.XX)。

Docker公司也会不遗余力的鼓励用户在试用后购买付费版本(这很正常)。


二、关于Moby

Moby会以一个开源组织(Github Org)的方式存在。Docker CE这个产品,会由Moby组织下的Moby项目以及其他项目构建和编译出来的。Moby组织下面的项目均由社区开发者共同维护。

这也就意味着对于Moby社区的参与者来说,你们今后的工作方式是:贡献Moby下的项目,然后使用Docker公司的Docker CE产品。

你也应该明白了,并不会存在一个开源项目叫Docker CE。因为Docker CE是一个产品,你一定得从Docker公司官网上来下载使用。


三、用户到底在抱怨什么?

截止到目前为止(4月22日),A new upstream project to break up Docker into independent components by shykes · Pull Request #32691 · moby/moby 这个PR下面有588个『踩』和456个『困惑』,相比122个『赞』,社区开发者对Docker公司这个行为的不满可见一斑。

点赞的估计还有不少竞争对手的,毕竟能在跟Docker公司在开源社区角力上松口气了。拆分后的Moby项目们无论在Docker公司的投入上、新特性的开放程度上、还是开发者活跃程度上,都会受到不小的影响。 哦,对了,LinuxKit这个项目又抢了所有人的饭碗,这个赞点的略心痛。LinuxKit这个项目跟安全扯不上半毛钱关系,就是一个distro。什么,你还想用CoreOS/RetHat/RancherOS?醒醒吧,剑指的就是你!

同样的事情当然还发生在HackerNews上:A new upstream project to break up Docker into independent components 已经吵成一片。

实际上,如果是正常的技术公司的话,一般会选择继续维护自己的开源项目,然后在自己公司里卖一个企业版以及企业服务。这种例子太多了,几乎每个开源项目都是这个套路。

但是唯独Docker公司,它直接把Docker开源项目改名了,或者说的更直白一点,给抹去了。从这天开始,你再也不可能找到一个叫Docker的开源项目。你从Google上搜到所有跟『Docker』相关的信息,都会指向Docker公司的那两个产品。原先Docker项目庞大的粉丝群,直接变成了Docker公司的客户。

这也是为什么所罗门一再解释『原先的Docker用户并不受影响』但是很多人并不买账的原因。问题不在于什么项目要改名啦,依赖库不能用啦这种小问题。

关键问题在于,原Docker开源项目的用户被实实在在地愚弄了一把。

这是前所未有的(不知道过去20年里大家有没有类似的例子)。


四、为什么这样做?

过去的20年里,成功的开源项目数不胜数,但是这些项目背后成功的商业公司堪称寥寥。要较真说案例,也就RedHat这种能够控制到操作系统层面的公司,才勉强算是个成功的例子。其他的项目,越往上层走,越难盈利(因为用户越难留住)。实际上,大多数开源项目的商业公司,能养活这个项目就已经很不错了,盈利简直是天方夜谭。这也是为什么这么多年了,业内还是没事儿就讨论一把『开源怎么挣钱』这个问题。一个字,难。

君不见,这个圈子里,无数来自伯克利、Google、手握着黑科技的开源公司都趴在地上起不来,Docker这个手里并不控制核心技术、靠着亲人的UI/UX拿了天下的项目,盈利前景又如何呢?

Docker公司不可能看不到这个问题。别忘了它本身就是从一个PaaS公司(dotCloud)出来的,所罗门现在真没什么心思考虑开源世界的理想抱负。他从Docker项目成功的第一天开始,就是奔着做下一个VMware去的。否则M$的40亿美金收购,他根本没理由拒绝掉。

我要卖产品,可是用户在哪里?原Docker项目那4w多个star就跟我招手了。

真就这么急吗?湾区这边一直有传言称Docker公司的投资方定下了严苛的盈利标准,看来并不是天方夜谭。一个做纯后端技术独角兽,确实有为难的一面,谁让咱的目标是NASDAQ上市呢。


五、关于Docker的未来

毫无疑问,Docker公司的未来是光明的,一个新的VMware正呼之欲出。但重要的是,这个新VMware构建在一种全新的、基于开源的商业模式上,这其实正类似于新时代我们耳熟能详的:粉丝经济。


有人问:这么一来开发者也不是被得罪了不少吗?

傻孩子。真正愿意付钱给Docker公司的老板们,才没工夫上HackerNews和Github呢!


『Docker?嗯,我听说过,好像还挺火的。小刘,咱们也上一套吧!』


造热度,上热搜,层出不穷的marketing点子,不断地吸纳新粉、收割老粉(的老板们)。不正是这种模式的精髓?

立志做VMware的Docker公司,并没有功夫关心国内卖『自研Docker企业版』的小伙伴们。什么『Docker原生』,你再原生还能原生的过Docker EE?更何况,价格还不一定谁便宜呢。当然,国内有个"信息闭塞"的好处,大家还能拉着Docker公司的大旗,沾一下Docker庞大粉丝潮的光。


只是,对于开源社区的参与者来说,就真剩下一片呵呵的表情了。Docker这么大的项目说没就没,无数人点上RIP真不为过。Moby社区的活跃度确实是个问号,别忘了自从Docker公司专注点转移到了Swarmkit项目之后,老的Docker Swarm项目是如何一副惨淡的光景(4k+个star就没变过,说好的碾压Kubernetes呢?)。


还有人说以后是不是就是Moby Meetup、Moby Birthday #5、MobyCon2018了呢?

Naive啊!当然会授权给你们使用Docker商标和鲸鱼图片哒。只不过以后DockerCon变成Docker公司的产品发布会,你们可别觉得奇怪。对了,DockerCon期间一定会专门给Moby安排个子项目叫MobyCon的,欢迎参加!

什么,你有情怀想自己开个Moby Meetup?抽风了吧。你见过VMWare World开完了再开ESXi Con的吗?

洗洗睡吧。


@vczh 轮子哥关注这个干吗?

看到名字的瞬间还以为 Docker 被摩拜单车收购了,从此可以骑着共享鲸鱼四处游荡,后来发现不是这样的 /w\

至于迁移的原因,可以参考 shykes 的回复 Pull Request #32691 · moby/moby,大致是说因为 moby 要打破 Docker 现在 monolithic 的设计,分成不同的 components 放在不同的 repo 里。而 moby 负责把这些 components build 成 Docker CE,也可以通过定制修改等方式构建自己的 Docker 发行版。因此 Docker 现在的代码是早晚要被 deprecated 的。

之前在实现 Docker for Mac 的时候,已经有点这种转变了,先是实现了三个 kit,感兴趣的可以看看 Improving Docker with Unikernels: Introducing HyperKit, VPNKit and DataKit - Docker Blog。以后 Docker 应该会被以这样的粒度拆掉。


但是我觉得现在的做法太过激了,一点前奏都没有直接就把 Docker transfer 到 moby 了,导致社区和用户都很疑惑。对于这点 Shykes 洗了一下说之前 Docker 也经历过从 dotCloud 到 docker 下的过程,那时候 Docker 有 4w 个 star 么 /w\

此外我个人觉得 moby 有一个很值得关注的子项目,linuxkit/linuxkit。给定一个 linuxkit.yml,写好 kernel 和 init,然后定义好要运行的 service,就会构建出一个操作系统来,boot 的时候就会运行定义的 service。这应该是 moby 在操作系统级别的 kit,但是这个 kit 待遇很高,被单独放在了一个 org 下,不知道是不是因为有着更大的愿景在里面。

总结来看,感觉这应该是 Docker 收购了 Unikernel Systems 后搞的大新闻,Docker for Mac 是一次试水,可能因为比较成功就直接引进,全面推广,那才叫爽。这次的 moby 可能是在为打通容器跟 unikernel 做铺垫,当然又没去 Dockercon 17 又不是 Docker 员工,只是猜测而已。

PS: 个人觉得虽然太过激进,但大方向是值得肯定的,资词一个