In general, the concept of open source is built upon three key tenets – i) the open source technology, ii) the open source community that stands behind it and iii) the open source licenses that regulate the use of that technology. These three elements are intertwined together to produce a phenomenon that provides significant benefits to society in terms of both technological development, accelerated innovation and economic growth.
Open source software distinguishes itself from proprietary software based on the fact that it provides certain fundamental freedoms to the end user. As per the definition established by the Free Software Foundation (FSF), there are 4 fundamental freedoms that a piece of software needs to provide in order to qualify as “free software”. These are:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3).
The Free Software Foundation (FSF) was established by Richard Stallman back in 1985 and it strongly revitalized some of the social ideas of the 1970s around free sharing of software. In this conceptual framework, “free software” does not necessarily mean free of charge, but instead means that the users have the freedoms to run, copy, distribute, and modify and re-distribute the software without the necessity to ask for authorization or pay any form of royalties to the right-holder. Another key principle applied to free software is that the passage of the freedoms to all downstream users must be guaranteed. This is in fact achieved through the concept of copyleft – the idea that both free software and its modifications must be redistributed again as free software – with full access to the source code and under the same or compatible license terms as the original distributed product.
The underlying paradigm behind the efforts of the FSF was shaped by the idea that proprietary software severely limits the freedoms of the end user and the clear solution to that problem is presented by its anti-thesis – free software. The explicit line of argument of the FSF against proprietary software and the fact that it is putting limits on the freedoms of the end users, can also clearly be seen in the developed concept of copyleft.
In 1998 the Open Source Initiative (OSI) was founded as an educational, advocacy, and stewardship organization. During a strategy session back in February, 1998 in California, the label “open source” was born. The participants in the conference believed that it would be useful to have a clear label that identifies their approach and also distinguishes it from the notion of “free software” which they viewed as more politically and ideologically-focused than merely focusing on technology.
Unlike the FSF, the Open Source Initiative believed in a more pragmatic approach towards proprietary software – open source was not seen as a pure anti-thesis to proprietary software. Instead, the OSI stance was that both forms of software could peacefully co-exist and at the same time each of them could bring some unique advantages and benefits to the end users and their varying necessities.
One of the first tasks undertaken by OSI was to draft the Open Source Definition (OSD), and to employ it in practice in creating a list of OSI-approved licenses. The first list of open source licenses was published back in 1999 and it has been updated many times ever since, as it remains an authoritative list of OSS licenses, referred to by many governments and standard bodies.
As per the Open Source Definition, the distribution terms of open-source software must comply with the following 10 criteria:
- Free redistribution – the license must not restrict any party from selling or giving away the software as a component of an aggregate software distribution; the license must also not require a royalty for such sale
- Source code – the program must include source code, and must allow distribution in source code as well as in compiled form
- Derived works – the license must allow for modifications and derivative works and must allow for them to be redistributed under the same terms as those applicable for the original software
- Integrity of the author’s source code – the license may require derived works to carry a different name or version number from the original software
- No discrimination against persons or groups
- No discrimination against fields of endeavor
- Distribution of license – the rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license
- License must not be specific to a product – the rights attached to the program must not depend on the program being part of a particular software distribution
- License must not restrict other software – license must not insist that all other programs distributed on the same medium must also be open source software
- License must be technology neutral
As can be seen, the 4 freedoms established by the FSF can clearly be found in these 10 criteria. At the same time, the OSD builds upon the 4 freedoms and adds some additional specific terms.
Then comes the question – what is actually the difference between the term “free software” used by FSF and the term “open source software” used by OSI. In fact, the two terms refer to essentially the same licenses and the same software. The nuanced difference comes from the fact that each term embodies different values. In the words of Richard Stallman – “The two now describe almost the same category of software, but they stand for views based on fundamentally different values. For the free software movement, free software is an ethical imperative, essential respect for the users’ freedom. By contrast, the philosophy of open source considers issues in terms of how to make software “better”—in a practical sense only.” A neutral term that is often used to encompass both notions is FOSS – free and open source software.
It is interesting to note the position established by criterion 3 of the Open Source Definition when it comes to derived works – copyleft is fully allowed but at the same time it is not mandated, it is just an option. In such a situation the end user could ultimately decide after modifying a piece of open source software whether to redistribute it as closed source software under a proprietary license or as FOSS under an open source license. Such a view on freedom is something clearly represented in the principles underlying a specific group of FOSS licenses – permissive FOSS licenses.
The three most popular and widely used permissive FOSS licenses are:
- the MIT license
- the BSD family of licenses
- the Apache 2.0 license
MIT – The MIT license is a permissive open source license that originated from the Massachusetts Institute of Technology (MIT) back in the 1980s. The license grants full freedom to the end user to use, copy, modify, publish, merge, distribute, sublicense and sell copies of the relevant software, as long as the end user includes the copyright notice and the permission notice in all copies of the software. Thus, the attribution obligation is the only requirement for the end user upon redistribution and the license provides great flexibility for both community developers and commercial enterprise developer teams to produce proprietary closed source software based on existing pieces of MIT-licensed code. The license also includes a short disclaimer stipulating that the software is provided on an “as is” basis, without any warranties and the liability of the authors and copyright holders for any claims or damages is excluded.
BSD – The BSD (Berkeley Source Distribution) is a family of typical permissive licenses. They do not impose any restrictions on the re-distribution of the software and thus allow for modified or derivative works to become closed source proprietary software. The family includes the 2-clause license (Simplified BSD License), the 3-clause license (BSD License 2.0) and the 4-clause license (original BSD license).
What is common between all three BSD licenses are the first two provisions of the license which postulate that any redistributions of the software both in binary form and source code must retain the provided copyright notice and disclaimer. Importantly, the disclaimer stipulates that the software is provided on an “as is” basis without any warranties, such as warranties of merchantability or fitness for a particular purpose. Secondly, the disclaimer excludes any liability of the copyright holders or software contributors for direct, indirect, incidental, special or consequential damages under any theory of liability.
Apache 2.0 – The Apache 2.0 license grants the end user with a perpetual, non-exclusive right to copy, modify, sublicense and distribute a covered work and any derivatives of a covered work in both source code and object code. In this sense, it is a typical example of a permissive license granting very broad rights to the end user and only imposing certain attribution requirements on redistribution. These are the obligation to provide any recipient of the software with a copy of the license, to apply prominent notices to any modified files clearly stating that the files were changed and in the case of derivative works to retain all the copyright, patent, trademark and attribution notices from the initial work.
What is peculiar about Apache 2.0 is that it comes also with a patent grant. Under Section 3 of the license, the end user is granted by each contributor to the software a perpetual, irrevocable, non-exclusive patent license to make, use, sell, and transfer the relevant patented work, as the grant would normally apply only to those patent claims that are licensable by the respective contributor. Moreover, section 3 also includes what is called a “patent peace” clause. The rationale behind such a provision is to reduce patent infringement claims in the open source community and to foster freedom to operate and innovate. In the case of Apache 2.0, the provision stipulates that in case an end user initiates patent litigation against any entity with the allegation that the software as a whole or any contribution incorporated in it constitutes a patent infringement, then any patent licenses granted to the end user under Apache 2.0 for that software shall terminate as of the date the litigation is started.
In a similar way to the MIT and BSD licenses, Apache 2.0 also excludes any liability for both direct and indirect damages of the licensor and furthermore specifies that the software is provided on an “as is” basis without any warranties or conditions of any kind. Interestingly enough, the license however allows that upon redistribution a user or a legal entity may offer additional obligations for support, warranty, indemnity or liability and charge a fee for those additional obligations.