Then and Now: Comparing Kubernetes to Linux
VMware sponsored this post.
One project “started” it all; the other supercharged and mainstreamed IT adoption. Two projects formed decades apart and worlds away. But each fueled by the fire of community spirit. What can Kubernetes — an open source project born out of the need to orchestrate abstracted applications — learn from Linux, a decades-old operating system kernel? What lessons can the grandmaster pass along to the precocious upstart Kubernetes?
According to some, Linux is where the notion of open source began. Frustrated by the cost of Unix and the limitations of Minix, the only freely available UNIX-compatible OS, a young developer in Finland took matters into his own hands. Linus Torvalds released an operating system kernel in 1991 to a small group of MINIX users. The 1.0 release followed in 1994, and in 1998 Oracle announced Linux support for their SQL database. And that’s when momentum shifted.
As awareness and adoption of Linux grew, major tech companies were obliged to pay attention. Some of that attention was wielded with intent to squash Linux, while others scrambled to foster its continued adoption. Egos, futures and fortunes (to lose or gain) were at stake. In time, the fracas died down and Linux grew to be more accepted. Certainly not the lightning rod of discord it once was.
“If we do our job right, people will stop talking about Kubernetes in the next five years. Not because it goes away, but because it becomes a normalized and boring substrate supporting waves of new innovation above it.”
– Craig McLuckie, @cmcluck
In 2000, Linux found a home in the Open Software Development Labs (OSDL), a non-profit organization entrusted with accelerating deployment of Linux into enterprise computing. Not surprisingly, some of those same companies startled by Linux’s popularity and rapid adoption also provided funding for OSDL. In 2007, OSDL merged with the Free Standards Group to form the Linux Foundation. This foundation provides a vendor neutral home for Linux kernel development and ongoing support. (LF now fosters a wide variety of technologies beyond Linux — blockchain, security, even the film industry looks to LF for vendor neutral technology.) At last count, some 25,000 individual developers from over 1,400 different companies have contributed to the kernel. Today the kernel contains more than 27 million lines of code, with a stable release issued every nine to 10 weeks. And its supporting technologies? A cast of thousands: C libraries, toolchains, databases, web servers, desktop environments, to name just some. Primary, active distributions range in the hundreds.
As far as adoption goes, the prevalence of Linux continues apace. According to the Linux Foundation, the Linux operating system now runs 90% of the public cloud workload, has 62% of the embedded market share, and 99% of the supercomputer market share. More than 82% of the world’s smartphones and nine of the top ten public clouds rely on Linux. If any software has “eaten the world,” it’s Linux. (source: 2017 State of Kernel Development report.)
But while change is constant and Linux continues to thrive, its founder, Linus Torvalds, pursues a more modest goal: “I want to make it boring.”
Enter Kubernetes. Released in 2014 by Google as an open source project on GitHub, it swiftly gained attention in the cloud native space. By July 2015, version 1.0 became available and the Cloud Native Computing Foundation (CNCF) assumed stewardship of the project. Kubernetes quickly became a head-turning, disruptive open source technology — not unlike Linux. What was different? The velocity of change and adoption, including broad-based corporate support.
A little more than five years after its debut, Kubernetes today boasts a contributing community and project velocity rivaling the 29-year old Linux (Source: CNCF Journey Report). As illustrated below, Linux, React, and Kubernetes enjoy the top and right positions, with a larger bubble circumference representing the community size. All this points to high velocity and evidence of a diverse, engaged, and vibrant community. For many, Kubernetes has become the “Linux of the Cloud”.
Like Linux, beyond Kubernetes lies a vast ecosystem of supporting open source technologies. The landscape surrounding Kubernetes includes more than 1,200 projects from 2,000 different companies. VMware’s contributions to this ecosystem include Harbor, Sonobuoy, Velero, Contour, Antrea — along with countless contributions in other projects, such as Cluster API, TUF, and Istio. These projects enhance Kubernetes by addressing unique use cases, challenges, or gaps in functionality. Development and adoption of these projects further fuels a vibrant community, enabling customization and unique combinations to meet specific production requirements.
The role of the community cannot be understated when it comes to Kubernetes: today it boasts a contributor community of more than 35,000. By establishing and maintaining community norms, committing to a predictable release cadence, practicing open, transparent communication, and ensuring a healthy pipeline of project leaders, the Kubernetes project abides by attributes that form a strong core upon which the community of adopters can rely.
But amidst all this frenzy of change and adoption is a quest for something quite different. According to Craig McLuckie, Kubernetes co-founder and now VMware executive, “If we do our job right, people will stop talking about Kubernetes in the next five years. Not because it goes away, but because it becomes a normalized and boring substrate supporting waves of new innovation above it.” Sounds oddly familiar.
What’s the lesson in all this? More than one; but here a few:
- Community matters. It’s what sustains a project and helps to moderate the extremes of opinions and criticism. A burden shared is a burden lightened. Both projects rely on a core community to sustain and manage change. For Linux, it’s the Kernel Maintainers and Kernel Contributor community; for Kubernetes, it’s the collection of SIGs and the core Contributor community.
- Keep sight of a shared north star. Know the problem and the purpose that binds you together. Check in with the community when that star starts to dim; they’ll tell you.
- Know what needs to be core, and where things can diverge to address unique needs, use cases or technology paths. A tight grip around everything will only slow progress and adoption. There is only one Linux kernel, but many applications of it and distributions built upon it — according to Wikipedia there are more than 700 Linux distributions. In a similar vein, conformant distributions built on top of the Kubernetes core continue to increase. Kubernetes is made more complete by the more than 1,200 projects that support and enable a wide variety of implementations. This dual model of centralization and distribution enables both stability and change.
- Competitors can be collaborators; good ideas and great leaders can come from anywhere. Open source is where innovation can flourish at lightning speed and change is democratized. Anyone, from anywhere, regardless of company affiliations or lack thereof, can be part of the community.
And finally, the last lesson: if you want to endure, shoot for boring. It’s the new signal that you’ve arrived.
Read more about VMware’s Open Source community, projects and leadership on our blog.
The Linux Foundation is a sponsor of The New Stack.
Feature image via Pixabay.