POSTS
You May Finally Use JSHint for Evil
JSHint is a software tool designed to help developers write JavaScript code. Since its creation in 2011, it has been encumbered by a license which includes the following clause:
The Software shall be used for Good, not Evil.
That stipulation disqualifies JSHint from the distinction of “free” software and “open source” software.
Today, with a release 7 years in the making, we’re removing the clause. Support for Evil is a new feature but not a breaking change, so in keeping with Semantic Versioning, we’ve incremented JSHint’s minor version. JSHint version 2.12.0 is licensed under the terms of the MIT Expat license.
In this series of essays, I’ll discuss why this matters for the project, why it matters to me personally, and how a large group of people came together to make this possible.
- Watching the Ship Sink - how the license hurt JSHint
- Dug In - why I stuck with JSHint and the relicensing effort
- Asking Nicely - our inability to relicense solely via contributor consent
- Wrestling it Free - our success in relicensing through rewriting code
Adam Stacoviak and Jerod Santo of the Changelog podcast also interviewed me about this project.
Whether or not you care about any of that, the result is the same: JSHint is now irrevocably free software.
Many thanks to all the people who’ve contributed to JSHint for making this project worth liberating and for enthusiastically participating in that process. Thanks especially to Anton Kovalyov, without whom there would be no JSHint to relicense. Ethan Dorta, Alex Kritchevsky, Matt Surabian, and Tyler Kellen masterfully reimplemented code that they couldn’t see. It’s tough to overstate the difficulty of the challenge and the shrewdness required to overcome it. Tim Branyen, Isaac Carter, and Timon Lukas also volunteered time and energy toward this end. Rick Waldron and Caitlin Potter gladly accepted the burden of CLA enforcement in addition to their more traditional maintenance duties. The relicensing effort was dead in the water until Simon Kaegi discovered the free software version of JSLint; thank you, Simon, for catalyzing the campaign. Joel Kinney and Steven M. Ayr provided much-needed legal perspective (to be clear: not legal advice) when this all started, and they did so with eagerness and passion that would make you think we’d paid them (to be clear: we didn’t). When things seemed hopeless, Paul Tagliamonte, Nadia Eghbal and Karen Sandler offered much-needed encouragement and perspective. In addition to introducing me to Ethan, the Free Software Foundation continues to sponsor writing and conferences that reinforce the importance of software freedom. By researching legal concerns regarding software rewriting, Russell Hoover and Kendra Albert at the Harvard Law School Cyberlaw Clinic demonstrated expertise and altruism. Jory Burson, Lyza Gardner, and Mat Marquis all helped me make sense of this story. The warmth and dedication of these people can’t be overstated!