Docker donates container specs for OPC open standard

The Open Container Project is working on a common app-container format, but a standard needs to be more than simply open to work well

stacked shipping containers
Credit: Tristan Taussac

The Open Container Project (OCP), a coalition of  more than 20 companies with a stake in the application-containerization game, is setting up shop under the stewardship of the Linux Foundation to create a common body of standards for software containers.

In theory this should put to rest the back-and-forth bickering between Docker and CoreOS over whose container format and runtimes deliver the most value to the mushrooming community of container-tech users. But it isn't likely to end the larger arguments over where containers work best, how to leverage containers, and how to secure them.

One container format to rule them all

Docker's contribution to the OCP is nothing short of Docker itself: A version of Docker's core libcontainer project, aka runC, will be placed under the governance of the OCP.

CoreOS will follow suit with its own AppC format. While the two formats share a great deal of common ground, there's little argument that Docker's has emerged as the de facto standard.

"This effort will allow the ecosystem as a whole to focus on innovation at the layers that matter, rather than waste time fighting a low-level standards war," said Docker CEO Ben Golub in a statement. Much of that innovation is meant to bolster the ways Docker is used as an end-to-end production tool, such as orchestration.

Golub's reference to a "standards war" is an allusion to the back-and-forth that erupted earlier this year between Docker and CoreOS as to which container format would prove most useful. Docker has attempted to counter criticisms in a number of ways -- for example, by decoupling the Docker runtime from the container specification.

Something for (almost) everyone

Another stated goal of the OCP is having the documented container format run across as many platforms as possible: Linux, Windows, Solaris, and even across multiple hardware architectures (IBM Power as well as Intel).

However, the underlying incompatibilities between those platforms is guaranteed to complicate the picture and make any overarching standard a least-common-denominator affair. Microsoft is still adding the underlying architecture to Windows needed to make Docker-like technology possible, and criticisms abound over whether Linux's cgroups and namespaces are robust enough for what containers are intended to do.

In theory, the underlying OSes can evolve to accommodate containers, but that work will fall to the OS makers, not Docker. Some of OCP's members, like Red Hat and IBM, are also key Linux contributors and could help move the work on the OS along, but it's still likely to take longer than any revisions to app-container formats would.

Golub states that OCP's goals are being kept "intentionally minimal," and focused on container formats and runtime definitions. The most likely determiner of success for the OCP will be how many genuinely diverse approaches for containers stem from the project over time. If the majority of them end up looking, feeling, and sounding like Docker -- warts and all -- that'll be one sign Docker's status as a de facto standard is itself an obstacle to an effective open container standard.

From CIO: 8 Free Online Courses to Grow Your Tech Skills