6 ms·
How can a project with 260 contributors and no CLA change their license? Wouldn’t they have to get approval from all of those contributors or remove all that co
by yeldarb 3y ago
How can a project with 260 contributors and no CLA change their license? Wouldn’t they have to get approval from all of those contributors or remove all that code?
- joshka 3y agoDespite the claims of other replies that this is fine, I actually wonder if it is. Let's examine the MIT license and the effect on the software before and after: > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, Ok, so if I grabbed anything before the license change I can do whatever I like with it. > including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, So, the relicense is allowed, but... > subject to the following conditions: > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. So the new software even when AGPL-licensed is still MIT licensed right? It just has another license that also applies. So I think realistically, from a legal perspective I could still do whatever I want with it. "to deal in the Software without restriction" AGPL applies a set of restrictions that apply to the dealings that you have with the software. These restrictions hence do not apply to any parts of the software that are still MIT licensed. To make this effective, the AGPL-licensed software would specifically have to call out the pieces that are not the MIT licensed software and are only AGPL-licensed. That seems like a lot of effort and would be difficult to maintain. To demonstrate the absurdity, let's take a stupid hypothetical change - add an extra set of parentheses to a variable assignment. `i = 42;` becomes `i = (42);`. What is the license that applies to that line? - It's a substantial copy of the the software, that has been sublicensed. I'd say it's still MIT licensed (but IANAL). My personal perspective on this is to avoid the GPL in any form in software __that I write__ (though I'm happy to consume it) and stick with MIT/Apache when possible. I'm still trying to understand if this perspective has merit, but it works for me for now.
- joshka 3y agoTo the downvoters, which part of this analysis do you disagree with and why?
- buro9 3y agoApply it only to be contributions?
- graemep 3y agoThe MIT license allows re-licensing, so not in this case. This is the whole point of permissive licenses - the restrictions on what you do with it are minimal. It is common for permissively licensed software to be redistributed under proprietary licenses too.
- BSDobelix 3y ago>The MIT license allows re-licensing, so not in this case. That's absolutely NOT true, you can "sub-license" it, but not re-license. If a contributor wrote a file you cannot change the license from the file: https://opensource.org/license/mit/ https://opensource.org/license/mit/ >>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. >>including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software
- dwheeler 3y agoYou can't relicense the original material, true. But you can create a new version with changes and a different license. The new license only applies to the new changes, but if users use the software as a whole, users must comply with the new license (as well as the MIT license, which continues to apply to the unchanged parts). As an oversimplification, if you combine 2 components with 2 different licenses into 1 work, the recipients have to comply with both licenses. MIT has few requirements and I believe the AGPL includes all of them. So while technically the MIT license still applies to the old code that did not change, from the point of view of a recipient of the combination, the results looks like a relicense.
- BSDobelix 3y agoExactly! Very well explained. But: >MIT license still applies to the old code that did not change, from the point of view of a recipient of the combination, the results looks like a relicense. That's again not true, you cannot delete the MIT license from that file, it's not important if you changed it, the original license is still there plus your license that don't contradicts the MIT license like "our license allows to delete all prior licenses" yes your added code is exclusively under your license but the whole file is MIT+ that was partially confirmed with the BSD and AT&T lawsuit (when AT&T took BSD code deleted the license and lost because AT&T "stole" more code as Berkley hmmm f're'e-licensed ;)
- fsckboy 3y agoI don't know for this project specifically, but previous contributions to this project perhaps have turned "author rights" over to the project, then the project relicensing is within their rights. Projects often do this because these license issues have come up before. You can do this when you publish software under the GPL, and then the FSF will take care of enforcing the license for you. It's a popular thing to do because if you don't, you'd have to get your own lawyer, etc. the parallel comment about MIT licenses allowing relicensing is also valid, just rounding out the explanations.
- jra_samba 3y agoThe FSF doesn't even enforce the license for its own projects, let alone any random GPL project. Please don't give people false ideas.
- ranger_danger 3y agosource?
- fsckboy 3y agoI'm talking about what is published on the GNU and FSF sites. Whether they still actively do it is an interesting question and I welcome your feedback, but I'm not spreading false ideas, and my comment is "education" about various aspects of licensing.
- tsimionescu 3y agoWhat you're talking about is called a CLA, a contributor licensing agreement, and is precisely what the project is boasting they are not doing. This prevents the company from ever changing the license from AGPL to something else from now on, since they wouldn't own enough of the copyright.
- cxr 3y agoNot quite. The previous commenter was referring to how the FSF handles contributions—copyright assignment—not a CLA. Your conventional CLA doesn't transfer copyright ownership to the upstream project. It just permits them to do a lot more with the contributor's work (including e.g. arbitrarily relicensing) than other recipients/participants get to do, without actually making the original author give up ownership.
- pxc 3y agoMIT license is permissive; that's the whole point of it. You can use MIT-licensed code to create AGPLv3-licensed derivative works same as how you can use MIT code in proprietary software.
- phoe-krk 3y agoIt's simple. Let's say that for some software version 21.37.1 is MIT, but version 21.37.2 is AGPL (which is permitted, as other comments already explained). You can use any data from 21.37.1 under the MIT license, by definition. You can also use data from 21.37.2 that were not changed since 21.37.1 under their original MIT license (they are the same file, so the original license carries over!). However, all data that was changed in 21.37.2+ is now AGPL. Using code that contains any of these changes (including version 21.37.2 as a whole) requires you to relicense your code under AGPL.