Hacker News new | ask | show | jobs
by liljimmytables 4901 days ago
> LibreCAD is GPLv2 licensed since it came out of code from the QCad Community Edition product from Ribbonsoft. It's bound to GPLv2.

The GPL has an upgrade clause.

> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Why doesn't this apply?

4 comments

The line you quoted doesn't appear in the terms of the license; projects can use that language to apply GPLv2 or any later version, but they don't have to do so. Many projects explicitly use version 2 only, most famously the Linux kernel.
So it is effectively their fault for preventing the licence of their project from _ever_ being updated, even in the case where some future legal loophole makes exploiting GPLv2 code possible.

It is short sighted essentially freezing the legal status of a project forever, and it is even more idiotic to blame the FSF for being incompatible with projects that voluntarily cut off forward-compatibility by removing the "or any later" clause.

It's a trade off you make when you first choose the license: Either you leave the upgrade clause in, as recommended by the FSF. Then anyone can easily upgrade the license of the project to a new version of the GPL (or just use it as if it were licensed under the new version). The drawback is of course that you trust the FSF that new versions of the license match the spirit of the old ones, or that you find them at least agreeable.

Or you remove the upgrade clause. In that case you can be absolutely sure that nobody can sneak in new terms that you don't agree with. On the other hand, if you do actually want to change the license (e.g., upgrade to a new version of the GPL), you'll have to ask all the contributors to agree to the license change explicitly.

I suppose, if you want to blame them for making use of on open-source code released by a third-party software vendor that was happy enough to release it under the GPLv2, but not happy to allow arbitrary changes to the license terms controlled by the whims of the FSF in rewriting licenses in the future, and who has no interest in relicensing now under the GPLv3, with or without an "or any later" clause.
If they had left in the 'or later' clause they could still use it under GPLv2, just not _limit_ it to GPLv2, which is what the 'third-party software vendor' decided to do.
If they had left in the 'or later' clause, they couldn't use software from the third-party supplier, who only licensed under GPLv2 without the 'or later' clause.

If you are distributing someone else's software (even as part of your own work), you are restricted by the terms of the license they've given you. If that's GPLv2-only, you can't distribute a work incorporating their work as GPLv2-or-later.

With 'they' I was referring to the 'third-party' who were the ones which licenced without the 'or later' to begin with.
If freezing legal status of a project forever is short-sighted, the ability to opt-out of upward compatibility in GPLv2 is a tragedy, as is the same in GPLv3. If there ever is a GPLv4, hopefully it will be purely GPLv4+ with no option for GPLv4-only.
You're assuming that you're going to agree with the terms of GPL5. That's certainly not a good assumption(See Torvalds, Linus).
Because that's not what's used. GPLv2 has an _optional_ update clause that Ribbonsoft/QCad did not elect to use.

This file may be distributed and/or modified under the terms of the GNU General Public License version 2 as published by the Free Software Foundation and appearing in the file gpl-2.0.txt included in the packaging of this file.

> GPLv2 has an _optional_ update clause that Ribbonsoft/QCad did not elect to use.

Actually, the clause is recommended by the FSF. Projects that remove the clause do that fully intentionally.

Considering how long copyright lasts (70 after the death of the author), it is IMHO pretty short sighted to make the licence of a project stuck in time and unable to react to any future legal challenges.

Omitting the "or later" option does NOT make the license of the project stuck in time and unable to react to future legal challenges.

It just means that the owners of the project copyright are the ones who decide how the licensing of the project will change over time. This is not short sighted. It is the best way to ensure that they can keep their code free. If you adopt the "or later" option, you are letting your code be forked under the terms of whatever license the FSF decides to attach the name "GPL" to. The FSF has already shown that they are willing to back away from free software by adopting the non-free AGPL (it does not satisfy freedom 0). Why believe that they won't compromise future versions of regular GPL, too?

By omitting the "or later" option, the project owners can take a look at each future version of GPL, and decide if it is still free and meeting their concerns and requirements, and then update their license if appropriate.

Not so sure. Given the FSF's patent activism, I would not release software with an upgrade cause in the license, because I don't trust the FSF to not really mug things up with GPLv4, in ways that expose me to liability.
Omitting the "or any later" clause doesn't freeze the project license for ever, it just prevents the terms on which the software is used from being changed out from under copyright owners (including the project owners) arbitrarily at the whim of whoever is currently in charge of the FSF.

The project still has control of the license it offers the project under; of course, if it depends on software from anyone else that is on limited-to-GPLv2 terms (which lots of projects are), it can't change to any other license (whether GPLv3 or non-GPL) without either replacing the outside software or getting the copyright owner to agree to different licensing terms.

The project at issue here appears to use GPLv2-only because they are dependent on other software that is GPLv2-only.

Thanks, I wasn't aware it was an option. My experience is solely from staring at it in sundry repositories.
It's not necessary to include that clause. Many software packages don't.

When they talk about making a package GPLv2+, instead of GPLv2, I believe that's the distinction they're talking about.

No, if the clause isn't in there then it doesn't apply. You can talk about anything you want.
sigzero - We don't disagree ;)

I was referring to what the article was "talking about", with /their/ GPLv2+ terminology.

If you license it as GPLv2, it's GPLv2 only.

There are projects with or without the upgrade clause, the former is sometimes referred to as GPLv2+. Linux, for example, lacks that clause.