The MIT license and the BSD family of licenses

The MIT license is a permissive open source license that originated from the Massachusetts Institute of Technology back in the 1980s. Currently, MIT is the second most popular among all OSS licenses, lagging behind Apache 2.0 with a narrow margin (30% usage for Apache 2.0 vs 26% usage for MIT based on data from WhiteSource). Another interesting trend identified in recent years is that the share of open source components under permissive licenses, such as the MIT and BSD licenses, continues to increase at the expense of copyleft licenses which are experiencing a downturn (78% share for permissive licenses vs only 22% for copyleft licenses based on data from WhiteSource).

Although the exact timeline of events is a bit unclear, it is believed that the MIT license was crafted somewhere between 1985 and 1987. Its inception was related to a joint project between MIT, IBM and Digital Equipment Corporation (DEC) called Project Athena. Allegedly, an early version of the current MIT license was initially used for a release of a software product launched under Project Athena – the X Window System. The X Window System was a solution for developing graphical user interfaces and its version 11 was the release published under the MIT license.

It has to be noted that the MIT license is probably the simplest open source license you can encounter. It provides code recipients with an abundance of freedoms in exchange for compliance with only two simple conditions. This explains the immense popularity of the license and its high favorability status among software developers.

Any person who obtains a copy of MIT-licensed software would receive extremely broad usage rights without having to incur any charges. These include the rights to use, copy, modify, merge, publish, distribute, sublicense and sell copies of the software. As we can easily see, the bulk of rights granted under the license are an embodiment of the 4 fundamental freedoms of free and open source software – i) the freedom to run the program for any purpose, ii) the freedom to study how the program works and to change it, iii) the freedom to redistribute verbatim copies and iv) the freedom to distribute copies of any modified versions.

 

 

As mentioned, under the MIT license there are only 2 requirements for the code recipient. These are the obligations to include the original copyright notice and the text of the license in all subsequent copies of the software.

Given the broad freedoms granted to the code recipient, one may ask the question if there is something that is forbidden under the MIT license. Actually, there is one thing that the licensee cannot do and that is to hold liable the author/authors of the code. Any software distributed under the MIT license is provided on an “as is” basis, without any express or implied warranty, including but not limited to warranty of merchantability, fitness for a particular purpose or non-infringement. The authors of the code would not be liable for any damages, whether direct or indirect, which arise out of or in connection with the use of the software under both contract and tort.

As we observed, the attribution obligation is the only requirement that the MIT license imposes on an end user. At the same time, the license provides great flexibility for both open source community developers and commercial software development teams. The former can benefit from a reputable license that is very easy to use and can be quickly applied to any of their creations while the latter are free to employ commercial reuse of the code and distribute proprietary closed source software based on existing pieces of MIT-licensed code.

BSD (Berkeley Source Distribution) is a family of typical permissive licenses. Similarly to the MIT license, they were created by an educational institution – UC Berkeley. The BSD family includes the 4-clause license (original BSD license), the 3-clause license (Modified BSD License), the 2-clause license (Simplified BSD License) and the 0-clause license.

A key characteristic of all BSD licenses is that they do not impose any restrictions on the choice of license upon redistribution of the code. Thus, they allow for modified or derivative works to easily become proprietary (closed source) software that is distributed under a commercial license.

The 0-clause BSD license is a public domain equivalent license as it imposes no requirements whatsoever on a code recipient. It merely includes an unconditional grant of rights and a disclaimer of warranty and exclusion of liability. In particular, an end user is granted permission to use, copy, modify, and distribute the software for any purpose, with or without a fee. It is interesting to note that from a textual perspective the 0-clause BSD license is not developed on the basis of the other licenses in the BSD family but is instead a modification of the ISC permissive license.

 

 

The first and oldest BSD license was the 4-clause BSD license which was created for the operating system that was developed by Berkeley UC – BSD OS. This license was rescinded in 1999 but it was characterized with a certain peculiarity which deserves attention. That was the presence of of an advertisement clause and a non-endorsement clause. As per Article 3 of the license, all advertisement materials that mention features or use of the licensed software had to display the following attribution: “This product includes software developed by the University of California, Berkeley and its contributors”. It has to be noted that this provision was removed from the next generation of BSD licenses – the 2-clause and 3-clause BSD licenses, because it led to incompatibility with the popular GNU GPL license. Additionally, Article 4 of the license postulated that the name of the university and the names of the code contributors could not be used in order to promote or endorse products which are derived from the licensed software without explicit prior written approval. This provision was subsequently removed from the 2-clause BSD license but it is still present in the text of the 3-clause BSD license.

After the rescission of the 4-clause license, the 2-clause and 3-clause BSD licenses emerged on the open source scene and started to gain prominence. There is overlapping content between the 2-clause, the 3-clause and 4-clause BSD licenses and these are the first two provisions (Articles 1 and 2). They postulate that any redistribution of the licensed software both in binary form and source code form must retain the provided copyright notice and the text of the license including its 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, however caused and under any theory of liability. Thus, the only difference between the texts of the 2-clause and 3-clause BSD licenses is the presence of Article 3 in the latter which, as mentioned, stipulates that the names of the copyright holders and code contributors should not be used in order to promote or endorse products derived from the licensed software without prior written consent.

One last thing to keep in mind about the BSD licenses is that unlike the most popular permissive OSS license – Apache 2.0, the BSD licenses do not provide an explicit patent grant. Some authors still claim that the broad grant of rights under BSD could hint towards an implicit patent grant but that is a question open to interpretation. Nevertheless, in order to bring certainty in 2016 a new BSD sub-version was created – the BSD+Patent license (also known as BSD-2-Clause-Patent), which provides an explicit patent grant.

The presence of an explicit patent grant in the Apache 2.0 license might be one of the reasons why it is more popular than the MIT license and the BSD family of licenses. The rationale is that such a provision provides certainty and peace of mind for the code recipients as it would preclude code contributors who own patents in the licensed work to claim patent royalties.