choko-org / redux-boot

Modular Redux bootstrap with asynchronous side-effects.
MIT License
126 stars 7 forks source link

GPL is an inappropriate license #25

Closed jahewson closed 8 years ago

jahewson commented 8 years ago

The GPL is an inappropriate license for a library, especially a JavaScript library. Anyone who uses redux-boot is required to release their code under a GPL-compatible license. This all but guarantees that pretty much nobody will adopt your library.

This requirement is explained clearly in the GPL FAQ:

if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing.

Given that Redux uses the MIT license, you should stick with that. It's more permissive than the GPL and will encourage other developers to actually use your library.

recidive commented 8 years ago

Hello @jahewson, this is an interesting topic. We had a conversation on this during one of our nightly sprints. Personally for me, this is not a concern. It's good to have the chance to revisit this topic.

Let discuss this a little bit further before taking action. We know the LGPL is the GPL compatible license more appropriate for libraries, what do you think would be the implications of using the LGPL license on a Redux extension module?

Thanks for the feedback.

sebas5384 commented 8 years ago

@jahewson it's good to hear feedback about this issue, because to me is a great deal, I think its because I "came" from GNU/Linux and Drupal community.

Like @recidive said we had discuss this issue, and it seemed OK to release it with the GPL license, but MIT it really seems more appropriated given the context here, which is "a javascript library" and most of the libraries are with the MIT license.

I understand your point, and your are right MIT seems more appropriated.

What about LGPL ? also I had find interesting this article about this topic: http://stuck-in-windows.blogspot.com.br/2009/02/fud-over-javascript-and-gpl.html

@jahewson probably we are going toward MIT, but I was wondering if your concerns aren't resolved with the LGPL license.

jahewson commented 8 years ago

@recidive, LGPL is indeed appropriate for libraries, but it brings with it some requirements which it's not usually possible to satisfy for JavaScript applications (unless you're building an entirely GPL/LGPL app). For example, the "combined work" is required to be assembled in such a way that the LGPL'd library can be switched-out for a version built by the user. For desktop software, that means using a .so, .dll, or .dylib for dynamic linking or providing the .o files of the non-GPL'd portion for static linking. But in the world of minified JavaScript, it's going to require the full source code to the application - because the "combined work" is built and linked as a monolithic whole.

So the LGPL isn't going to work well either. Given that Redux is MIT-licensed, why bring a new license into the equation at all?

@sebas5384, that link is really talking about dual-licensing under the LGPL, which is fine - but there needs to be more than just the LGPL as the license, as on its own it's too restrictive for modern JavaScript for the reasons I mention above.

Dual-licensing would be a nice solution here.

sebas5384 commented 8 years ago

Dual license looks like a good fit, but also an overload to redux-boot early stages.

Let's change to MIT then!

@jahewson thanks for your help o/