Docker和综合开源公司

自从一个开源项目获得与Docker一样多的嗡嗡声和关注以来,已经有很长一段时间了解释这个概念的最简单方法是查看同名的标识1创建和管理项目的公司:

搬运工人

标识中的参考文献是集装箱,这是20世纪最重要的发明之一实际上,“发明”这个词并不完全正确:将大宗商品放入一致大小的盒子的想法可以追溯到至少几百年。2改变世界的是什么标准化一位名叫Malcom McLean的卡车运输巨头和他的首席工程师Keith Tantlinger的集装箱Tantlinger在多式联运集装箱上开发了大量技术,特别是其角铸造和扭锁机制,允许集装箱堆放在船上,通过卡车运输,并通过起重机移动更重要的是,Tantlinger说服McLean发布专利设计,任何人都可以在没有许可的情况下进行复制,因为他知道这项技术只有部署在世界上的每个港口和每艘运输船上才有价值。Tantlinger,用软件术语来说,开源设计。

运输容器确实是Docker正在构建的完美隐喻:应用程序的标准化容器。

  • 正如Tantlinger没有发明容器的想法一样,Docker正在建立一个已经存在很长一段时间的概念像Oracle,HP和IBM这样的公司已经使用了多年的容器,Google尤其与Docker的实现非常相似,它们用于内部项目但是Docker是开源的社区中心,提供标准化的承诺
  • It doesn’t matter what is inside of a shipping container; the container itself will fit on any ship, truck, or crane in the worldSimilarly, it doesn’t matter what app (and associated files, frameworks, dependencies, etc.) is inside of a docker container; the container will run on any Linux distribution and, more importantly, just about every cloud provider including AWS, Azure, Google Cloud Platform, Rackspace, etc.
  • 当你搬到国外时,你可以把一个集装箱带到你的房子里,贴在你的随身物品上,然后把整个东西搬到一辆卡车上起重机到一个船到你的新国家类似地,容器允许开发人员在其本地计算机上构建和测试应用程序,并确信应用程序在推送到服务器时的行为方式完全相同因为一切都是自包含的,所以开发人员不必担心在应用程序可能运行的各个位置存在不同的框架,版本和其他依赖项

The implications of this are far-reaching: not only do containers make it easier to manage the lifecycle of an application, they also (theoretically) commoditize cloud services through the age-old hope of “write once run anywhere.” More importantly, at least for now, docker containers offer the potential of being far more efficient than virtual machinesRelative to a container, using virtual machines is like using a car transport ship to move cargo: each unique entity on the ship is self-powered, which means a lot of wasted resources (those car engines aren’t very useful while crossing the ocean)Similarly, each virtual machine has to deal with the overhead of its own OS; containers, on the other hand, all share the same OS resulting in huge efficiency gains.3

简而言之,从技术角度来看,Docker是一个非常重要的事情然而令我兴奋的是,该公司在商业模式方面也在不断创新。


The problem with monetizing open source is self-evident: if the software is freely available, what exactly is worth paying for? And, unlike media, you can’t exactly stick an advertisement next to some code!

多年来,默认答案是“像Red Hat一样。”Red Hat是Red Hat Enterprise Linux(RHEL)发行版的创建者和维护者,与所有Linux发行版一样,它是免费提供的。4然而,红帽通过提供支持,培训,认证计划等来赚钱对于希望使用其软件的企业It is very much a traditional enterprise model – make money on support! – just minus the up-front license fees.

This sort of business is certainly still viable; Hortonworks is设置为IPO基于Hadoop的类似模型,虽然估值远低于上一轮风险投资回报这并不让我感到惊讶:从业务角度来看,我认为这不是一个特别好的模型。

要理解为什么考虑任何基于开源的公司的三个不同部分是有用的:开源项目本身,在该项目之上构建的任何增值软件,以及实际的赚钱方式:

开源业务分为三个部分:项目本身,该项目之上的增值软件以及货币化方式
开源业务分为三个部分:项目本身,该项目之上的增值软件以及货币化方式

The problem with the “Red Hat” model is the complete separation of all three of these parts: Red Hat doesn’t control the core project (Linux), and their value-added software (RHEL) is free, leaving their money-making support program to stand alone为了公司的信誉他们已经取消了这个模型,但我认为一个重要的原因是因为在90年代利用Linux是一个更大的挑战。我非常怀疑Red Hat今天能否从头开始成功建立类似的业务。

红帽业务的三个部分是独立的,公司控制和货币化更加困难
红帽业务的三个部分是独立的,公司控制和货币化更加困难

存储库托管服务GitHub正在探索一个更引人注目的模型GitHub的增值软件是基于Git的托管服务,Git是由Linux创建者Linus Torvalds设计的开源项目至关重要的是,GitHub正在寻求通过SaaS模式和内部部署企业产品直接从托管服务中获利6这意味着,与Red Hat相比,GitHub中断的地方更少:除非您愿意支付,否则无法获得他们的增值软件(私人项目 - 公共免费)。

虽然GitHub不控制Git,但它们的增值软件和货币化手段是统一的,使后者更容易,更可持续
虽然GitHub不控制Git,但它们的增值软件和货币化手段是统一的,使后者更容易,更可持续

Docker takes the GitHub model a step further: the company controls everything from the open source project itself to the value-added software (DockerHub) built on top of that, and, just last week,宣布了货币化模式这与GitHub的企业产品非常相似假设Docker继续保持目前的发展势头并在这个企业产品中取得成功,他们有可能成为一个完全集成的开源软件公司:项目,增值软件和货币化都融为一体。

Docker控制着他们业务的所有部分:他们是一个完全集成的开源公司。
Docker控制着他们业务的所有部分:他们是一个完全集成的开源公司。

这是令人兴奋的,说实话,有点可怕令人兴奋的是,很少有动作像开源软件那样产生如此深远的影响,而不仅仅是科技行业Open source products are responsible for end user products like this blog; more importantly, open source technologies have enabled exponentially more startups to get off the ground with minimal investment, vastly accelerating the rate of innovation and iteration in tech.7然而,任何开源项目的持续挑战都是资金,而Docker的商业模式不仅对Docker而且对未来的开源技术都是潜在的可持续解决方案。

也就是说,如果Docker成功,从长远来看,商业激励措施将引导Docker开源项目,使Docker对公司有利,这可能不是广泛的社区最佳选择。That is what is scary about this: might open source in the long run be subtly corrupted by this business model? The makers of CoreOS, a stripped-down Linux distribution that is a perfect complement for Docker,argued that was the case上个星期:

我们认为Docker将成为一个我们都同意的简单单元不幸的是,一个简单的可重用组件并不是事情如何发挥作用Docker现在正在构建用于启动云服务器,集群系统和各种功能的工具:构建映像,运行映像,上载,下载,甚至覆盖网络,所有这些都编译成一个单独的二进制文件,主要以服务器上的root身份运行标准容器宣言已删除我们应该停止谈论Docker容器,并开始谈论Docker平台它并没有成为我们设想的简单的可组合构建块。

我想,这就是开源之美:如果你不同意,fork,它本质上是CoreOS所做的,启动他们自己的“Rocket”容器。8它还表明Docker的商业模式 - 以及任何包含开源的商业模式 - 永远不会完全可以防御:总会有一个非中介点但我怀疑Rocket会失败,而Docker的势头将会持续下去:有一个真正的容器的逻辑是不可阻挡的,而Docker已经建立了相当多的基础设施,而且 - 只是可能 - 是一种使其可持续发展的商业模式。

  1. 对于语法书呆子,我赞同这个概念齐名可以使用在任何一个方向[↩︎]
  2. 根据维基百科[↩︎]
  3. Security is one of the biggest questions facing Docker: is it possible to guarantee that apps cannot interact or interfere with each other? Currently the conventional wisdom is that containers shouldn’t be used for multi-tenant applications, but that security is good enough for multiple applications from a single tenant [↩︎]
  4. 从技术上讲,源代码是可用的,但任何衍生品必须剥离所有红帽商标[↩︎]
  5. 有趣的事实:Red Hat是我安装过的第一个Linux版本它进展不顺利[↩︎]
  6. BitBucket from Atlassian is similar; from a business model perspective the primary difference is that GitHub prices per repository while Atlassian prices per user [↩︎]
  7. 事实上,人们可能会争辩说开源是最重要的论点反对有一个泡沫:有这么多创业公司不是因为有过多的资金可用,而是因为它起得如此便宜此外,获得有意义资金的标准现在要高一些:因为构建,测试和迭代一个想法要便宜得多,创业公司需要牵引力才能让投资者写一张支票[↩︎]
  8. It’s not precisely a fork; Rocket is new from the ground up but designed to do what Docker does and nothing more [↩︎]