cinely / mule-uploader

Stubborn HTML5 Amazon S3 uploader
http://mule-uploader.com/
MIT License
223 stars 43 forks source link

License? #57

Closed Lewiscowles1986 closed 8 years ago

Lewiscowles1986 commented 8 years ago

Really quite a simple question, what is the license, and could you add it to the repo and mention in markdown please?

gabipurcaru commented 8 years ago

The license is GPL, though I wish to change it to MIT sometime in the future.

Lewiscowles1986 commented 8 years ago

Unfortunately you can't without a full rewrite, that is how GPL works http://www.gnu.org/licenses/gpl-3.0.en.html it's copy-left, so only more permissive libraries are possible, this is one of the reasons I asked

gabipurcaru commented 8 years ago

Isn't MIT be supposed to be more permissive than GPL?

Lewiscowles1986 commented 8 years ago

I don't think so, in terms of end-user rights and freedoms. This is why I hardly release anything GPL lol

Lewiscowles1986 commented 8 years ago

It is a great idea, but occasionally people make mistakes not understanding the license, and then it becomes a hindrance to the author, or the project dies

Miserlou commented 8 years ago

The author is free to re-license under MIT if he so wishes. MIT is non-copyleft, so more permissive than GPL. He is essentially forfeiting his ability to copyleft the work.

Lewiscowles1986 commented 8 years ago

Hi IANAL but...

http://stackoverflow.com/questions/77044/licensing-a-rewrite-from-gpl-to-mit

please take a look, and if in doubt email FSF, I am quite confident the information provided is correct

Miserlou commented 8 years ago

No, you're wrong. He wrote it. He can do whatever he wants with it. That's like saying he can't place it into the Public Domain because it's GPL'd. Of course he can. He is simply abandoning some rights to it.

On Thu, Aug 27, 2015 at 3:30 PM, Lewis Cowles notifications@github.com wrote:

Hi IANAL

http://stackoverflow.com/questions/77044/licensing-a-rewrite-from-gpl-to-mit

please take a look, and if in doubt email FSF, I am quite confident the information provided is correct

— Reply to this email directly or view it on GitHub https://github.com/cinely/mule-uploader/issues/57#issuecomment-135573833 .

Lewiscowles1986 commented 8 years ago

Thanks for your clearly well thought out, researched and legally sound rebuttal. AFAIK once you public domain or license your IP, despite the fact you retain some rights to fair compensation, you loose the right to re-license. I'm happy to learn this is not true, but it is my understanding that this is one of the trade-offs of the GPL, and why many choose a less restrictive license.

keithzg commented 8 years ago

MIT is more permissive, but it also means that others can change the codebase, sell the result, and not have to contribute any code back to the public. Personally that's why I tend to use copyleft licenses like the GPL.

Frankly, since you're using GPLv3 rather than AGPL, there isn't actually much practical difference for most uses. Because the GPL only applies to works that are distributed, it means that in practice anyone could take this code, use it for their own company's website, and never let anyone see their modification. This is because the PHP code and such is only executed on their own machines; the website running mule-uploader isn't also distributing it to the visitors. That's the entire reason the AGPL was invented, in fact, because the traditional concept of distribution that the GPL relies on for enforcing rights falls apart in a Software-as-a-Service world.

So for most practical purposes, any server-side code for running as web services is non-distributed and so people running and modifying the code---again, as long as they do not make it available for others to grab and run themselves---isn't being distributed and thus the GPL isn't a "problem" (I'm of the opinion that anyone who isn't willing to share the changes they make to an existing project isn't worth worrying about anyways, but then again I'm a lefty hippie ;)).

@Lewiscowles1986 wrote: Thanks for your clearly well thought out, researched and legally sound rebuttal. AFAIK once you public domain or license your IP, despite the fact you retain some rights to fair compensation, you loose the right to re-license. I'm happy to learn this is not true, but it is my understanding that this is one of the trade-offs of the GPL, and why many choose a less restrictive license.

@Lewiscowles1986: It's more nuanced (and more in favor of the authors of works) than that. If you've released something under the GPL, now it's in the public and anyone can continue to use, work on, and publish your code that's been released under the GPL as such if they've already gotten a copy of it (and anyone with such a copy can legally share with others). In that case, you can't retroactively decide nobody has the right to treat your work as under the GPL, but only because other people already legally have it under such an agreement. However you can still, if you want to, cease distributing the GPL versions yourself and release new versions of your work only under the new license, and those new versions are now available to the public by whatever terms you've chosen to attach to them.

This is also why many projects can be dual-licensed, ex. Qt itself is available under either a proprietary for-cost license OR a mix of GPL and LGPL (with a further choice for many parts of between GPLv2 and GPLv3) OR if the company ever goes under there's a clause that puts all the source code under a BSD-style license.

Anyways, for relicensing, all authors have to agree. So in the case of this project anyone whose pull request has been accepted would have to agree to a relicense, assuming they made their pull request while the project was showing that it was licensed under GPL v3 (although looking back at the commit history, there's only a few people, it seems to really be mostly @gabipurcaru authoring this rather great project). Personally, I hope the project stays as a GPLv3-licensed project for the reasons I've somewhat explained above and more I won't bore people with ;) And, also because that was actually how I found this in the first place, I was just googling for GPL-licensed file uploaders since at least in my experience GPL projects tend to be of higher quality than most other licenses, for various social and practical reasons.

P.S. I was reminded to check on how things are going with this project because I was playing around a bit more with how I have it set up on the company I work for's website today. It has really helped a lot with getting large files from clients, and worked where many other plugins and such have utterly failed. Many thanks!

frodeborli commented 8 years ago

Short version: what has already been made GPL will stay GPL, since you can't "take back" what you've given to others.

You CAN however relicense anything you have written to any license you want. As the author, you are not limited in your rights by GPL - unless others have contributed work and made their contribution GPL. In that case you must remove their contribution, or ask them to recontribute under the new license.

boynet commented 8 years ago

@gabipurcaru any news about it? this is right now the best available tool to s3 upload out there, here is small compression:

aws-sdk-js - minified js of only s3 sdk is 210kb fineuploader - minified js 193kb EvaporateJS - small and compact but not supporting AWS4 signature 12kb mule-uploader - gpl license so cant use without open source my app 24kb minified

like I don't care paying for license but right now to use it I must open source(or at least make it public to any demander) my whole application

gabipurcaru commented 8 years ago

@boynet, as I read more about this, I'm getting more and more confused. What I want to do is release the code under MIT or a very permissive license (basically I care more about helping others than the philosophies behind OSS licenses), but it's not clear to me how to go about doing that. When I started the project I wasn't aware of the differences between licenses and apparently this is biting us back :(

boynet commented 8 years ago

@gabipurcaru based on this http://stackoverflow.com/questions/1409666/switching-licence-from-gpl-to-bsd-in-later-time ( i am not lawyer so I hope its ok) I think we have 2 options:

  1. ask all contributions if they mind us changing the license
  2. take your last commit before anyone else contribute and start a new project with new license that based only on your code, and start adding all the new features without looking at other code so we make sure that all code is our

what everyone think about it?

Lewiscowles1986 commented 8 years ago

All I can think is, look at what I've gone and started now lol

:+1: for doing whatever you like

jeskew commented 8 years ago

Doctrine (a big and popular PHP project) successfully switched from LGPL to MIT and wrote a blog post about their experience doing so. One of the Doctrine maintainers even wrote a license switching tool that automates the process of emailing contributors and getting their consent, but that might be overkill on a project with just 9 total contributors, most of whom have made a single commit.

davelassanske commented 8 years ago

I'd think messaging 9 people would be a pretty simple solution. I've contributed and I consent to the switch. Look, only 8 more to go!

gabipurcaru commented 8 years ago

Okay, let's do this. I've created #62 for this, please reply there if you are a contributor.

gabipurcaru commented 8 years ago

Done! The library is now MIT. Good luck :)