Declaring Format Wars Over, Docker Slips a Universal Runtime Into All Containers
It’s at this stage of a technology’s evolution that some kind of “open” standard is formed around it. We’ve seen it with open source operating systems, cloud service platforms, and most recently with the big data industry. One or more various coalitions were likely to form around some variants of containerization standards, and if there were more than one, they’d be fighting with one another over who would be the most “open.” The question at DockerCon 2015 Monday was, to what extent would an open container coalition be truly inclusive — in other words, open to the idea of being open?
If you think about it, Docker Inc. could very well have declared itself the dominant player in containers, and forged a kind of industry consensus coalition that placed it in direct competition against appc, an alternate standard put forth just a few months back under the stewardship of CoreOS. It already had Microsoft behind it, and was likely to formalize the support of VMware. Capture IBM and Amazon, and Docker would have the market sewn up.
At Monday’s DockerCon 2015 keynote in San Francisco, Docker CTO Solomon Hykes warmed many hearts by shaking hands with CoreOS CEO Alex Polvi in front of a few thousand attendees. It was a sign that both executives had come to the realization that an open spat over the organization of what was supposed to be a simple format, would do more damage to both brands.
Their handshake marked the unofficial, but very noticeable, launch of the Open Container Foundation.
“There’s one thing in particular that I really don’t like: It’s to argue for no reason over details like the size and shape of the box,” said Hykes, prior to inviting Polvi. “In the industry, we call it ‘standard wars.’ ‘Standard wars’ are an ugly, terrible thing. They’re both terrible and boring at the same time, if that’s possible. Our industry has been through standard wars before, and I think for a little while, it wasn’t clear to many of us if that was going to happen for us, even to this moment. I decided I’m happy, because I can tell you it’s clear that it’s not going to happen.”
Hykes and Polvi did not agree to unify their formats. Yet their handshake represented a mutual desire to jointly partake in strengthening the foundation of the industry in which they’ll compete.
However, the pact represented by that handshake did not come without a certain exchange of intellectual property. A few moments earlier, Hykes had introduced the audience to something that genuinely astonished them: a project to produce a universal runtime for containers, enabling their construction or “plumbing,” as the CTO put it, to be accessible through a common language.
Its name will be runC, with a lower-case “r” and a capital “C” at the end, just to throw off editors everywhere. “It’s basically all the code we ever wrote to manage OS containers, separated into a small, lightweight tool … It’s basically everything you need to run containers on a low-level system, and nothing else.”
RunC’s purpose, according to this blog post Monday, is to make the code used by containers to access system services, accessible to outside communication. Chipmakers Intel, IBM, Qualcomm, and ARM are said to be contributing to this new tool, along with Microsoft, although none of these companies sent representatives to appear on-stage Monday. (Microsoft is scheduled to make a presentation to DockerCon on Tuesday.)
Hykes said Docker has already contributed runC to the Linux Foundation, in a surprise move that shows that the most vocal open source advocates can keep secrets when they need to. But the move may be brilliant on Docker’s part for another reason: Just by virtue of the way it was done, complete with a handshake with CoreOS’ CEO, Docker Inc. ensured that one of the key components of the baseline of the Open Container Project [insert inappropriate RoboCop reference here] will be a manageability platform that strongly adheres to Docker’s architecture.
This way, an appc alliance with CoreOS’ strongest backer, Google, would not be able to produce a better Kubernetes, let’s say, than a version that supported primarily or solely Docker. Now, Docker Inc. gets credit for being the peacemaker, getting its moment of glory with CoreOS, while at the same time imbuing the embryonic Open Container Project which a colossal chunk of Docker DNA.
“Our experience developing App Container will play a critical role as we begin collaboration on the OCP specification,” wrote Alex Polvi in a blog post for CoreOS Monday. “We anticipate that much of App Container will be directly integrated into the OCP specification, with tweaks being made to provide greater compatibility with the existing Docker ecosystem. The end goal is to converge on a single unified specification of a standard container format, and the success of OCP will mean the major goals of App Container are satisfied.”
Polvi went on to say that appc’s Brandon Philips and Vincent Batts will be signed on as charter maintainers of OCP. But he closed that paragraph by calling the transition from appc to OCP a “smooth migration.” “Today rkt is a leading implementation of appc,” wrote Polvi, “and we plan on it becoming a leading implementation of OCP.”
There was no white flag from CoreOS on Monday, but some degree of its product identity was indeed surrendered. While we had expected the industry to come together on a baseline set of principles for all container formats to follow going forward, it would appear as though Docker Inc. played a commanding role in specifying how high that baseline could be set. Otherwise, runC could not have happened.
CoreOS and Docker are sponsors of The New Stack.