I had been using the GNU General Public License for some years now without fully understanding its implications. Recently, I spent some time thinking about my ethical beliefs regarding free software and discovered that the GPL does not satisfy them. I investigated other open source licenses, but nothing fit. So, with the help of others, I developed a copyleft variation of the famous MIT license.
These are my ethical beliefs regarding open-source software:
Source code should always be available for software because it allows the user to learn from and improve upon the software. In line with the academic spirit, this ensures that everyone has access to knowledge (the source code) – not just an elite few.
The license should only govern my source code and derivatives of it – nothing more. In this manner, I avoid imposing my beliefs on software that simply uses my source code.
The license that best embodies my ethical beliefs is the Creative Commons’ by-sa (attribution + share- alike) license. In particular, I like by-sa because it ensures that my source code (and derivatives of it) will never be locked away or kept secret.
Unfortunately, CC does not recommend using their licenses for software. A friend suggested that I try the SleepyCat license, whose copyleft condition (the third condition) states:
Redistributions in any form must be accompanied by information on how to obtain complete source code for the DB software and any accompanying software that uses the DB software. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
I found this condition to be:
too aggressive: I only want the license to govern my source code and its derivatives. I do not wish to impose the copyleft condition on any accompanying software that uses my source code.
too brittle: In the phrase “must be freely redistributable under reasonable conditions”, what is considered to be reasonable?
The term reasonable is very subjective, and I can easily imagine it being abused by evildoers. Ultimately, a judge will have to decide the meaning of this word in court.
I looked at other licenses that fit the by-sa ideology (particularly MPL, CDDL, CPL, EPL) but found them all to be very lengthy and full of legalese. In contrast, I admire the short length and great comprehensibility of the MIT license and so, I decided to make a copyleft variation of it.
The MIT license has the following properties (from Ed Burnette’s survey of free software licenses):
- Code is protected by copyright? Yes
- Code can be used in closed source projects? Yes
- Program that uses (incorporates) the software can be sold commercially? Yes
- Source to bug fixes and modifications must be released? No
- Provides explicit patent license? No
My goal was to modify the condition paragraph of the MIT license so that question 4 above is given a “Yes” answer. The resulting license is a weak copyleft variation of the MIT license.
Copyright <year> <holder> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * All copies and substantial portions of the Software (the "Derivatives") and their corresponding machine-readable source code (the "Code") must include the above copyright notice and this permission notice. * Upon distribution, the Derivatives must be accompanied by either the Code or--provided that the Code is obtainable for no more than the cost of distribution plus a nominal fee--information on how to obtain the Code. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The license shown above is the end result of several revisions made in response to and with the help of friends and various people on the debian- legal and license-discuss mailing lists and the IRC chat room for the wmii project.
Many discouraged me from pursuing my own license because I was inadvertently contributing to the problem of license proliferation, but I proceeded nonetheless because no existing license served my particular ethical beliefs so concisely as this.
This license appears to satisfy the Open Source Definition (OSD), Debian Free Software Guidelines (DFSG), the three tests (desert island, dissident, and tentacles of evil) outlined in the DFSG- FAQ, and GPL compatibility which the Free Software Foundation (FSF) is presently in the process of verifying. However, only OSD compliance has been verified thus far.
This license is literally identical to the MIT license except for:
The removal of the
(c)token from the copyright notice because it is not a legally recognized substitute for the real © symbol.
The list of conditions, in the middle.
Now, let us examine the list of conditions one by one.
All copies and substantial portions of the Software (the “Derivatives”) and their corresponding machine-readable source code (the “Code”) must include the above copyright notice and this permission notice.
This condition ensures that the copyright and permission notice are never removed from the software. Does this sound familiar? Of course! This condition is simply a restatement of the original MIT license’s condition paragraph.
Upon distribution, the Derivatives must be accompanied by either the Code or –provided that the Code is obtainable for no more than the cost of distribution plus a nominal fee–information on how to obtain the Code.
This condition ensures access to the software’s source code because the code is either (1) distributed along with the software or (2) obtainable by some other means. This is the primary innovation that makes this license a copyleft variation of the MIT license.