Open source software is released through a specific kind of license that makes its source code legally available to end-users. There are many such licenses, but typically software is considered open source if:
- It is available in source code form without additional cost, meaning users can view the code that comprises the software and make any kind of changes to it they want.
- The source code can be repurposed into other new software, meaning anyone can take the source code and distribute their own program from it.
Open source software does not necessarily mean that executable software is given away for free. It does, however, mean that its source code is available for free.
For instance, the source code for Red Hat® Enterprise Linux® is freely available to anyone (see for yourself), but converting that source code into runnable code requires expertise, time, and servers. When organizations want the production-ready code for Red Hat Enterprise Linux without having to reconstruct it themselves from source code, they obtain a subscription.
Open source software is also sometimes conflated with the free software movement, which can add to the confusion around whether open source means "free." The free software movement grew out of the hacker culture of the 1970s and was formally founded by Richard Stallman as part of the GNU Project and the non-profit Free Software Foundation. Usually, "free software" is meant to emphasize a freedom in the rights of end-users, but can sometimes be confused as meaning "free of cost."
In actuality, neither free software nor open source software denote anything about cost—both kinds of software can be legally sold or given away. Instead, the primary difference between them has to do with sharing. For free software, if you make changes to source code and want to share them, you also have to share those changes back with the original project. For open source software, there is typically no such restriction.
Despite their practical differences, free software and open source software do share common values. In fact, the terms are sometimes combined in the popular phrase "free and open source software" (FOSS).
Keep learning about open source
Tell us what you want to know more about.
The key difference between proprietary software and FOSS is the availability of the source code. Proprietary or commercial software like Microsoft Windows and Adobe Photoshop are not available to end-users as source code. Free software like the Linux kernel (the basis of Red Hat Enterprise Linux) and open source software such as Google Chromium (the basis of the Chrome web browser) are available as source code through their respective licences.
Because Linux is free software, Red Hat shares the changes it makes to compose Red Hat Enterprise Linux back with the open source community. Because Chromium is open source software, Google does not have to share the changes it makes to compose Chrome back to the community.
There are also different types of open source licenses. For instance, if someone turns your source code into new software, will you require them to release it under the same license (as with the GNU GPL), or can they release it under a different license (as allowed in the GNU LGPL)? The internet and increasingly popular cloud computing model would be very different if their origins weren't based on open source software.
Open source software matters to everyone, not just programmers, because it unlocks the potential of many more people to become innovators than a closed-source model. Open source communities, for instance, are organized around open source projects where anyone with skills can join and contribute code. These groups still maintain standards around contributing to open source projects just like proprietary software teams do, but they open up this process to anyone in the world who wants to contribute.
This open source development model has resulted in some of the most important applications and cloud platforms in use today. The most popular of which comprise LAMP, a model of service stacks that undergird much of the web. The LAMP acronym stands for:
- Linux: an open source operating system (OS) and the largest open source project in the world
- Apache: an open source cross-platform web server that played a key role in the early web
- MySQL: an open source relational database management system used by many database-driven web apps
- PHP: a general purpose scripting language used in software development (Perl or Python languages are sometimes substituted)
Other examples of popular open source technologies include the Android mobile OS, the Mozilla Firefox web browser, the widely-used version control system Git, and the two related office suites OpenOffice and LibreOffice. On a broader scale, most innovation in the areas of cloud computing, big data, and artificial intelligence have been derived from open source software projects.
In addition to its instrumental role in the early web and some of the most popular applications used today, open source software has other advantages for businesses and individual programmers. When source code is open, it makes it easier for anyone to study it to develop new programming skills. Open source licensing also allows students to get practice by editing the code and sharing it with friends and the broader open source community, or even contributing fixes to existing open source projects.
Open source software also offers businesses the ability to customize it to meet their specific needs, or innovate new customer experiences not included in the original source code. Some also prefer open source software because there are many more developers looking for security vulnerabilities when the source code is openly available and has an active community supporting it.
Open source software is the result of an open source development model. The open source development model is decentralized and encourages open collaboration and peer production. It has influenced a broader movement in software development, and people often refer to its core principles as "the open source way."
The open source way is so effective because it can attract tremendous technical talent. Much of the innovation in technology is taking place in the open source community, and people all over the world end up using open source software. Behind many popular websites and applications you can find projects like Linux, Kubernetes, and Git, and people access the internet with open source browsers like Firefox and Chromium.