Only a few short decades ago, information technology was a luxury available only to huge corporations and nation-states. “The best technology” was birthed inside bunkers in places like Armonk and Menlo Park. Development processes were secretive and emphasized competitive differentiation.
Today, the best technologies in IT infrastructure are created and consumed via open source and open standards. The list of most active organizations on GitHub reads like a Who’s Who of Big Tech: Adobe, Alibaba, Amazon, ARM, Facebook, Google, Huawei, IBM, Intel, JetBrains, Microsoft, Mozilla Oracle, Pivotal, Red Hat, Salesforce, SAP, SUSE and VMware.
But along the way, some of those large organizations leveraging open source software began behaving in ways many saw as a threat to the open source ethos. Licensing model debates are the primary way this tension manifests itself, yet focusing on licensing misses a critical point: we should be arguing about how the software is developed, not so much about how it’s licensed.
A phenomenon taking root in open source culture today is focused squarely on that issue. Called community-driven software development, it’s delivering a better way to create — and consume — open source.
Open Design and Open Development
Community-driven software development is the next logical step in the open source economic miracle, and it’s important to realize that community-driven software development is not automatic in an open source model. It must be purposeful, and there are two important hallmarks of community-driven software that will tell you who is serious about it: open design and open development.
Open design means that individuals within the community (not any one organization) control the design process, often before a line of code is written. Those that show up and participate are the community. No one meets you at the door to check your company badge or ask what flag flies over your country — you are welcomed to the process. This happens through open and purposefully engaging gatherings (in person, and increasingly online) for anyone and everyone interested in the project.
Open development means the source code and roadmap are publicly available through the entire development process and are open to public review. All code and patches are online, accessible and transparent.
Both are necessary, and Docker is an instructive example of why simply making the code available publicly is insufficient. The project had one foot in and one foot out of the community-driven model. The code was open, but the design was not. While Docker has certainly achieved immense success as measured by adoption, I believe it ultimately fell short of its potential because of the control exercised by Docker Inc. during the design process. This, in many ways, gave oxygen to Kubernetes, which instructively is openly designed today. Since then, Docker Inc. split into two companies, one of which was acquired by Mirantis (the original “pure-play OpenStack” company). The other half is increasingly looking to control and monetize “Docker Hub” which is predictably giving rise to additional image registries, and even leading to proposals to deprecate support for the Docker-shim in the Kubernetes roadmap.
Open Design Is Critical
For open source to continue to flourish, I believe we really need to embrace open design. I’m particularly passionate about this issue of open design, because I’ve seen how vital it is to the success of open source projects. I have devoted the last decade of my life to open source as COO of the OpenStack Foundation, which last month became the Open Infrastructure Foundation. I have great hope for what true community-driven software development can do for our world and the role that foundations can play in tearing down barriers to participation.
Facebook shared a powerful example of this at the Open Infrastructure Summit last month in introducing its open source project Magma. Magma has the potential to bring internet access to all the areas of the world that lack access today. Magma was created within Facebook Connectivity, but Facebook Connectivity wisely realizes that for the project to move more quickly and have the kind of worldwide impact of which it is capable, it needs to become community-driven.
The Open Infrastructure Foundation is just one of many organizations contributing to this effort, by helping organizations like Facebook Connectivity and Ant Group (the world’s largest payment processor) build awareness, drive participation, and give users and community members from across the globe a seat at the table as this project strives to truly change the world.
Roadblocks on the Path Forward
I’ve become increasingly concerned about the voices calling for protectionism and nationalism in technology development. These voices are calling us down a dead-end path. To take a protectionist, isolationist, head-in-the-sand approach will set all nations back and rob humanity of the progress technology brings to our lives, depriving everyone of the fuel that drives economies.
As Benedict Evans recently wrote in his piece about “The end of the American internet”, “you can no longer assume that the important companies and products themselves are American… it does seem clear that we should just presume a global diffusion of software creation and internet company creation. It doesn’t really matter if Silicon Valley ends up as 25% or 75% of the next 100 important companies — America doesn’t have a monopoly on the agenda anymore.”
I would append to his observation and say that no company or country has a monopoly on the agenda. Our world is not only software-defined but also globally intertwined. The progress we’ve made in the past decades has not been driven by Balkanizing the fundamental technology that runs the world; it has been driven by global collaboration and community-driven software development.
Community-Driven Software Development Matters to Everyone
If we want to build a world where everyone has greater equity in access to economic opportunity, where a positive future is more evenly distributed, it all starts with better tools. And if we want to trust the infrastructure systems we’re increasingly dependent on for every aspect of our lives, community-driven software development is the way to unleash the next decade of value creation.
Amazon Web Services, Red Hat and VMware are sponsors of The New Stack.
Feature image via Pixabay.