~sircmpwn/public-inbox

Re: My personal journey from MIT to GPL

Details
Message ID
<C2RNVXM3FI6J.J3FMV6T3N6QR@vince-arch>
DKIM signature
fail
Download raw message
DKIM signature: fail
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.