Docker Spins out containerd as an Independent Open Source Project
Responding to partner and user concerns over bundling, Docker is releasing one of its core container components, the containerd runtime engine, as an independent open source project, and is looking for a “neutral” third-party foundation to manage the effort.
“As the scope of the platform expands, there is a lot of demand both from our customers and from the wider ecosystem to make our platform more modular. This is one more step in that direction,” said Solomon Hykes, founder, chief technology officer and chief product officer at Docker.
Amazon Web Services (AWS), Google Cloud, IBM Bluemix and Microsoft Azure have committed to providing maintainers and contributors to the project. Docker is hoping that open source-focused enterprise software vendors, such as Red Hat and VMware, will participate in advancing containerd as well.
Docker has already released as open source an early version of containerd, though this new release is the official 1.0 edition. A quick analysis of contributors on the containerd codebase shows that it has gained a number of new contributors since August, including Google engineers Jess Frazelle and Mike Danese, who also does a fair amount of work on the Kubernetes container orchestration engine. There were no contributions, that we could tell, from either Red Hat or CoreOS. Only 13 of the 43 (30 percent) contributors are Docker employees, but 87 percent of contributions come from Docker. China is a major contributor with 9 (21 percent) of contributors, with 4 coming from Huawei, one from Hyper.sh, one from Tencent and two others from unidentified companies.
Docker has already contributed to the Open Container Initiative its core runc container engine, which provides a base for container execution and supervision. Containerd is built on runc but offers advanced functionality such as image distribution, network interfaces and management, local storage management and an API.
Other components that Docker has open sourced from its stack include the libcontainer, libnetwork, notary, HyperKit, VPNkit, Datakit, swarmkit and Infrakit.
Despite handing runc over to OCI, Docker is looking for another organization to manage containerd, Hykes said, such as The Linux Foundation or the Apache Software Foundation. The Cloud Native Computing Foundation could be another possible home. That decision is expected to be made by the first quarter of 2017.
…nice to see Docker do this, definitely in the right direction… and I know a good foundation home for it :)
— Chris Aniszczyk (@cra@macaw.social) (@cra) December 14, 2016
Initially, Docker released runc to OCI at least partially in response to pressure from partners. “In some ways, we’ve seen that continuing of Docker-the-company is trying to keep up with the broader ecosystem out there. There’s a lot of start-ups out there. Everything is moving fast,” 451 Research Analyst Donnie Berkholz, in an episode of The New Stack Analysts podcast to be posted later on this week. “In many ways, this helps address some of the concerns from the community.”
Docker partners and users have voiced concerns over the past year that Docker was advancing its technologies too quickly, offering too little in the way of a stable base for third parties to build from. This release carves out some of the stable components of the Docker engine, so it could serve as “boring” part of the infrastructure, Hykes said.
“As the innovation continues in this space. There is an interest in seeing the lower levels stabilizing and slowing down, and being cleanly separated from the higher layers, so everyone can continue to innovate, but move that innovation up the stack,” Hykes said. “But at the same time, we all want the lower layers of the stack to stabilize so the whole platform does not fall apart, crumble under its own weight.”
For end-users, the changes this move will bring about will be minimal, according to Hykes.
“If you are using Docker today, you won’t notice the difference. The commands remain the same, the interfaces remain the same. The plumbing has changed; it’s now more modular. But unless you want to know what is in the plumbing, nothing has changed,” Hykes said.
Draft APIs for containerd are here and a roadmap has been posted here.
TNS research analyst Lawrence Hecht contributed to this story.
Core OS, Docker, Red Hat and VMware are sponsors of The New Stack.