When I answer technical questions, I try to treat people with respect. I assume that people are smart and know how to make good decisions if they have the right information. I try to give them facts, so that the architect part of their brain has the information it needs to make good decisions and go forth in the world to help others. Well, if you’re asking yourself – OpenShift is a fork? – you probably don’t want someone just telling you yes or no. Likely, you want them to give you the facts that will help you come to your own conclusions. That’s the approach I am taking here, so here are some facts:
- Fact: Each major version of OpenShift rebases from upstream Kubernetes similar to how Red Hat Enterprise Linux rebases from the Linux kernel when each major version is released. The Go programming language has the ability to do this easily. An entire upstream project can be included in a downstream project and this is called “vendoring” or “being vendored.” OpenShift vendors the entire Kubernetes code base without changes. This means that the entire Kubernetes code base is compiled into OpenShift. This is quite easy to see by looking at the vendor directory of the OpenShift Origin project on Github – right here.
- Fact: The entire team focused on OpenShift Origin and OpenShift is friendly with, participating in, and driving features upstream in the Kubernetes community. All of the engineers at Red Hat participate in and lead many of the Special Interest Groups in the Kubernetes community. There are no special interest groups in the Origin project it’s not trying to take users from the Kubernetes community. It ‘s simply a place for Red Hat to pull together and test all the parts of OpenShift including the Registry Server, Installer, etc. This gives both humans and machines a chance to test the entire OpenShift project in one place – transparently. Take a look at the participation in upstream Kubernetes SIGs – right here.
- Fact: People are going to disagree about what fork means, but typically a fork implies some kind of hostility. This is not the case with OpenShift and Kubernetes. When OpenShift succeeds, Kubernetes succeeds and vice versa – and people outside of Red Hat agree – right here.
- “…as with Linux, distributions and clouds carry patches without being seen as forking the kernel” – Dan Kohn (Executive Director of the CNCF)
- “…Is this a fork? No. It’s a way to make Kubernetes work for the real world.” – Matt Assay (Long Time Open Source Dude – not always to Red Hat)
So, with that, I will leave you to use your own architect brain and decide, do you think OpenShift is a fork of Kubernetes? I don’t think so. If it is, then I guess RHEL is too, and so is every other open source product that any company supports with backports and hot fixes. As always, feel free to ask questions below, or ping me on Twitter: @fatherlinux
One comment on “Is OpenShift a Fork of Kubernetes? Short Answer – No. Longer Answer – Here’s a Ton of Technical Reasons.”