Think about the website you use the most often: maybe it’s a social media site, or a food delivery app, or a site you use for work. There are probably things you like about it. Maybe it’s nice to look at or really easy to use. But there are also probably some things that could be improved. Now, what if you could be the one to make those improvements?
Unfortunately, on most websites, this isn’t possible. The source code, or the code that was used to build the website, is very likely proprietary. This means that the code was written by a certain company, and only the people who work for that company have permission to view and change the code. However, this isn’t always the case; that’s where open source comes in.
What is open source?
Open source software is software whose code is free to view, modify, and distribute. It is usually created and maintained by a community of volunteer software developers who collaborate on websites like GitHub. Anybody with an internet connection can view the code, and they can even suggest changes or point out issues that need to be fixed.
While many open source projects are software projects, the concept of “open source” can be applied to many disciplines. For example, hardware specifications, such as 3D printer models, can also be open source, as can data sets and other digital assets. In this article, however, we will focus on the term “open source” as it applies to software projects.
Every active open source software project has one or more maintainers. These are the people who steward the project and make sure it remains free from bugs or other problems. In other words, they “maintain” the project! While they may spend their time writing code for the project, their main priority is to review and organize contributions from others. The people who make those contributions are aptly called contributors. These are people who submit new code, documentation, or even bug reports to open source projects.
Open source software projects can vary in size. Some projects might just have one person who both maintains them and contributes to them, while others have over one thousand contributors! In fact, many of the libraries and frameworks used by the largest companies are open source. React, for example, is a popular open source library used by companies like Twitter, Netflix, TikTok, and even Codecademy!
So, how did the open source movement as we know it come to be?
Where did open source come from?
In the 1980’s, some software developers noticed a troubling trend: the software industry was gravitating more and more towards creating proprietary software. This presented a few problems:
First, if the developers noticed a bug in the software they were using, it was impossible for them to fix it themselves. They would have to wait for the company that created the software to release a new version, which could take months, or even years!
Secondly, if the company that created the software went out of business, the developers would either be stuck with old software, or they would be forced to buy new software from a different company, only to repeat the cycle all over again.
For example, the researchers at MIT who studied operating systems in the 1960’s and 70’s did their work on PDP-10 computers. When these computers were discontinued in the early 80’s, MIT replaced them with new computers that had different, proprietary operating systems. Twenty years of the researchers’ work was rendered obsolete because they could no longer use the same operating system as they had before.
To reverse this trend, researchers at MIT and the University of Helsinki began working on the first open source operating systems, GNU and Linux. In 1985, many people did not have access to the internet, so in order to collaborate, developers would have to send each other physical tapes containing the source code!
At the time, this was called the “free software” movement, but it laid the groundwork for what we now know as the “open source” movement. The term “open source” wasn’t even invented until the late 1990s – In 1998, the source code for the internet browser Netscape was made publicly available. Anticipating that other software projects would follow suit, an employee of Foresight Institute named Christine Peterson ultimately pitched the name “open source,” coining the term that would define this movement for decades to come.
Open Source Now
Open source has come a long way since developers sent each other code on tape via snail mail. Now, people can share their open source code on sites like GitHub within seconds. In fact, there are over 45 million open source repositories on GitHub (as of April 2022)! According to a 2022 report from Synposis, 97% of commercial codebases use open source components, and 78% of code is open source. Even the largest tech companies, such as Meta, Amazon, and Google, rely on and maintain open source software projects.
The open source movement has grown so much in the last 40 years, and that’s because open source software offers powerful benefits to the software community as a whole.
The Benefits of Open Source
The open source movement has become a way to establish new standards in the software industry. Once again, think about your favorite websites: they probably have many of the same features, such as login and signup, user-to-user messaging, and payment processing. Now, if each of the companies that build those sites had to write software from scratch to enable these features, this would result in many duplicate implementations that would each have their own distinct problems and bugs to fix! Open source provides a standard way of implementing these features that the entire developer community can build, test, and maintain together. Everybody wins!
Many of the commonly used tools in the industry, such as operating systems, internet browsers, and coding languages, are open source projects. Remember Linux, one of the open source operating systems built at the start of the free software movement? Well, Linux is now a standard for operating systems across the entire industry.
These are many examples of widely used software that benefited from it being open source, but let’s highlight the Chromium project.
The beauty of open source is that if a company that maintains a popular open source project decides to abandon it, another company or a group of community volunteers can continue to maintain it, keeping it available for the industry to use.
Take Kiwi TCMS, an open source test management system, as an example. In 2009, the company RedHat, Inc released the project under the name “Nitrate.” By 2017, however, they were no longer accepting new contributions; the project had been abandoned. Seeing value in the project, one of its contributors decided to create a fork (essentially creating a new branch off of the original version) and maintain it himself. Kiwi TCMS, as the project is currently called, is still maintained today, and has over 1 million downloads from DockerHub (a popular platform that allows developers to easily download and set up open source software).
Why You Should Participate in Open Source Software
The collaborative nature of the open source community also presents important opportunities for developers. Working on an open source project is a great way to network with and learn coding and communication skills from software developers all over the world.
If you would like to read further on the history and impact of open source before diving into other material, here are some optional resources: