Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What a sensationalist title. They dropped GPL, leaving MIT. This is a big win. MIT is significantly more free than GPL (it does not mandate that you make things derived from it free, but the license itself does provide more liberties than GPL).

They require CLA, so that they can put the code under MIT. It's legal silliness, but how is it at all bad?



> They require CLA, so that they can put the code under MIT. It's legal silliness, but how is it at all bad?

Why would a CLA help with that? Since all existing code is already licensed under MIT, and for future code they can just refuse to merge anything not under MIT. The only use a CLA has is if anyone thought the MIT restrictions were too harsh, but I cannot see when that would be the case. You can do almost anything with MIT licensed code.


it's because contributor work is under it's own copyright, per individual. This is a huge legal (bureaucratic) issue and thus the CLA is meant to normalize all contributions to fall under the MIT.

also I know this is getting into inflammable territory but the GPL (v3 especially) is a very big turn off to adoption for a lot of for-profit companies due to worries that if they use the GPL code, their product and all derivative works are "tainted" (need to provide 'free' source access)

Thus I can see the removal of GPL as being a clarifying factor, as lots of companies dual license GPL and a proprietary license, which may lead to misunderstanding in this case.


I have no problem at all with the dropping of GPL. Dropping GPL may stop any worries that jQuery at some point in the future will drop MIT in favor of GPL (though they still could do that since MIT is GPL compatible).

The license itself is what normalizes the copyrights, so a CLA is just additional bureaucracy. The contributors to jQuery have already all agreed to contribute their code under MIT, so why would they need to do it again?


The CLA formalizes that you intended to contribute the work and that any other people with an interest in it (your employer for example) is okay with it. Here's a worst-case scenario:

Imagine that some employee of a company writes some nifty code and submits a pull request to jQuery. We land that code and six months later the company finds out. They're shocked, shocked that the employee wrote that code on company time and just gave it to us, especially because it was based on one of their super-secret header files and patented algorithms. They insist that we remove it immediately and remove that version from all CDNs. So we do. And everyone using that code has a broken site.

Now of course, that could still happen with a CLA in place, but only if the contributor lies or there is a misunderstanding between employer and employee. We're not seeking ironclad protection here, only reasonable due diligence.


How is it a big win? Dropping GPL is basically the same situation but slightly simpler.

Also requiring the CLA to put the code under MIT makes zero sense to me. They could use the CLA to do a lawsuit, but why would they ever bother suing over MIT-licensed code?


You are thinking of a copyright assignment requirement, such as the FSF uses. With assignment, you are turning the copyright over to the assignee. In effect, it is no longer your work. The FSF's agreement includes a provision that they will give you a license to use the work in any way if you ask.

JQuery is adding a copyright license requirement, not a copyright assignment requirement. You do not transfer your copyright to them. All you do is give them a license.

The FSF needs an assignment because, as you implied, they foresee the need to sue to enforce the GPL. By owning the entire copyright, they avoid some troublesome issues of standing to sue.

The JQuery people, as you note, are unlikely to ever need to sue to enforce the MIT license. Hence, they do not need to require copyright assignment.

The JQuery contributor license does a few things useful to the JQuery project. Others have mentioned some of them already, so I'll just add one that I don't think anyone else has mentioned: It specifies that JQuery gets an irrevocable license to use the code. There's a popular belief that once someone releases something under an open source license, they cannot revoke that license. As far as I can tell, there is little or no legal support for that belief.


There are important projects, like OpenSSH, that are based on the idea that a company having taken its once-open offering back to a proprietary product can't then stop people from taking the last open-source version of the product and forking it from there.


As with nearly everything in the legal world, the devil is in the details.

Suppose I release something under an open source license. You grab a copy and start using it in accord with that license. You are copying it, making derivative works, and distributing copies of the original and/or your derivative works.

Alice gets one of those copies from you. Alice wants to distribute copies and derivative works, so she also needs a license. Who can give her a license?

She got the software from you, so maybe you can give her a license. With some licenses, you can. The MIT license, for example, specifically says you can sublicense. Unfortunately, some popular free/open licenses do not allow sublicensing. If the software is under one of those, Alice will have to get her license from me.

So suppose that after you received your license, I announced that I am no longer giving out any new licenses. If Alice gets her copy from you after that, we are in interesting territory. You've got a license, so I think you are probably safe to continue distributing the software, although again, the devil will be in the details. Let's make it simple and assume the license said it was irrevocable so we don't have to worry about your license.

Since Alice did not get a copy until after I had announced I would no longer grant licenses, my position when I sue Alice for copyright infringement will be that my putting the software up under an open source license was an offer to form a licensing contract with anyone who obtained the software, where acceptance of the offer and contract formation occurs when someone obtains the software. Offers usually can be withdrawn before acceptance, and that's what I did.

Maybe the license agreement you have with me can help Alice. If the license said that you could distribute the software and the recipients received a license from me, then you might be able to sue me claiming that by not giving Alice a license I am in breach of the contract between you and me. That will be an interesting case.

If you do win, that's not the end of the interesting and fun arguments. The court will have to fashion a remedy for you. Will they order me to give Alice a license? Or will they limit you to collecting damages? If the former, do I just have to license it to people who like Alice get it from people who got licenses from me before I stopped giving new licenses, or do I have to license it to people who get it from Alice later? If the court goes for damages, it will be fun to try to figure out the monetary damages of me not licensing your recipients to modify and redistribute the code.

Unfortunately, not many free/open licenses actually state they are irrevocable. The Apache 2 license does. It also says that you can sublicense. This seems pretty safe. People who receive the software before a revocation attempt are covered by the irrevocability, and people afterward can be covered by a sublicense from someone in the first group.

GPLv3 also says that it is irrevocable. However, it quite adamantly insists that you cannot sublicense it. It instead explicitly says that when you copy a GPLv3 program the recipient automatically receives a license from the original licensors. This is not as good as Apache. It's basically the situation I describe in the Alice hypothetical.

The MIT license says you can sublicense, but does not say it is irrevocable. Also not as good as Apache. If my software is MIT license, I might be able to revoke the license I gave you, but Alice might be safe as she got her license as a sublicense from you. (Whether or not a court might find an implicit irrevocability clause in a license is yet another interesting issue that will come up should someone try to revoke one of these licenses).

Sadly, many licenses mention neither irrevocability nor sublicensing. GPLv2 goes even farther into risky territory, not saying it is irrevocable and explicitly disallowing sublicensing.


about CLA: please see my reply to jeltz


> What a sensationalist title. They dropped GPL, leaving MIT. This is a big win. MIT is significantly more free than GPL

Define your terms. "significantly more free" is a nonsense statement. At least the FSF has a strong definition of "free". I haven't seen anything nearly as compelling from any other Free software communities.

Given that jQuery was distributed under a dual MIT/GPL license this has basically no effect on anything anyway.


> At least the FSF has a strong definition of "free".

The FSF's own Free Software Definition includes the MIT license. The MIT license also provides additional freedoms not required by the FSD.


That doesn't make it "significantly more Free" just equal. MIT is not copyleft. I think arguing about quantities of freedom is fairly meaningless. Especially in this case where this is no effective difference in the rights of developers or end users.


Must != Free.

With GPL, you must share derived source.

With MIT, you can share derived source.

Therefore, MIT is more free than GPL.


The GPL "free" refers to the freedom of end users, not developers.


And why would developers sacrifice their own freedom just because of freedom of end users?

Also, the fact the FSF has its own definition of words "free" and "freedom" doesn't make that others are not free to use the more common meaning of the word. Free != "free"


Why does there need to be a difference? Aren't they often one and the same?


The specific freedoms that I'm referring to are that derivative works need not also be licensed the same way. With the MIT license, I can make derivative software and can distribute it in binary form, without providing the source code. Additionally, I can release my derivative work under a non-GPL (or non-MIT) license.


My definition of "more free" for a license: license X is more free than license Y if the things allowed under X are a strict superset of those allowed under Y.


Sorry, meant to upvote you and hit the wrong one. There's no undo button.


"This is a big win."

Really? Really? You think that's okay to post on this forum? You are seriously that one-sided that you can't even be happy with dual licensing?

This is why we can't have nice things.

edit:

WTF? Do you people even know what dual licensing means? It means it's a choice! Choose MIT! Choose GPL! You choose the end license when you use it as a library.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: