It’s difficult to imagine a world without open source. Open source is ubiquitous. In fact, open source is what powers the internet.
For example, 60% of the world’s websites run on Apache and Nginx, the most popular web servers. And yes, even Fortune 500 companies use Nginx.
One of the reasons open source software (OSS) has massive usage is that there are lots of contributors.
Developers from anywhere in the world can bring their ideas, perspectives, and use cases to software, making it more dynamic. This leads to wider adoption.
The crazy thing is, OSS has not always been here. There was a time when you needed to build your own compilers, text editors, and maybe an operating system before you could write a program!
In this article, we take a walk through history and explore the beginnings of open source, its rise, its downsides, and what the future of open source could look like.
What is Open Source? A Definition
As a software engineer, it might seem silly to stop and think about the meaning of "open source."
But have you ever stopped to explain open source to someone who isn't in technology or to the proverbial five-year-old?
At its core, open source is an idea. It’s a concept that revolves around access. You can access someone else’s source code (or even a company’s). This way, you can customize it for your use case, find bugs, and fix them too.
Better still, you can share your “version” of the source code with others in addition to the original.
The person who writes the inceptive source code gives this access, which is an invitation to contribute, based on existing licenses. Different licenses will have certain limitations or obligations.
Open source can also be seen as a movement. Yes, initially, open source was a “rebellion” against closed source (proprietary software whose source code is “owned” by a certain company or organization and therefore is not accessible).
Developers did not want to keep paying for software that did not meet their use cases, had bugs that they could not always fix, and had security issues. They also didn't want to have to wait for the next big update to have even the smallest bug fixes. Let’s not even get started with vendor lock-in.
Richard Stallman, who is hailed as the father of open source, seems to prefer to use “free software” instead. He believes that open source and free software have come to stand for very different philosophies over time.
Who Owns Open Source Software?
So, is there any particular person or group of people who own a particular piece of OSS?
Ideally, the authors of the software are its owners. This is, however, a tricky way to look at it because, in some cases, there are thousands of authors.
A better way to look at “ownership” would be in terms of rights, intellectual property, or copyright.
This is where licenses come into play. There are licenses that do not allow for the sale of the original software or its versions, while others require you to “update” the initial code base with the changes you make.
The terms of “ownership” are therefore defined by the licenses the code is distributed under. Since you are likely to have several libraries and frameworks within your open-source code base, you need to adhere to those other licenses, too.
There can be different "levels of ownership" for open source projects, from contributors to maintainers to committers.
All these levels have different types of access to the code base. The “higher tiers” get to approve changes that will be included in the core code base for official releases.
Committees and organizations like the Apache Software Foundation (ASF) are in charge of bigger open source projects. There is an Apache Project Management Committee (PMC) that helps manage the code bases.
It is important to note that open source is a concept that is applicable to other fields beyond technology.
How Did Open Source Software Come About?
The roots of OSS go deep, wide, and far back into the past, as early as the 1950s.
The 1950s – the A-2 system
In 1953, the A-2 system (an equivalent of today’s compilers) was released together with its source code, and customers were asked to send any improvements to UNIVAC (the Universal Automatic Computer).
UNIVAC was a division under Remington Rand, Inc., an early American business machine manufacturer. Remington Rand had acquired UNIVAC patents as well as its creators, J. Presper Eckert, Jr., and John Mauchly.
There were a few decades of OSS “silence” after the 1950s. Creating software was an expensive and exceedingly complex process. Giving it away for free was thus out of the question.
The 1980s – GNU
In 1983, however, Richard Stallman started to work on the GNU project, which was made up of rewrites of closed software he frequently used.
GNU stands for "GNU’s Not Unix" and is pronounced as one syllable with a hard g.
In 1984, Stallman spearheaded the creation of the GNU, a free operating system that was made to counter closed systems.
In 1985, he wrote the GNU Manifesto, asking for support in the development of the GNU operating system.
He also founded the Free Software Foundation (FSF), a nonprofit that was aimed at promoting freedom in computer use.
By 1987, most of the essential components of the GNU operating system were complete. There was an assembler, editor, and various Unix utilities like grep and ls. A C compiler was almost finalized.
In the 1980s, Stallman also created the GNU General Public License (GPL). All the components of the GNU operating system were released under this license.
Today, the GPL allows for the freedom to share and change all program versions, ensuring that they remain accessible to all users.
In the 1990s, Linus Torvalds pushed OSS even further by creating the Linux kernel. He then released it to the public in 1991, along with its source code.
It became the kernel for the GNU operating system.
Other salient events in the 1990s that significantly shaped OSS include:
- The publication of the Python interpreter source code (1991)
- The launch of the Apache HTTP Server (1995)
- The coining of the term “open source” (1998)
- The release of the Netscape browser’s source code (1998)
- The release of Open Office’s source code, the free software counterpart to Microsoft Office (2000)
The 20th century laid a sturdy foundation for OSS. We’ll explore more recent open source developments a bit later on.
The Origins of the Open Source Movement and Community
In this section, we'll trace the origins of open source as a movement and community. We already came across efforts like Stallman’s Free Software Foundation (FSF).
Other significant open source organizations include the Open Source Initiative (OSI). The OSI was created to counter the “free software” approach that Stallman had propagated.
They felt that “open source” took away the focus on “price” and the confusion that “free” elicited from people who heard about it for the first time.
Eventually, OSI began to focus on licenses and published “OSI-approved licenses.”
As more OSS was released, different foundations and communities began to form around it. Python became fully open source in 1999, and in 2001, the Python Software Foundation (PSF) was founded.
The Apache Software Foundation (ASF) was established in 1999. The first members were some of the creators of the Apache HTTP server, which was released in 1995.
To date, these non-profits have contributed to the growth of open source by encouraging contributions from developers, supporting community events, ensuring the OSS code base stays up-to-date, and releasing new versions.
Docker, for instance, was launched during PyCon 2013.
How Did Open Source Continue to Develop?
The 2000s and 2010s saw exponential growth in open source. Here is a summary:
Open Source in the 2000s
- The Free Software Foundation Europe is created to support free software in Europe (2001)
- Version 1.0 of Mozilla Firefox becomes available to the public (2004)
- Git, a version control system, was released in 2005 by Linus Torvalds, Linux’s creator.
- Google releases the Android mobile OS (2008)
- Blockchain is built on lots of open source technologies and developers contribute to its code base (2008)
- Node.js comes out (2009)
- Google Chrome is based on the Chromium project’s open source code. Chrome was initially released in 2011
- A lot of open source tools power IoT, including the Linux Kernel. IoT became a conglomeration of technologies in 2013
- Containers and container orchestration (Docker 2013 and Kubernetes 2014)
- The cloud (2016)
- Firefox Quantum (2017). Firefox’s biggest update in 2017, saw it rise to become the third most used browser.
How Open Source Became So Popular
As we have seen, initial open source efforts were geared towards fighting closed source and the exorbitant “rental pricing” that they had for software.
Developers, therefore, began by building the most commonly used components of software, for example, operating systems (think about GNU).
Over time, more and more developers collaborated on building these software components. Non-profit organizations began to publish software under licenses like the GPL.
In the mid-1990s, companies began to create OSS. For example, MySQL AB, a Swedish company, created and released MySQL in 1995.
The open source subscription model
By the early 2000s, companies that created open source projects offered access to their source code for free but charged subscription fees for enterprise-grade support.
One of the pioneers of the “open source subscription model” was Red Hat. Its offering was the Linux server in 2002, which was known as the “Red Hat Linux Advanced Server." It is currently known as Red Hat Enterprise Linux (RHEL).
Developers could access Red Hat’s Linux server’s source code for free but had to pay for support.
As more and more companies began to follow the subscription model, developers began to contribute to these products.
Their contributions were eventually added to the initial code base.
The open source subscription model, however, evolved into something akin to the freemium model. Companies would release a free version of their software, and developers and businesses would pay to access more features.
With the introduction of the cloud, the free versions began to be hosted in the cloud, resulting in the Software as a Service (SaaS) model.
These free versions are still available for developers to contribute to. Today, many developers contribute to software whose original code base was written by employees of a particular company. This is true even for Big Tech.
If the contributions are deemed significant, they are assimilated into the core code base.
Developers give feedback and even request features that better suit their use cases. As a result, a lot of open source companies will share a roadmap of their upcoming features and include some of their users’ suggestions in their game plans.
The best thing is that all the contributions and conversations happen on GitHub, Discord, Slack, community forums, and even Hacker News or Reddit. If the companies are proactive, then both their products and the developer community benefit.
Developers will identify bugs and test new features too. As the product’s GitHub stars and forks increase, more users are willing to use it, and more people are willing to contribute.
As developers discover these open source projects, they incorporate them into their own projects and sometimes even work projects.
As a result, organizations and businesses end up using the OSS as part of their final product. Eventually, they could even pay for the enterprise versions.
Some companies still use the freemium model, where developers can use the software for free and access the source code. They only get to pay if they are looking to scale, for example.
Why the Open Source Movement Has Grown So Much Recently
According to the 2023 State of Open Source Report by OSI and OpenLogic by Perforce, 80.04% of the respondents said that their organization had increased its use of OSS in the last 12 months.
The same survey listed the top reasons for OSS adoption among organizations as:
- Better access to innovations and the latest technologies
- Faster deployments
- Access to stable technologies with community long-term support
- The ability to contribute to, and influence the direction of open source projects
- Vendor lock-in
The community aspect of open source is a vital contributor to the growth and adoption of OSS among organizations. It is the heartbeat of open source as a movement, too.
The open source community has supported the open source movement and software through its generous contributions via feedback, and trying out as well as improving the OSS that is released, since the 1950s.
And the community is here to stay. In 2021, there were 413 million contributions made to the open source projects on GitHub.
OSS, which has the backing of the community, not only has a wide reach but is more stable and up-to-date with patches.
Newer and better versions are also released more frequently. Community-backed OSS also caters to more use cases.
Issues with Open Source
Despite the eminent success of open source, there are a few downsides to it.
First, the licenses that govern open source are quite fragmented. There could be multiple licenses in a single open source project, for example.
You might have used several open source libraries. Depending on the size of the project, it may be virtually impossible to tell how many licenses you need to comply with.
This affects the scalability of OSS, especially in a business context where compliance matters.
Second, with the advent of technologies like the cloud, keeping projects open source is becoming harder and harder. A lot of open source projects are powered by closed cloud products.
There is a need for the cloud to adhere to open source principles if open source is going to thrive in the cloud, too.
Third, as more and more organizations adopt OSS, there’s a lack of people with the technical skill set to help them integrate it into their existing systems.
There are also challenges that stem from support, as shown in the following image.
Fourth, sometimes OSS is poorly documented, difficult to use, and doesn’t always work outside the box. This is because OSS may not always focus on user experience (UX). To get a piece of OSS running, you need to have the technical know-how to install and configure it.
Some OSS also have a very small team of developers actively working on them. This may affect things like UX and even the frequency of updates and upgrades, as well as the speed of innovation.
The Future of Open Source
The future of open source is bright. With technologies like containerization and the cloud, developers will need to work with a set of tools that make their own work easier.
With containers, for example, developers can build once and use the same code base in multiple environments without much setup and configuration.
Internally, developer teams will need to build workflows that can help them deliver faster. DevOps is already doing that with CI/CD pipelines.
The 2023 State of Open Source Report by OSI and OpenLogic by Perforce showed that larger organizations (with over 5,000 employees) intended to use Kubernetes and Kubernetes operators over the next 18 months.
The open source community is therefore likely to continue to support efforts that make life easier through automation and containerization.
This doesn’t mean that older technologies that are still in use will be neglected. By all means, no. The Linux kernel still supports lots of OSS today.
There are challenges that open source will need to overcome, though, to remain the powerhouse that it is.
For example, with most companies developing most of the OSS, there needs to be a way for them to keep making money so as to support open source.
With open source practically leveling the playing field, it can become very difficult for companies to differentiate themselves.
This could mean that fewer and fewer companies would be able to support the innovation that springs from open source.
All in all, open source has managed to survive decades, and we know that despite the obstacles it will have to face, it will conquer.
We have journeyed through open source in a bid to understand what it is and trace its origins and development over the years and decades. We've discussed its popularity, and even the challenges that it has had to conquer and is still facing today.
Ultimately, we looked at what the future of open source could look like.
I hope that I answered the questions that you might have had about open source’s origins, and hopefully, you are inspired to contribute to OSS. Because why not?