Hi Drew, I think you should consider using the MPL 2.0 instead of the GPL. And I mean that literally: just consider it. Obviously you can do whatever you want with your projects. I just wanted to make sure you were aware of it. Your journey from MIT to GPL sounds a lot like my own shift in thinking re: licenses a few weeks ago, and I eventually settled on the MPL. Here's a link to the MPL for reference: https://www.mozilla.org/en-US/MPL/2.0/ And here's a link to Mozilla's FAQ: https://www.mozilla.org/en-US/MPL/2.0/FAQ Here are the reasons I originally preferred MIT-style licenses: * It seemed like the most "free" option (matching what you wrote about in your blog). * Companies definitely prefer MIT-style, and many outright reject any library that uses something more restrictive (and it seems GPL has a reputation in the business world as "something to avoid"). I wanted businesses to be able to use free software I wrote, since I use a lot of free software at my day job. It seemed fair. * The community of software with which I'm most familiar (Rust) commonly uses MIT/Apache duel licensing, so it seemed like rocking the boat to use anything else. Eventually I started reading about ZeroMQ, and read through Chapter 6 of its tutorial, which talked about why the LGPL was chosen. That writing is what won me over, eventually. http://zguide.zeromq.org/py:all#The-Importance-of-Contracts However, I found out that they were moving to the MPL for all new projects and checked it out for myself. The reason to prefer it over MIT for new projects is the same as for the GPL. Essentially, it guarantees that no one can steal your project from you by embrace, extend, extinguish. And it seems fair that if someone else uses your hard work, and they build off of it, they should have to contribute back any changes they make. The most interesting difference between GPL and MPL 2 is that the MPL is more conservative about what it requires users to open source. Users only have to open source changes they made to the actual source code of the MPL'd library. The benefits: * Businesses can more freely use MPL 2 software without worrying about other, unrelated parts of their product having to be open-sourced. * You don't have to worry about "static linking" exceptions, which is something that ZeroMQ had to craft for a strange kind of bespoke license for their project. See here for more information: http://wiki.zeromq.org/area:licensing * You still get the desired consequence of "if you extend my code, you have to open source it under the same license." Possible negatives compared to GPL: * It seems like the idea of a "derivative work" under the GPL has a broader scope than "just whatever this project encompasses". That is, what I would consider unrelated parts of a project might still have to be open sourced under the GPL, but not the MPL. While I don't want that requirement, others might, and that would be a negative for using the MPL. I personally have no stake in what license you choose for your software. I just thought you might find the MPL to be an interesting compromise, and I'm curious to know what you think about it if you've already considered and decided against it. Best, Vince Mutolo This email grew to be far longer than originally intended. Oops.