Docker open-sources its container core to the Cloud Native Computing Federation


Fulfilling a promise made last December, Docker Inc. on Wednesday donated containerd, a core piece of the Docker runtime engine, to the Cloud Native Computing Federation.

The containerd runtime is used as a method to boot, run and manage external interfaces for containers, which enable applications to run on any operating system, much like shipping containers can be transported on any container ship. Docker uses containerd as a core piece of its software alongside runC, which is an open-source component for spinning up containers. So the Docker app talks to containerd, and in turn containerd talks to runC.

The CNCF is a consortium of companies, including Docker, that governs several key projects in the open-source ecosystem of containers running in the cloud. The move should be a win for all concerned: Docker gets to focus on monetizing container technologies for enterprises, while development of the underlying open-source technology will be developed at the fastest possible pace, with more room for innovation as new contributors bring their ideas to the table.

Docker has done this kind of thing before, having donated the runC component to the Open Container Initiative back in 2015, making it available to other companies including rivals such as CoreOS Inc. Docker did so in an attempt shed the image that it single-handedly dictates the direction of the application movement, and today’s move is in the same vein. By keeping containerd separated from its main container software stack, Docker can position its favored infrastructure as neutral, which should mean it’s better able to fend off the challenge of alternative runtimes such as CoreOS’s rkt, which was also donated to the CNCF yesterday.

“We believe that donating containerd to the CNCF will unlock a whole new phase of innovation and growth across the entire container ecosystem,” Solomon Hykes, founder, chief technology officer and chief product officer at Docker, said in a blog post. “Containerd is designed as an independent component that can be embedded in a higher level system, to provide core container capabilities.”

But why did Docker chose the CNCF over the Open Container Initiative, to which it donated the runC component? According to Docker, the CNCF is an organization “where a focus on containerization is front and center.” More importantly perhaps, the CNFC already looks after Kubernetes, which complements Docker in the same way that bread does butter. Also, the OCI is more focused on container runtime specifications, rather than the actual projects which implement those specs.

Docker also reiterated its desire that containerd comes under the control of a neutral foundation. And while Docker might be a platinum member of that organization, it’s far from the only one.

Still, what the company failed to mention is that its status as the most popular solution for enterprise containers means that it will retain considerable influence over containerd’s development from here on out.

Image: Docker