OCP , governed by the Linux Foundation, is aimed to create an open standard around container formats and runtime.
From OCP website:
‘The Open Container Project is a lightweight, open governance structure, to be formed under the auspices of the Linux Foundation, for the express purpose of creating open industry standards around container formats and runtime’
OCP is sponsored by Apcera, AWS, Cisco, CoreOS, Docker, EMC, Fujitsu, Google, Goldman Sachs, HP, Huawei, IBM, Intel, Joyent, Pivotal, the Linux Foundation, Mesosphere, Microsoft, Rancher, Red Hat, VMWare.
As you see in the sponsor list, most of the important players in the container ecosystem are part of the project. This has even brought Docker and CoreOS together. A very welcome outcome indeed. However, on the other hand, we have some absentees, most notably, Canonical and Parallels. Bit suprising to me!!
With so many players in the container ecosystem, a well-defined standard covering atleast the image format and runtime is indeed very good. Or we end up in a situation which is so common in a multi-hypervisor virtualization scenario.
Anyone having dealt with multiple hypervisors knows the issues related to portability across multiple hypervisors. The image formats and VM descriptions are different. There have been efforts to standardize these, for example DMTF’s Open Virtualization Format tries to address the VM portability issue. However, there are practical challenges especially with difference in image formats for various hypervisors and coverting from one format to another. It’s a non-trivial task to migrate a VM from one hypervisor to another, and this has been one of the major reasons for vendor lock-in that I have seen.
I sincerely wish with OCP we’ll not have to deal with the portability problem for containers.
OCP’s aim is to let users create a container once, and use it on any provider supporting the OCP runtime. Let’s wait to see if in reality this is indeed the case.
Docker is donating its container format and runtime, runC, to the OCP to serve as the basic building block. If you are interested in the specification, then the same will be available at https://github.com/opencontainers/specs.