Adoption of Kubernetes, the popular container orchestrator, continues to expand and the technology evolve to meet the needs of new distributed architectures. Throughout this evolution, one thing that has remained intrinsic to Kubernetes is its open-source heart. The official Kubernetes community values represent an ongoing effort to encourage a vendor-neutral, community-first Kubernetes culture. So, what are these values?
The Kubernetes community values, as described on GitHub, emphasize five key ideas: distribution, inclusivity, community over company, continuous improvement and automation over manual processes. Though initially defined to guide development of a container orchestration software standard, these concepts could just as easily apply to building a developer community around many other cloud-native open source software projects.
But, why were these values created? And, are they still relevant to Kubernetes – and the software landscape in general – in 2021? I recently met with Sarah Novotny, open source wonk, Azure office of the CTO, Microsoft, to find out more. Novotny also spoke about these principles in her KubeCon 2017 keynote. Below, we’ll explore each of the five K8s core community values, consider what they represent and get an update on where Kubernetes is heading.
The Five Kubernetes Community Values
1. Distribution > Centralization
First, Kubernetes uses a distributed model where authority is delegated throughout services. Similarly, the project as a whole aims to share ownership, with the belief that distribution is better than centralization. “Distributed asynchronous ownership, collaboration, communication and decision making are the cornerstones of our world-wide community,” according to the project values.
Kubernetes governance, too, is structured in this way, with smaller steering committees assigned to specific technical areas. With a structure akin to distributed microservices development, it’s interesting to see Conway’s Law apply itself to organizational structures for open-source communities, too.
2. Community > Company
Vendor neutrality is vital for any community project to thrive. Thus, the Kubernetes project emphasizes a community-first mindset. “We support working together publicly for the common goal of a vibrant interoperable ecosystem,” the values state.
Whereas companies are static, people are fluid. “People continue shifting, flying a new corporate flag,” Novotny says. A culture of continuous learning can bring unique perspectives and empathy, as we collectively understand that together, we become more than what we are alone, she says.
3. Automation > Process
Automation is core to the SRE approach. In fact, a recent report by Salesforce found 95% percent of IT and engineering leaders are prioritizing workflow automation. Similarly, the Kubernetes community seeks to reward automation wherever possible. “We value time spent automating repetitive work more highly than toil,” the project values state.
Of course, it’s important to acknowledge the sweat and tears invested in tedious tasks that are impossible to automate. “Open source projects have lots of low-glamour hard work,” Novotny says. “We must reward this low-level work that make[s] this operationally possible.”
4. Inclusive > Exclusive
Imposter syndrome is a real threat to community building. Instead of feeling shame, newcomers should be encouraged and feel welcome to ask questions. “Our community respects the time and effort put into a discussion, regardless of where a contributor is on their growth path,” the values say. This also includes diversity and encouraging participation from members of underrepresented groups. “Everyone needs a starting point,” Novotny says.
5. Evolution > Stagnation
In the age of continuous integration and deployment, evolution is essential for meeting new digital innovation demands. “Continual improvement, servant leadership, mentorship and respect are the foundations of Kubernetes culture,” the values read. To meet these goals, the Kubernetes project offers mentoring activities to help evolve the culture, community and the project.
6. Fun > No Fun (Unofficial)
Novotny adds “having fun” as an unofficial community value. “We all learn better and work better when we are having fun together,” she says. This could entail learning Kubernetes fundamentals via a Scott McCloud comic, attending a special interest group event dedicated to bouldering, or meeting via immersive VR realities. No matter what the activity, finding fun ways to collaborate can spark creative ideas and solutions.
Grass Roots Yield Timeless Fields
As Novotny described in her 2017 KubeCon keynote, the meager KubeCon attendance in 2015 jumped to thousands of attendees in just a few short years. This has accelerated even faster — KubeCon + CloudNativeCon Europe 2020 virtual event had more than 18,700 registrants.
No matter how adoption expands or where the project leads, Novotny views the community values as timeless. “These values should be enduring,” she says. “And if they were changed, they would be changed through a community process.”
Though following company-first goals can appease short-term profits, it’s challenging to ensure others are prioritized over any one company’s particular needs. This was one of the challenges OpenStack faced, Novotny points out. Instead, building community first can boost longevity. “We made sure that this was an open community — working community-first and not company-first,” Novotny says.
It seems that prioritizing open source community culture over work culture is key to building an enduring project. And naturally, taking this long-term view means handing over the reins to the community. Novotny, who now oversees many FOSS areas in her role at Microsoft, describes Kubernetes as, “Bringing in and growing its third generation of leaders.”
K8s, in its Third Generation
So, where is Kubernetes heading in its third generation? Well, broadly speaking, Novotny hopes that containerization will become further established as a default infrastructure. Kubernetes is an amazing evolution, overall, for the industry, but there is always an opportunity to evolve and mature it further.
In terms of service mesh, Novotny cautions use aside from within extensive enterprise deployments. “For any cloud-native project at a very large scale, service mesh becomes really important.” However, for average workloads, service mesh could introduce far more complexity than organizations are prepared to handle. “Evaluate on specific workloads and expertise. Understand what your needs are, and make tech simpler, as much as possible within these constraints,” she says.
Culture Propels K8s Forward
Arguably, decentralization has been pivotal to Kubernetes’ blossoming. Simultaneously, culture is important for any community software project. “Peer accountability in open source projects is much more important than any sort of top-down accountability,” Novotny says.
While these five values are core to the Kubernetes ethos, other open source projects could certainly aspire to replicate these principles. Of course, while there may be commonalities, “each community has its own flavor,” Novotny says.