Open Source Organizations and Licenses
## Open Source Foundations
Open Source Foundations
The Linux Foundation
The OpenStack Foundation
The Apache Foundation
Free Software Foundation (FSF)
Open Source Licenses
BSD
The BSD open source license gives users a great deal of freedom. Broadly speaking, users can do as they please: freely use and modify the source code, and redistribute the modified code as open source or proprietary software.
But this freedom comes with three conditions when you release code under the BSD license, or build your own product through secondary development on top of BSD-licensed code:
- If the redistributed product includes source code, that source code must carry the BSD license from the original code.
- If only binary libraries/software are redistributed, the documentation and copyright notices of the library/software must include the BSD license from the original code.
- You may not use the names of the open source code's authors/organization or the original product for marketing.
BSD code encourages code sharing while respecting the code author's copyright. Because BSD lets users modify and redistribute code, and allows commercial software built on BSD code to be released and sold, it is a very friendly license for commercial integration. Many companies choose BSD-licensed products first when adopting open source, because they keep full control of this third-party code and can modify or rework it when necessary.
Apache
The Apache License is the license adopted by Apache, the famous non-profit open source organization. It is similar to BSD: it likewise encourages code sharing, respects the original author's copyright, and permits code modification and redistribution (as open source or commercial software). The conditions to meet are similar to BSD's:
- You must give users of the code a copy of the Apache License.
- If you modify the code, you must state it in the modified files.
- Extended code (modifications and code derived from the source) must carry the original code's license, trademark, patent notices and any other statements the original author requires to be included.
- If the redistributed product includes a NOTICE file, the NOTICE file must carry the Apache License. You may add your own terms to the NOTICE, but they must not read as a change to the Apache License. The Apache License is also friendly to commercial use. Users can modify the code when needed to meet their requirements and release/sell it as an open source or commercial product.
GPL (GNU General Public License)
Linux, which we all know well, uses the GPL. The GPL is very different from reuse-encouraging licenses such as BSD and the Apache License. The GPL's starting point is that code is open source/free to use, and that code referencing, modifying or deriving from it must also be open source/free — modified and derivative code may not be released and sold as closed-source commercial software. That is why we can use all kinds of free Linux, including commercial companies' Linux and the wide variety of free software on Linux developed by individuals, organizations and commercial software companies.
The GPL's main provision: as soon as a software product uses a GPL-licensed product ("use" meaning library linking, modified code or derivative code), that software product must also adopt the GPL — that is, it must also be open source and free. This is the so-called "viral" effect. Used as a standalone product, GPL-licensed software has no problems at all and still enjoys the advantage of being free.
Because the GPL strictly requires that software products using GPL libraries also adopt the GPL, GPL open source code is not suitable for commercial software, or for teams with code confidentiality requirements, to integrate or adopt as a library or as a base for secondary development.
Other details, such as redistributing the code together with the GPL, are similar to BSD/Apache and the like.
LGPL (GNU Lesser General Public License)
LGPL is an open source license derived from the GPL, designed mainly for library use. Unlike the GPL, which requires any software that uses/modifies/derives from a GPL library to adopt the GPL, the LGPL allows commercial software to use LGPL libraries through linking, without open-sourcing the commercial software's own code. This means LGPL open source code can be linked by commercial software as a library, and released and sold.
However, if you modify LGPL-licensed code or create derivatives, all modified code, any additional code touching the modified parts, and derivative code must adopt the LGPL. LGPL open source code is therefore well suited as a third-party library linked by commercial software, but is a poor fit for commercial software that wants to build on LGPL code and do secondary development through modification and derivation.
Both GPL/LGPL protect the original author's intellectual property, preventing anyone from copying open source code to develop similar products.
MIT (MIT)
MIT is a license as permissive as BSD: the author only wants to retain copyright, with no other restrictions. That is, you must include the original license statement in your distribution, whether you distribute in binary or source form.
Open source does not mean free of charge, and open source does not mean without constraints.