Think about the website you use the most often: Maybe it’s a social media site, 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 make those improvements yourself?
Unfortunately, this isn’t possible on most websites. The source code, or the code that was used to build the website, is very likely proprietary — meaning it was written by a certain company, and only the people who work for that company have permission to view and change it. But this isn’t always the case; that’s where open source comes in.
What does open source mean?
Open-source software is software whose code is free to view, modify, and distribute. It’s 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 (like 3D printer models), data sets, and other digital assets can also be open source. Here, we’ll 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 and contributes to them, while others have over 1,000 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, and TikTok. (And we use it too!)
So how did the open-source movement as we know it come to be?
The history of open source
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.
Second, 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 1960s and ‘70s worked on PDP-10 computers. When these computers were discontinued in the early ‘80s, 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 didn’t 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, like 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 — so 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? Today, it’s a standard for operating systems across the entire industry.
There are many examples of widely used software that benefited from being open source, but let’s highlight the Chromium project.
Soon, all browsers began adopting this standard, and all websites saw an improvement in performance and efficiency. Because Google’s work was open source, and many engineers tested and maintained it, the entire industry benefited.
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 Red Hat, Inc released the project under the name “Nitrate.” But by 2017, 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).
How to participate in open source
Ready to join the open-source community? Contributing to open-source projects will hone your abilities as a developer and help you build skills you’ll use throughout your career. Not only will you learn how to work with other people’s code and collaborate with other devs to create new features, you’ll also develop good documentation habits and project management skills that’ll help you hit the ground running in your first role.
“There are lots of things that translate directly from working on an open-source project to working in a company where you’ll collaborate with multiple developers, product teams, and non-tech related folks as well,” says Matt Bacchi, Codecademy Senior DevOps Engineer.
Plus, having open-source projects on your resume goes a long way with recruiters and hiring managers when you’re looking for a job. “Having some personal projects in your GitHub profile is great,” Matt says. “But contributing to open-source projects shows potential employers that you have the whole process under your belt and understand how the workflow operates.”
But where do you begin?
First, check out our free Introduction to Open Source course. We’ll teach you everything you need to know to get started, including how to find projects on GitHub, contribute your own code, read and write documentation, report bugs, and even create your own project. You may also want to read through this list of open-source terminology. (It’ll help keep you from getting confused by all the technical jargon.)
Then it’s time to find your first project! “Find a project you’re interested in and see if there’s an issue that you can understand and try to solve,” Matt says. “That’s how many of us get started — it’s just seeing a need and jumping in with both feet.”
Matt also suggests searching for projects labeled “beginner-friendly,” “easy fix,” or “good first issue” on GitHub. And while open-source contributions are usually volunteer, you can also find paid opportunities on sites like GitHub and HackerOne that offer money and other rewards for finding security vulnerabilities in company websites.
Are there any companies you’d love to work for? Check to see if they have any open-source projects. According to Matt, contributing might help you land a job. “I’ve actually seen people be hired from working on open-source projects for free before they eventually became an employee,” he says.
Need more ideas? Check out this list of projects you can contribute to right now.