What Is Open Source?

Think about the website you use most: Maybe it’s a social media site, a food delivery app, or a website 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 probably also some things that could be improved. What if you could make these improvements yourself?

Unfortunately, this is not possible on most sites. The source code, or the code that was used to build the website, is very likely proprietary – meaning it was written by a specific company and only the people who work for that company are allowed to see and change it. But this is not always the case; This is 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 is usually created and maintained by a community of volunteer software developers who collaborate on sites like GitHub. Anyone with an internet connection can view the code and can even suggest changes or point out issues that need fixing.

While many open source projects are software projects, the term “open source” can be applied to many disciplines. For example, hardware specifications (like 3D printer models), datasets and other digital assets can also be open source. Here we will focus on the term “open source” as it applies to software projects.

A project’s cycle with maintainers and contributors

Every active open source software project has one or more maintainers. These are the people who manage the project and ensure that it remains free of 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 reviewing and organizing contributions from others. The people who make these contributions are called appropriate 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 may have just one person both maintaining and contributing 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. For example, React 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 originate?

The history of open source

In the 1980s, some software developers noticed a worrying 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 had 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 bankrupt, the developers would either be stuck with old software, or they would be forced to buy new software from another company, only to repeat the cycle all over again.

For example, researchers at MIT studying 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 they had before.

To reverse this trend, researchers at MIT and the University of Helsinki began work 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 had to send each other physical tapes of 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 coined 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, a Foresight Institute employee named Christine Peterson eventually coined the term “open source,” coining the term that would define the 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 by Synposis, 97% of commercial code bases use open source components and 78% of the code is open source. Even the largest technology companies, such as Meta, Amazon and Google, rely on and maintain open source software projects.

pie chart showing statistics of code that is open source

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. Think again about your favorite websites: they probably have many of the same features, such as login and registration, user-to-user messaging, and payment processing.

Now, if each of the companies building these sites had to write software from scratch to enable these features, this would result in many duplicate implementations, each with their own distinct issues and bugs to fix. Open source provides a standard method for implementing these features that the entire developer community can build, test and maintain together – so everyone 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 is 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.

Chrome

When Google open sourced Chromium, the software underlying the Google Chrome browser, they also released a new JavaScript engine that implemented a number of improvements and optimizations in the JavaScript language.

Soon all browsers started 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.

Kiwi TCMS

The beauty of open source is that if a company maintaining a popular open source project decides to abandon it, another company or a group of community volunteers can continue to maintain it and keep it available for 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 in 2017 they no longer accepted new contributions – the project had been abandoned.

Seeing the value in the project, one of its contributors decided to create a fork (essentially creating a new branch 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 deploy open source software).

How to participate in open source

Ready to join the open source community? Contributing to open source projects will sharpen your skills as a developer and help you build skills you’ll use throughout your career. Not only will you learn to work with other people’s code and collaborate with other developers to create new features, you’ll also develop good documentation habits and project management skills that will help you get started in your first role.

“There are a lot of things that translate directly from working on an open source project to working in an enterprise where you’ll also be collaborating with multiple developers, product teams, and non-tech folks,” 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,” says Matt. “But contributing to open source projects shows potential employers that you have the whole process under your belt and understand how the workflow works.”

But where do you start?

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 might also want to read through this list of open source terminology. (It will 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 a problem you can understand and try to solve,” says Matt. “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 problem” on GitHub. And while open source contributions are usually voluntary, you can also find paid opportunities on sites like GitHub and HackerOne that offer money and other rewards for finding security vulnerabilities on company websites.

Are there any companies you would like to work for? Check if they have any open source projects. According to Matt, contributions can help you get a job. “I’ve actually seen people get hired from working on open source projects for free before eventually getting hired,” he says.

Need more ideas? Check out this list of projects you can contribute to right now.


Open Source Courses and Tutorials | Code Academy

Open source software is open for distribution and modification by anyone in the world – that could be you! Open source projects are not only a way to contribute to the free technology movement, but also a great way to experiment with new languages ​​and frameworks in a welcoming community. The open sou…

William

Leave a Reply

Your email address will not be published.