What I mean when I use the MIT license

The MIT license, in case you’re not familiar with it, is one of a family of software licenses recognised by the Open Source Initiative. It’s one of the shortest and most liberal, and reads as follows:

The MIT License

Copyright © 2010 James T. Suckerpunch

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:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

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.

It essentially says that anyone can use and modify the software however they like, as long as they put my name somewhere, and as long as they understand I make no promises regarding the software’s quality.

Which you’d think would be pretty simple, and indeed that’s why I use it. It’s a recognisable way for me to say to other developers: Here. I made this. You might find it useful. I don’t care what you do with it. I won’t sue you, and you can’t sue me. I don’t even care if you “forget” to credit me all that much. I think I’ll be okay.

Except, it’s not that simple. Even the open-source world, which some would have you believe is peopled entirely by neckbearded hippies, is subject to the occasional lawyer-infused tarpit where some company decides it can make a bit of headway by essentially preventing other people from being creative. I’m not going to get into the ins and out of the case, partly because I’m not qualified, by mostly for a far better reason:

It’s very, very boring.

I get why the GPL exists, really I do. Especially in areas like government and scientific research, Free Software is a very important movement. I also get that we can’t all give our software away for free. What I’m mostly annoyed by is the fact that even in communities where open-source is being done properly, where people just want to share their work without getting the lawyers involved, the water is still muddied by paranoia over what all the various open-source licenses mean and whether they are compatible.

Last week, the author of the Charts and Graphs module for Drupal emailed me to ask if I could include some extra version info in the Bluff source code so they could sniff for whether the user had a version with a particular bug that needed working around. Why does it matter what the user has? Can’t you just ship Bluff with your module? No: Drupal is released under the GPL and won’t accept any non-GPL code. So even though I was distributing code under a more liberal license, other authors had to ask their users to install a component themselves and do crazy workarounds rather than bundling the software they wanted to use.

Sure, Drupal has to be paranoid because unfortunately they operate in an environment where they have to be scared of the lawyers. But this policy is directly in conflict with people like me who just want to give our work away, and it ended up hurting Drupal’s users as they had to supply a component that for legal reasons couldn’t ship with the product itself.

So, before anyone else emails to ask me for permission or to alert me that horror-of-horrors someone’s using my ideas without stamping my name somewhere virtually nobody will ever read it, I want to make this very clear:

I make stuff because I want to learn things. Sometimes I have a good idea, and I want to share it. I’m not a business, and I don’t care about money. (Even supposing any of my side-projects could make money.) I use an instantly recognisable license that closely approximates my motives. I don’t care what you do with my work, aside from being interested if it’s awesome. If I have time, I’ll help you out and fix bugs. I’m not making any promises, except that I won’t sue you.

But what I care about most is that I get to work on stuff that matters to me without getting embroiled in the big anti-creative sideshow that is The Software Licensing System. And call me a neckbearded hippie, but if you’ve ever made anything I expect you feel the same way.

If you’ve enjoyed this article, you might enjoy my recently published book JavaScript Testing Recipes. It’s full of simple techniques for writing modular, maintainable JavaScript apps in the browser and on the server.