DockerCon 2015 For a while, it looked as though software containers were heading for the kind of standards squabble that has plagued the tech industry too often in its history.
On the one hand, Docker – the plucky startup that's almost singlehandedly responsible for the recent explosion of interest in containers in the Linux world – had argued that its homemade container format has become the de facto standard, and that should be good enough for anyone.
On the other hand, developers who preferred a more formal specification that's governed by consensus, rather than by a single company, had begun rallying around appc, an independent container spec launched by cloudy Linux vendor CoreOS.
With Monday's unveiling of the Open Container Project (OCP), a new cross-industry governance body under the aegis of the Linux Foundation, the container market looks like it has a chance to avoid a protracted and costly shouting match. But just how does the OCP plan to unite the various stakeholders, with their differing interests?
Docker leads the way
It all starts with Solomon Hykes. The creator of Docker and now CTO of the eponymous company initially seemed dismissive of appc, and of the need for an independent, open container standard. "All I see is a bunch of hype in the press," Hykes sneered in a December GitHub comment, when a contributor suggested that Docker should implement appc.
These days he seems more resigned to the idea. "Standards wars are an ugly, terrible thing," he said during Monday's keynote address at the DockerCon conference in San Francisco. "They're both terrible and boring at the same time, if that's possible."
Hykes even went as far as to credit CoreOS CEO Alex Polvi for helping him see the light about standards, and for "being open-minded enough and forward-thinking enough to help us unite the industry and set everything on the right path."
But it's not all a win for the CoreOS camp. Hykes is getting most of what he's wanted, too – including having Docker write the first draft of OCP's Open Container Format (OCF) specification.
OCP's members have also agreed to have the project be based on Docker's implementation, something else Hykes has favored. "Code leads spec, rather than vice-versa," reads the project's FAQ. "We seek rough consensus and running code."
That pretty much describes the starting point for OCP, though how much consensus there really is in these early days remains to be seen. As for an actual spec, so far there isn't one. The project's maintainers – including the appc maintainers, who have all joined OCP as founding members – are still working on the first draft, which they expect to release in 2-3 weeks at the project's GitHub page.
What OCP does have today, however, is running code, in the form of an open source tool called runC that Docker donated to the project.
Part of a larger effort at Docker to spin off pieces of Docker functionality – what Hykes calls "plumbing" – into lightweight, composable tools, runC is the core of the Docker container runtime repurposed as a standalone utility.
"It's basically everything you need to run containers on the low-level system and nothing else," Hykes said during his DockerCon keynote. "There's no dependency on the rest of the Docker platform at all."