A project that's copyleft and accepts contributions under copyleft without a CLI means that nobody has the power to unilaterally bypass the copyleft term for the whole project.
The thing is, contributors hold an implicit copyright to any work they produce. So, it's not possible to change the license without either extracting code contributions or gaining approval from all contributors. That's why many GPL/LGPL projects couldn't change licenses, even if they wanted to.
Sufficiently unrestrictive licenses (ex MIT) allow anybody to use the code for whatever their purpose, commercial or otherwise. Even then, prior art limits others from seizing ownership and limiting access to the original creators/contributors.
Disclaimer: IANAL but this is only my understanding from working in OSS.
No, you can't relicense someone else's MIT or BSD code, only code you've written. Only a copyright holder can license his/her code, or someone to whom the copyright holder has given explicit permission to do so.
Technically true, you can only offer a license on code you've written. But effectively you can still take a MIT/BSD project, and fork it and release as another license, legally.
The original code will still be under the permissive license. But you can take it, and fork it, and continue to develop the fork, and all your new additions can be licensed under the more restrictive one (including GPL).
To be clear about what's going on, you could put a notice saying that anything taken from Source Project X was MIT, all further changes were (GPL). Perfectly legal. But really, how would people know which parts are which except diff'ing it, they might as well just go back to the original -- or they can always diff if if they want regardless of license of course. MIT/BSD don't require attribution or anything, they just say do whatever you want with the code.
So forking and just saying "the license is [eg] GPL" is pretty much the same thing. It's legal. You can't stop people from continuing to use the original code without complying with the GPL, but your fork is GPL.
IANAL. Maybe if it ever got litigated it'd end up different. It might not get litigated, for a while.
Yes you can. The MIT and BSD licenses explicitly allow sublicensing. That's part of their whole schtick and why free software people don't particularly like them (you can sublicense them to be proprietary).
The MIT license explicitly (um, er, literally, explicitly) allows sub-licensing by mentioning it. The BSD does not mention sub-licensing, so I wouldn't say it explicitly allows it. But yeah, it effectively allows it, of a fork anyway.
In theory yes, in practice you couldn't even hope to get all of the copyright holders' permission. You'd have to surgically remove the code of everyone who didn't consent to the relicensing (good luck) and everybody would hate you for it.
Well, then you have code written for a company on company and code written under a contributor agreement.
A lot of code that ended up under free licenses has been proprietary first and while they cannot revoke the free licenses from already released code they can make their next release non-free as long as they haven't accepted outside contributions without a suitable contributor agreement.
> Well, then you have code written for a company on company and code written under a contributor agreement.
Not all contributor agreements are equal, and I would recommend choosing which projects you will not contribute to based on their CLAs. If they ask you to give them copyright without good reason, they are preparing to fuck you over. Ironically, this is why I will not contribute to GNU because they require copyright assignment so they have a higher chance of winning conservancy cases (IANAL, but I have one in my family and this is bullshit in my country but may be true in the US, so I feel conflicted about it).
> A lot of code that ended up under free licenses has been proprietary first and while they cannot revoke the free licenses from already released code they can make their next release non-free as long as they haven't accepted outside contributions without a suitable contributor agreement.
The only example I can think of is OpenSolaris (which required contributors to sign a CLA that assigned copyright to Sun/Oracle). Most modern projects don't work like that, and if you have a copyleft license, a company could not legally create a proprietary fork and distribute it.
Besides, if that happens you end up with free software forks (illumos in the OpenSolaris case) and everyone moves to using that.
The joke is that permissive licenses allow you to make less permissive forks, whether that's proprietary or copyleft or anything else. So it's hard to see what the problem is. Anytime someone complains about the license for this or that project being too permissive, it's ironic because:
(a) it's someone trying to force their values on someone else in the name of "freedom" (in scare quotes because it's a very specific definition of the term that requires political buy-in to even see it as a form of freedom)
and
(b) as stated, the people complaining are free (no scare quotes) to take the permissively licensed code and incorporate it into their "free" code to their heart's content. The ability to do this is one of the reasons people choose permissive licenses in the first place.
I don't care if people choose freedom or "freedom" or anything in between- that's their right as authors, and no one license is appropriate for all communities or goals or projects. I only object to anyone who claims that there is a One True Path that everyone should follow and that anyone who doesn't follow that path is somehow morally inferior, which is usually the template that these discussions follow.
The problem is that allowing proprietary forks is shooting yourself in the foot if you believe in free software being a net benefit to society. Allowing proprietary forks of your software to exist means that you are fighting against yourself to produce free software. Not to mention that it means that users of your software might not have the freedom you intended them to have if someone else packaged your software.
> "freedom" (in scare quotes because it's a very specific definition of the term that requires political buy-in to even see it as a form of freedom)
Which of the four freedoms do you think are restricting users? If you're referring to copyleft (this is not the same thing as freedom), then please understand that copyleft software ensures that all users that receive the software will have the benefits of free software. That's the whole point.
> ... The ability to do this is one of the reasons people choose permissive licenses in the first place.
It also allows for proprietary forks, which is why some people have a problem with it.
> I don't care if people choose freedom or "freedom" or anything in between-
Seems like you do. I don't get why you quote the word "freedom" when referring to copyleft but don't quote it when referring to the "freedom" to make proprietary forks of free software. It should be the other way around IMO.
I use the term freedom as established by all major philosophers in the last 300 years or so. No one really believes that the true definition of freedom is the law of the jungle where anyone is "free" (scare quotes indeed) to do what they want with no restrictions.
John Locke describe freedom as a synonym to agency, where none is under any restrictions except the standing rules to live by that are common to everyone in the society. Share and share alike a perfectly fine example of a rule that is common to everyone where no individual are be subjected to the inconstant, uncertain, unknown, and arbitrary wills of others.