It’s been an exciting couple of weeks for the container industry. At DockerCon in San Francisco the week of June 22, a lot of interesting news came out from Docker itself, and the rest of the community.
One of the most meaningful announcements was the Open Container Project (OCP), a project led by Docker and CoreOS to establish an open standard for container formats. While this might sound boring, that’s also the point.
Defining standards is a boring process for most people, but a standards war can nevertheless be extremely disruptive for a young industry. A recent example of a standards war that stalled an industry’s growth was seen in the Blu-ray vs. HD DVD format. As major video manufacturers proposed alternative standards for DVDs, consumers decided to wait and see who the winner would be, instead of prematurely buying a new device (they probably should have just waited a couple more years for better video streaming but that is a different story).
Ben Golub, the chief executive of Docker, uses another example to illustrate the wasted effort of format wars: the width of train tracks. Instead of debating endlessly the standard width for laying track, it is better to focus on building a better engine.
Here’s a closer look into the details of the OCP and what was actually announced.
The details of the Open Container Project
The OCP exists to create an “open container format.” This format defines things like container image format and runtime environment.
Docker has donated its libcontainer project to the OCP foundation. Now called runC, this project forms the technical foundation of the OCP.
The App Container project, appc, from CoreOS will also form a large part of the new OCP format. appc is known mostly for its association with rkt (rkt is an implementation of the appc standard). According to Alex Polvi, the chief executive of CoreOS, “We believe most of the core concepts from App Container will form an important part of OCP.”
The OCP is housed under the Linux Foundation and counts 21 members at the time of this writing.
What the OCP means
The OCP is great news for container users for three main reasons. First, by focusing early on creating an open standard, the OCP makes it less likely that users will be locked into technology or tools because of low-level implementation details.
Anyone who has ever spent $19 on a simple power adapter for their iPhone knows the costs of not choosing open standards (a functionally similar USB adapter for an Android device can cost dollars; a fraction of the cost).
Lowering the possibility of vendor lock-in has immediate benefits for users. We’ve seen that standards wars tend to make users wait and see before they make a technology decision. If the incentives to wait are reduced, users can adopt technology more quickly, accelerating a company’s growth and development past its less savvy competitors.
Finally, the OCP will accelerate the creation of tools around the container. When a standards war takes place, tool makers, like users, are faced with choices about which standard to support. The analysis that goes into making this decision is time consuming and thus costly; each hour spent predicting winners is an hour not spent solving a customer pain. In situations where it is unclear which competing standard will emerge as the winner, tool developers are often forced to support two competing standards, an even more costly situation. As a tools maker myself, I am particularly glad we’re avoiding this for the container industry.
A word of warning
The OCP is unequivocally good news. However, that doesn’t mean that all the work is done.
There can be a dark side to open standards: back-room dealings and unnecessary complexity as competing interests fight to define the standard. Docker and CoreOS are joined by 19 other founding members of the OCP. That translates to a lot of voices in the room and it is possible that some members will have a vested interest in either slowing down, or changing the direction of the standard to suit their interest.
Notwithstanding its meteoric rise and real customer pains it solves, OpenStack has been seen by some to have suffered from some of these issues. The result being that OpenStack is more complex than it needs to be and consequently has suffered in terms of adoption. In my opinion, avoiding escalating complexity is of the utmost importance to the newly formed OCP.
It has indeed been an exciting couple of weeks. With the OCP gaining steam, may the next couple of years be filled with just as much excitement for the entire container ecosystem.
Luke Marsden has 12 years of experience building web apps & running a web hosting company. Inspired by the practical operational problems faced running web apps in production, he started ClusterHQ. He is now the startup’s chief technology officer.