When you talk about the meaning of “free and open source software,” one way to frame the discussion is to observe the difference between the Latin terms for “free”: Libre and Gratis. Libre means "with little or no restriction," whereas Gratis means “at no monetary cost." There’s a subtle but important difference.
You can use this analogy to understand the meaning of Free and Open Source software (FOSS). Per Wikipedia:
"...open source refers to a computer program in which the source code is available to the general public for use or modification from its original design. Code is released under the terms of a software license. Depending on the license terms, others may then download, modify, and publish their version (fork) back to the community."
Additionally, open source software is developed collaboratively by community members who are often welcome and encouraged to contribute to it.
However, just because the source code is open-source doesn’t mean you can install it for free – it’s released with a license that gives users a license that describes how they can manipulate and run the software. In other words, it’s libre but not necessarily gratis.
There are different types of open source licenses, and they fall into two primary categories, Permissive and Copyleft:
- Permissive licenses such as MIT and Apache 2.0 place very little or no restriction on how people use the open source code and re-share software. People can legally combine different pieces of software and distribute them together.
- Copyleft licenses such as GPL v2 or v3 require people who develop software using code protected with the GPL license to release the full source code and give users the same rights that they received. In other words, the code and any derivative works must remain open source.
About two-thirds of all open source projects use the permissive licenses MIT or Apache 2.0, or the copyleft license GPL (v2 or v3). For example, Wordpress, a leading free and open source content management system (CMS) for building and hosting websites, operates under a GPL license – as does Directus, the first and only Open Data Platform for powering any data-driven project.
Good for the Community
GPL is a good licensing option for many developers, because it provides access to solid, working code while permitting modifications. It can be used in commercial projects, and it protects the original project, because it prevents anyone from patenting something they created using the original source code. Copyright and license notices must be preserved.
With a GPL license, contributors make pull requests through the code repository (i.e. Github) to request that their new code or modification is pulled into the original source code. They may do this to add a feature, fix a bug or improve functionality. Github allows you to control who maintains the software and which contributed pull requests are merged into the main codebase. Amnyone can fork a copy and make edits directly, but the maintainers have full control and authority over the main repo. What’s more, a lot of collaboration may occur around pull requests until a decision is made and new code implemented. This not only protects the original code base but ensures any new changes introduced provide value to the project’s users.
What about a Dual License?
Permissive licenses such as MIT or Apache may sound like a preferable option to GPL, but be careful to read the fine print. Many vendors claiming to use permissive licenses actually operate under a dual license model, where parts of the code are under MIT or Apache licenses, and other code is gated by a much more restrictive license.
For example, a vendor might make their code base open source so anyone can view it or access documentation and examples, but protect certain folders and directories pertaining to crucial aspects of the software – for instance, the ability to assign permissions – under a much more restrictive license or paywall. Sure you can download and reuse the software, but if you want to control access to whatever it is you create, you’re going to have to pay for a commercial license. Vendors may promote or advertise their software as open source, without mentioning this caveat.
While Directus’s GPL license requires that any “forked” version of Directus developed from the open source code remains open source, that doesn’t apply to extensions. Anyone can build a Directus extension and make it proprietary. For example, our client SoulCycle developed a seating chart extension that is completely closed source and not covered by our GPL license. In this way, we offer developers the benefit of leveraging proven, working code to build out their data-driven projects, and the flexibility to enhance their own offerings with purpose-built extensions that they can protect under any license they choose.
Collaboration Breeds Innovation
The beauty of open source software is that it brings talented and knowledgeable developers together to collaborate on how to make a piece of software better, more efficient, more feature-rich and more valuable. At the same time, the GPL license ensures that the main project repository gets authoritative releases and remains open-source.
Check out Directus on GitHub, or get started with Open Data Platform by creating a project today.