software licensing long post
Something which I haven't heard about, but which I think is a good idea, is to license free software projects under a strong copyleft license, but add a clause so that it becomes public domain after X years (my preference is 10).
This would have a few advantages. One advantage is that it would be more consistent with my desire to reduce copyright term lengths.
Another advantage is that it would make re-licensing easier, while still being difficult enough that it couldn't be done on a whim. In the worst case everyone could dual-license every new contribution under both the old and new licenses for 10 years, and then 10 years later it would be under the new license. This is just the worst case, though. If you got every contributor for the past Y years to agree to re-license, then you'd only need to wait for 10 minus Y years.
A broad consensus would still be required to re-license the project, so it would still generally be safe from malicious re-licensing, but it would also be easier to fix licensing mistakes (for example, if the project was GPLv2 but the community wanted to switch to GPLv2+). It would also become less risky to experiment with different licenses, because it would be easier to correct the mistake if it became clear it *was* a mistake in the future.
This greater allowance for experimentation would also be useful, I think, because there exist interesting new copyleft licenses which might be a good idea or which might not, like the Parity license.
Technically I've already applied this idea today in some small things I uploaded to github, but they're not projects used by anyone else, so I'm not sure they really count.
Anyway, if anyone is curious, here's a link to the contents of a "LICENSE.txt" file applying this idea, for a project whose last contribution date was in 2019. The idea is that you'd bump up the year in this file each year, so older versions would gradually enter the public domain 10 years after their release. Note that I'm not a lawyer, so I can't actually vouch for this being legally valid.
https://raw.githubusercontent.com/ml-2/sslib/master/LICENSE.txt
software licensing long post
software licensing long post
@fikran I like copyleft, I think it has its place in keeping software free. But copyleft is kind of a legal hack, and you get competing incompatible versions of it (like GPLv2 vs GPLv3), so it's better if it's not quasi-permanent like it is today.
re: software licensing long post
re: software licensing long post
@ml GPL/copyleft is not just avoiding corporate takeover, it is striving towards free software takeover. If you want to weaken copyright, weaken all copyright, not just what applies to free software, giving advantage to proprietary software. If after 10 years the project is irrelevant, then making it public domain is also irrelevant. If it is still relevant, then your extra clause at that point gives advantage to proprietary software just like any other permissive license.
Regarding toolchains, GPL already poses certain restriction, that they must be made available. If they happen to be proprietary, well then that is another battle in another market, and just requiring it to be free software does nothing other than disadvantage the the project in the specific market they are competing in.
Imagine there is a reasonably popular proprietary software platform, that is restricts its users to its toolchain. Under parity license would that mean that I will not be able to contribute configuration for that toolchain to the project? Now imagine somehow (cough LLVM) most major platforms become like this. Under parity license free software halts then?
It's all about making free software as competitive as possible in all relevant markets.
re: software licensing long post
Even if your projects has 1000s of contributors if a decade is enough to re-license. People often say that it is impossible to upgrade from GPL2 to 3 (or anything else), but it is possible. Difficult but possible. Most notable projects that are mentioned in this context didn't even attempt to re-license. Many GNU project had no problems re-licensing cause of their contribution policies. When the leadership of the project admits that they did not understand the original license used and its purpose, that is not a problem with the license, it is a problem with the project. GPL is not meant to trap ignorant contributors, it is meant to attract people who actually want to joint the fight.
Regarding hobbyists or archivists, I don't understand what possible problems they might have with something like GPL. It might not be state of the art at that point, but it still respects all your freedoms by itself. You speak about "loosing restrictions", but there are no restrictions in GPL other than the restriction to not abuse other people. Your argument is not at the strongest with parity license, it only barely makes sense with the parity license, implying that the license is overextending, which I agree with from the brief description of it.
FSF does recommend different licenses in order to increase the competitiveness of the project, while still remaining free in ways that are most relevant. It's, again, not about tricking people and then going "aha! gotcha! now your stuff is ours!", it's about being as useful as possible without being essentially absorbed by proprietary software. People shouldn't (and wouldn't) choose free software because they have no other choice, they should choose it because it is objectively superior. My argument is that the parity license does not make the project that it is applied to more competitive, compared to GPL.
It is bizarre to me that GPL somehow acquired a reputation of being a overreaching license, and that it seems natural to make it even more overreaching or criticize it for being too restrictive. GPL creates a level playing field, so that free software has a good chance to compete and take over markets. The actual competition is not in the licensing terms, in is in the respective markets.
re: software licensing long post
I don't think the GPL is overreaching, and I don't think it's meant to trap ignorant contributors. But it's an unavoidable side-effect of the way copyleft is implemented that the restrictions are stronger than "just don't abuse people": incompatibilities between different copyleft licenses are a prime example of that. Even though both are free software licenses, you can't link EPL and GPL code together.
The GPL is not compatible with Parity. If it turned out that Parity was more effective than the GPL at ensuring software freedom, and a large body of software was created under the Parity license, archivists and hobbyists could not use that software to "develop, operate, or analyze" old GPL'd software. Not out of any malicious intent from either the Parity or GPL users, but because of the way the copyright works. This is why I think the semi-permanent nature of the copyright can be a problem even in copyleft: it makes it harder to move forward to potentially better licenses.
Parity is not about tricking people either. Like the GPL, it's largely about not being absorbed by proprietary software. But I do object to your statement that "People shouldn't (and wouldn't) choose free software because they have no other choice, they should choose it because it is objectively superior." The FSF has used this tactic before, see CLISP:
https://en.wikipedia.org/wiki/CLISP#History
I agree that we shouldn't trick people, but I don't think it's wrong to require people who use your code to also make their code free.
The point of the GPL is "you modify our software, you have to contribute it back". The AGPL goes farther and says "you use our software as a web service, you have to contribute it back". Parity goes even farther and says "you use our software to develop, operate, or analyze software, you have to contribute it back". These kinds of stronger clauses were not as necessary in the past, but with the advent of web services, they became more necessary: the GPL does nothing to protect your code from being absorbed into proprietary web apps, and even the AGPL has weaknesses in that regard.
For the record, I often use free software even when its functionality is worse than proprietary alternatives.
Regarding competitiveness, I think a difference in our philosophy is that I see free software licenses as being about freedom first, competitiveness second. We can consider a project in two fictional scenarios. In one scenario, the project is released under the GPL and is frequently used in proprietary web apps. In the other, the project is released under the AGPL and is not used as much over all, but is used in more free software web apps. In the former scenario, the software might be more "competitive" since it was used more, but the latter one is the one with more software freedom. So I think even if the Parity license is not more competitive than the GPL when we include proprietary software, it might still lead to more software freedom overall, and so be a good thing.