We all know “software is eating the world,” but more and more, it’s open source projects that are driving some of the most innovative work in the tech industry.
From OpenStack to MongoDB to Android, open source development has transformed both the consumer and enterprise worlds. With so much innovation, it’s easy to forget that the open source movement is nothing new, dating back to the origins of modern computing.
In the beginning
Decades ago when a computer was still the size of a refrigerator, software typically came bundled with its source code so that users could fix bugs, make modifications or create their own features. Most software was still coming out of academic research, so code was shared freely in the spirit of education.
“Everything used to be free in the ’60s and ’70s because it was a bunch of people just kind of playing with software and sharing it with their colleagues,” said Sarah Novotny, senior program manager, open-source communities, at Google. “We hadn’t gotten to a spot yet where people saw it as a business. It was a tool.”
Open source quickly became the de facto distribution model for software. Everything from airline operating systems by IBM to network protocols from ARPA (which laid the foundation for the modern internet) was freely available to researchers, corporations and tinkerers alike. But as software became increasingly complex and the cost of development skyrocketed, technology companies began to reexamine the wisdom of giving it all away for free.
“The industry started seeing that offering these tools as something that was paid for was a viable business model,” Novotny said.
While the ’80s and ’90s were marked by notable open source milestones such as the publication of the GNU General Public License in 1989 and the release of the Linux kernel in 1991, open source as we know it today did not return to the computing mainstream until the 2000s.
The open source renaissance
The advent of open-source-distributed version control (DVCS) in the early 2000s was one of the pivotal turning points that led to the modern open source movement. Git, released in 2005, is the most famous example. It enabled developers from around the world to collaborate and submit code to software projects with hundreds of contributors working in parallel. With the rise of sites like GitHub, broad swaths of source code also became centralized, so developers no longer needed to scour the web in search of code repositories to participate in a project.
As much as these innovations represented the natural progression of technological growth, they were also a reaction to the widespread commodification of software. Proprietary software had taken the industry from command line prompts to graphical user interfaces, but had also sequestered users into closed-off ecosystems that were rarely cross-compatible.
“There was a backlash against the monolithic stack, and vendor lock-in, and interoperability not being as good as it could be,” Novotny said. “As computers became ubiquitous not just within business but within the world, more people became interested in the interoperability components.”
Today, those components comprise some of the most significant software initiatives on the planet. From the OpenStack project, which aims to create a free and open platform for cloud computing, to Kubernetes, designed to automate the deployment and scaling of application containers, some of the most innovative coding work in the world right now is taking place on open source infrastructure modules that will guide the course of computing for many years to come.
The best part? Because technologists dictate the course of development rather than corporations, innovation benefits the greater good and not just the balance sheets of a small consortium of companies.
“I look at open source as a way for many people with competing needs and competing corporate agendas to come together and best serve the collective needs of the world,” Novotny said. “Kubernetes began as a Google project and was open-sourced in 2015 to broaden adoption, broaden input and make sure that the whole of the community’s needs around container orchestration are addressed.”
Over its lifetime, Kubernetes has integrated code from more than 1,000 unique committers, with about 200 contributors participating in an average release cycle. But asked whether open source development necessarily yielded “better” software, Novotny said it wasn’t a panacea.
“Putting an open source license on something is all that’s required to make it open source software, but that does not make it better software,” she said. “Getting more people to interact, contribute, offer bug reports and feedback — having an engaged community is ultimately what makes better software.”