Open source describes software where the source code is available for anyone to view, use, change, and then share. Making source code publicly available allows others to build on and learn from it, enabling broad collaboration from people around the world.
It's in your phone, your car, your TV, and your wifi-connected light bulbs. Open source components enable engineers to build on the work of a global community of developers to deliver better products faster and at lower cost. Linux, the Apache web server, Android, Firefox, and WordPress are examples of open source projects you may have heard of.
Open source draws from the long-standing academic tradition of openness and sharing. As technology improved, it got easier to share source code for software, which resulted in more code being shared.
Here are some important examples:
The core of the Internet is built on shared protocols and popular implementations such as TCP/IP, sendmail, postfix, bind, httpd, and OpenSSL. (70s-90s)
Initially started to build a free UNIX-like system, its components are now used on free and commercial UNIXes alike. (1983)
The open source languages Perl, Python, and PHP, are some of the most popular programming languages. When used as part of the LAMP stack, they drove many popular websites. (1990s)
Read more about the key moments in the history of open source.
Copyright reserves the right to copy, modify, and distribute a creative work exclusively to the
copyright holder. It exists to protect the rights of authors, artists, and other creators, allowing
them to control if and how their work is used by others. In most countries, it automatically applies
the moment the work is created.
Just because you can see or access a copyrighted work, it doesn't necessarily mean you can use or copy it.
In order to work together with others, you need a way to share those reserved rights. A license provides a framework to do that.
An open source license has two key parts: rights and obligations. Rights define things you are
allowed to do. These directly correspond with the exclusive rights protected by copyright law.
Obligations identify things you must do in return for those rights.
For example, the MIT license includes "the rights to use, copy, modify, merge, publish, distribute, [...]". In exchange, the user is obliged to include the copyright notice and license text in all copies of the software.
If your intent is to collaborate with others, you should explicitly license your code because it protects both your rights and those of any collaborators.
An effective open source license is one which allows for broad use, modification, and
sharing of the code, without onerous restrictions. Ambiguous or vague licenses that don't
explicitly grant the rights protected by copyright are problematic because they're open to
interpretation. Additionally, if you're not absolutely certain you can comply with the
obligations of a software license, you probably shouldn't use the software. If there is
ever a legal challenge, you don't want to have to worry about the outcome.
The most popular licences are the MIT, GPL, and Apache. The best way to avoid wondering if a particular license is safe to use is to choose one of these generally accepted licenses. They've undergone rigorous review by the open source legal community.
For things that aren't code, such as documentation or artwork, Creative Commons provides a useful suite of licenses.
Open source communities are made of people who care deeply about its success and longevity.
The Open Source Definition (OSD), maintained by OSI, is the commonly agreed-upon definition of what makes an open source license. It's built on the Debian Free Software Guidelines, an earlier set of rules for defining "free software".
Beyond ensuring access to the source code, the OSD includes 10 core principles that further require all open source licenses to include the right to free distribution and the freedom for anyone to create derived works and use the software for any purpose.
OSI maintains a list of approved licenses that are designed for different purposes and have been reviewed for compliance with the OSD.
Google and many other OSI sponsors and affiliates recognize the OSD as the definition of open source and OSI's authority as the maintainer of the OSD. Licenses which do not comply with the OSD might still provide access to the source code, but they're not "open source".
The Free Software Foundation (FSF) is the guiding force for "free software" and are the keepers of the Free Software Definition. They were fundamental in creating the movement that eventually led to the creation of open source. The FSF believes that access to modify and share source code is essential for respecting users' freedoms.
There's more to open source than just code. The following groups help by providing processes for managing intellectual property, accepting financial contributions, and other infrastructure and stewardship that growing projects need. Here are just a few organizations and some of their affiliated projects:
There are lots of places you can learn more about open source. Here are a few:
Linux Foundation Guides
Leverage best practices for running an open source program office or starting an open source project in your organization.