103 comments

[ 4.2 ms ] story [ 232 ms ] thread
This surprises anyone? As far as the FSF (or at least Stallman, which for all practical purposes is the same thing) is concerned, LibreCAD and FreeCAD are in the wrong here — for using one of the FSF's own licenses.

Stallman is a zealot, and this is what zealots do.

Well the FSF purports to be an organization that advances the cause of free software, so it's worth calling them on their bullshit. Not everyone thinks of them as a zealot organization even though it's headed by a zealot. Perhaps they should.

Also I think this issue might be fixable if there's enough outcry about it. And they really are in a tough situation because of this.

It's been well known for a long time that the FSF is only interested in advancing their own idea of "free software." At this time it's the GPLv3 flavor of free software.

For people who don't agree with the FSF's idea of "free software" or don't want the politics that goes along with the GPL and FSF, there's always the BSD license. Though it really wouldn't help in this case, since the library in question belongs to the FSF.

The need for open source tools that interact with dwg resonates strongly with me. I hope they can rewrite it, and I hope they choose BSD (or MIT) rather than GPLv2.
Exactly: The solution seems to be (unfortunately) to let LibreDWG languish, and write a new library which is GPL2, or some other license. Sounds painful, since the people who want to use it are those who until now have not been (I assume) the ones writing the library.
To be fair, it looks like the FSF is letting LibreDWG languish anyway. There hasn't been a master commit in 2 years, and the last activity in the repository was in February 2012.

I'd assume that a "high priority" project would have a lot more activity than that, especially because there hasn't been a binary release yet( http://www.gnu.org/software/libredwg/ ).

The FSF hasn't had developers for GNU projects on staff in decades, if I remember correctly. They aren't letting it languish, they're actively trying to give it exposure and find new hackers for it -- that's the point of it being a high priority project as far as I can tell.
What bullshit? This is about a company (Ribbonsoft) which released their code under a modified GPLv2 licence which removed the 'or later clause', thus making it a 'new' licence which is incompatible with any other GPL licences except GPLv2.

FSF has since created GPLv3, under which all their code is now released, for all GPLv2 licenced code out there which is using the FSF's original GPLv2 licence there is no problem since it has the 'or later' clause. The problem here is that Ribbonsoft removed the (or later) clause and thus making it incompatible with future GPL versions.

And what is this 'tough situation' they are in?

> [T]his is what zealots do.

This, and rebelling against the Roman occupation of the Holy Land.

Or giving their life for Aiur.
You win at HackerNews.
I'm not so sure FSF is trying to say they're in the wrong for using GPLv2. In my mind, it's similar to Apple or Microsoft not releasing a new version of iTunes or Office for one of their old operating systems. They're not saying anybody is "in the wrong," but it's the old version and people should upgrade.

I have a hard time blaming FSF for wanting other projects to upgrade to GPLv3 instead of downgrading their own project to GPLv2. It could almost be said that it's the whole point of the GPL.

And, like you said, this should be a surprise to absolutely nobody.

I completely disagree. The FSF has every right to not re-license the software.
I don't think anyone is arguing that they don't have the right. I think people are arguing that it is a douche move on their part.
To me, the douche move is whining about it when they decided against allowing it.
Why is it a 'douche move'? If the original licencors Ribbonsoft had not released the code under a modified GPLv2 licence where they explicitly removed the 'or later' clause then there would have been no problem.
It's not one of 'FSF's own licences', it's a modified GPLv2 licence where the 'or later' clause has been removed so that it is GPLv2 ONLY, thus making it a NEW licence.

No GPL licences crafted by FSF has this limitation.

> but the FSF/Richard Stallman doesn't the DWG library on the earlier version of their own open-source license.

I think they an important word.

Why are they bound to GPLv2? It was my understanding that original authors had the ability to relicense as GPLv3.
Not if other dependencies are GPLv2 only, which is what TFA suggests.
> 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?

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.

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).
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.
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.

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 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.

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.
When did the FSF change it from GPLv2 to GPLv3? It should be possible to go back to that version and fork it. Or is it applied retroactively?
I believe license changes can be applied retroactively to all versions with the permission of all the copyright holders; I would assume this is what was done.
Only if you still get it directly from the copyright holder.

If you get it from someone else, and that someone got their copy under the terms of GPLv2, they still can distribute it under v2.

That is an unsettled question. According to the license itself, you cannot sublicense GPLv2 code. When you distribute a copy of third party GPLv2 code to someone, their license is coming from the copyright owner directly, not via sublicensing through you.

If the copyright holder is no longer issuing licenses, it is not at all clear what would happen. The analysis gets complicated and speculative at this point. There are quite a few plausible theories, but it is going to take a few actual cases followed by appeals for any clarity to start developing in this area.

The initial checkin to git on savannah is 2009, with a GPL v3 licence.

But if you go to the original sourceforge svn repo, it started out GPL v2. I think you could fork a version from prior to revision 21 from sourceforge and it would be GPLv2+.

(comment deleted)
Could someone tell me, is the FSF actually relevant anymore? If so, how?
There is always the need for somebody to stand up as the opposing side to those who seek to build their business on abusive practices such as vendor lock-in or DRM. The FSF is that voice, and it's a more important role than ever.

For example, the FSF has long warned of the dangers of DRM, and in recent years these warnings have proved themselves prescient now that we have things like Amazon remotely wiping Kindles on a whim and deleting objectionable books. More recently, the FSF has begun making a lot of noise about the dangers of SecureBoot. Will the wider developer community disregard these warnings as the ravings of irrelevant zealots? Based on past observations, I certainly hope not.

Cannot imagine the world without FSF. Thank god for FSF and RMS.
Kids today have no idea what the web and Internet were like in the 90s. The GPL is vital to our freedoms.
Beyond having an uncannily correct track record, the FSF also does not move its goalposts, thusly denying the possibility of corporate interests gaslighting libre software.
Why the fuck would a library not use the LibraryGPL? It's the same stupidity as readline.
The irony here is really hard to miss: "By releasing libraries that are limited to free software only, we can help each other's free software packages outdo the proprietary alternatives."
You have to get into the GNU mindset here:

If you consider non-free software immoral and your ultimate goal is to outlaw it, providing libraries which can be used by proprietary software makes you guilty of aiding and abetting.

LGPL as "Library GPL" is deprecated - the v3.0 version is called the "Lesser GPL". It's intended to be appropriate for some libraries, but was never intended to be used for all. See the link in my neighbor comment for more details.
The renaming was entirely political. If the author wants their library to actually be used, it should be LGPL. GPL-ing a library almost always makes it pointless.
> The renaming was entirely political.

Well sure; the FSF is essentially a political organization. I'm not sure what point you're making here. The renaming was a statement that the organization believes the license is not always what is most appropriate for libraries. This is entirely relevant to the original point, which was a refutation of the notion that the FSF is dumb for not using the clearly-appropriate-because-they-named-it-that "Library GPL".

> If the author wants their library to actually be used, it should be LGPL.

If the author wants their code to be used as broadly as possible, it should be public domain. If the author, maybe, has some concerns other than just how broadly the code is used, then some more restrictive license may be appropriate - BSD, LGPL, or GPL, depending on your particular goals.

> GPL-ing a library almost always makes it pointless.

If your only goal is broad adoption, then this is certainly the case. Somehow, I think the FSF has goals other than broad adoption of their software.

Even so, it is certainly the case that releasing your library under the GPL will mean that many projects will avoid it. Whether this trade-off is worthwhile depends not only on the weight you place on various goals, but also on the nature of the library: something that adds huge amounts of value relative to alternatives, and relative to proprietary libraries that might serve as other parts of a final application, will be a lot more likely to change the license of prospective projects than something that is easily replaced or displaces other things of more value. This is actually more-or-less the FSF's position, per my understanding, on libraries: "we encourage GPL but do what makes sense." This was their reasoning on readline, and that definitely drove some GPLing of software before workalike alternatives surfaced. This was presumably their reasoning here. This is not to say that the reasoning is necessarily correct.

Readline being GPL was actually a pretty good idea imo– it's gotten some pieces of software to open-source themselves solely because they wanted to use readline (the clisp implementation of Lisp is the most famous example). Seems like a reasonable quid pro quo: you want to use my nice open-source library, then you need to open-source also.
<blockquote>Readline being GPL was actually a pretty good idea imo– it's gotten some pieces of software to open-source themselves solely because they wanted to use readline</blockquote>

That's pretty much the entire value proposition of the GPL, and it was pretty important in the early days of F/OSS when the value propositions of F/OSS was less clear -- "you have to open your stuff if you want to use my stuff".

But very early on in F/OSS, the argument was made that F/OSS was actually good for the people releasing their software as F/OSS -- not just good for the downstream recipients. And to the extent that that value proposition has been accepted, GPL-style licensing is less beneficial. If you believe that F/OSS is good for the licensor as well as the licensee, there is no reason, as a licensor, to use the license on your software as a bribe to get other people to open their software.

While initially -- before lots of big players clearly saw the value of F/OSS and adopted it for things they released even outside of GPL-style license-based compulsion -- the GPL was useful both for those who believed in the value proposition of F/OSS and those who were ideologically attached to F/OSS independent of the value proposition, its now useful mostly to the latter group and a negative to the former.

But recently, GPL libraries have mostly only inconvenienced other open source projects, like Racket not shipping readline.

That tactic is dead.

At the risk of starting a flame war, this is why all my shit is BSD licensed.

Like the software, the license isn't a pain in the arse either.

Same here. I only use software licenses where I can understand every single word. My personal preference is MIT, but 2-clause BSD or ISC would be equally fine.
But not 3-clause BSD? I figure the reasoning behind the third clause is to cover the situation where you write FooLib and someone uses it, advertising, "The Crazy Super Cool App is the craziest and supercoolest app of them all because FooLib makes it so crazy and supercool!" If the CSCA turns out to be a stinking pile, you don't get the stigma.
Are you saying you selected your software for the BSD lic, or just that the stuff you like happens to be BSD lic?
Anyone surprised by the fact that the FSF puts its principles about the purity of free software licenses before pragmatism hasn't been paying much attention. The GPLv3 is the flagship license of the FSF and they think it fixes some issues with the GPLv2, so it's hardly surprising that they will refuse to relicense their high priority projects under the older license. "But you'll gain more users" has never been a reason for the FSF to compromise on their principles.

One may equally well ask why LibreCAD insists on GPLv2 (without upgrade clause), and does not switch to GPLv3 if they want to use GPLv3 libraries.

LibreCAD doesn't hold the copyright, so they can't change the license. The copyright is held by a private company with no particular incentive to make the Free product better, especially since the paid product wouldn't be able to use the LibreDWG code.
You seem to forget the primary reason why the GPL came to be, the principle that caused RMS to rewrite EMACS as an open source product in the first place: if a piece of software is closed, or in this case "not open enough", they want it rewritten under a new license.

This story only seems to be a case of political pressure to do so, regardless of the effort a rewrite may cause. In this regards, FSF is clearly putting the value of the license above the value of the software itself.

This is why I can't endorse the GPL: it is mainly motivated and designed to deny authority over software ownership, not for actual openness. If somebody really want to open up a piece of software, Public Domain is the way to go.

In a lot of countries, it's impossible to put something in the public domain immediately.
MIT, BSD and to some extent Apache2 are close enough that the distinction is meaningless.
That's an excellent point. Would you have any advice/thoughts on how to license software in those countries with the same effect as public domain, and also how to plan ahead so that it eventually becomes public domain?
no, the GPL is mainly motivated and designed to encourage openness and collaboration among authors. It removes authority: if you wish to use the code, do whatever you want with it, as long as you share the changes with the rest of the people that are interested in it.
There's the problem right there: "as long as". If I give you candy, I should have no say who gets to eat it - or even cook with it if he fancies. I don't like gifts with strings attached, so I don't cause others to suffer them.
This comment is basically nonsense. Not saying I agree or disagree, it just makes no sense as a response to my comment. I was making a factual correction. The GP suggested that LibreCAD change their license. I pointed out that doing so is not possible and not likely to become possible. That is all.
You are discussing the impossibility of a simple relicensing due to components owned by a third party. I am pointing out that the FSF has a history of going to great lengths rewriting software, or pressuring people to do so, just so the resulting product falls under a license they find acceptable. Can you explain how am I being nonsensical?
So a more or less a "random circumstance" is the reason the FSF should be changing it's principles?

I mean, there may be times when the FSF does stick foolishly to principles but the "because we've decided it's OK to be halfway open and accept putting copyright control in the hands of a random company, you should bend for us" argument does not seem compelling.

It sounds like the mom and kids dynamic "can't I break the rules this one time, [XXXX very 'just, reasonable' sounding excuse]". The reason you have blanket principles is that otherwise someone finds a single exception that sounds emotionally compelling, then the exception becomes the hole that more or less everyone just drives through and "inconvenient" principles go out the window.

Also, the article doesn't say anything one way or the other about releasing the library LGPL which would seem appropriate for a library which could then be used by a commercial product.

I never said the FSF should change its principles. I was just pointing out that the GP's suggestion wasn't possible.
> "But you'll gain more users" has never been a reason for the FSF to compromise on their principles.

Wasn't that the main motivation for the LGPL?

Kinda. It was more "it would only hurt us", though in practice, the way it was likely to hurt them was through lower usage.

The official statement is: "Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Lesser GPL in certain cases. The most common case is when a free library's features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Lesser GPL for that library.

This is why we used the Lesser GPL for the GNU C library. After all, there are plenty of other C libraries; using the GPL for ours would have driven proprietary software developers to use another—no problem for them, only for us."

At this point, they should probably worry less about "gaining" users and more about "alienating" them.
> "But you'll gain more users" has never been a reason for the FSF to compromise on their principles.

Actually, rms recommended a more liberal license for Ogg/Vorbis.

http://lwn.net/2001/0301/a/rms-ov-license.php3

The FSF's stance on this has been very clear, to me at least, since I first read the gnu.org essays when I was maybe 15 years old.

This is the most relevant section I can quote:

> Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Lesser GPL in certain cases. The most common case is when a free library's features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Lesser GPL for that library.

From https://www.gnu.org/licenses/why-not-lgpl.html

Stallman's recommendation of a liberal license for the vorbis libraries seems similar: there are already proprietary standards and proprietary libraries for lossy audio compression, so using a copyleft license won't convince anyone to switch their license.

This particular instance with LibreDWG is the polar opposite of that: no other library exists that does what LibreDWG does, so it makes sense to keep LibreDWG on the GPLv3, to entice projects like LibreCAD to use the GPLv3.

The sort of entitlement that this request displays is somewhat astonishing -- do the LibreCAD developers really expect the FSF to back down not only on its principles, but also its strategies?

Why not provide a way for users to download the library separately and execute it as a binary blob? That way, if there's a license violation, it is the responsibility of the user. Kind of like libdvdcss and Handbrake?

On the other hand, it seems odd to me that the kind of person who would be hung up by licenses is interested in using free software. Why not just buy AutoCad at this point?

I guess that's sort of the FSF's biggest mistake. They act like there are no alternatives. Though they seem to understand that with LGPL:

This is why we used the Lesser GPL for the GNU C library. After all, there are plenty of other C libraries; using the GPL for ours would have driven proprietary software developers to use another—no problem for them, only for us.

Your answers are found in the saga of the readline wars (where every imaginable method to run around the GPL and make it meaningless has been tried).

Broadly speaking the rule of thumb is that if something makes use of internal knowledge of GPL code implementation or function (i.e. unique data structures/objects/functions that are not considered "standard"), it's considered a derivative work (this is also how the Linux kernel approaches GPL vs non-GPL drivers, too). If all it were to take was to adapt and repackage a GPL project as a dynamically loaded library, the GPL would be meaningless.

In my mind, the really hairy area is where certain projects seem to be allowed to define "public" APIs that surrender GPL protection and allow use of closed binary libraries (i.e. the Linux kernel's public driver interface or Octave's MEX interface). Or what happens when the BSD folks just copy your API and re-implement everything (undermining the uniqueness of the GPL software's internals)? Don't bring this up to the FSF though, they suddenly switch from being eloquent to pretending to be dense.

What I never really understood was why nobody ever cloned readline? Clisp was open sourced because they used readline, but they already had a completely working common lisp system with everything -- how hard can it be to write a readline library?
It is open source. If a project does not move forward then commit code to it.
> The Free Software Foundation was contacted about making LibreDWG GPLv2+ instead (since the FSF is the copyright holder), but the FSF/Richard Stallman doesn't the DWG library on the earlier version of their own open-source license.

Doesn't the what?

RMS's comments in a recent Slashdot interview are worth noting:

http://features.slashdot.org/story/13/01/06/163248/richard-s...

"What project is using the wrong license? by gQuigs

...

RMS: If I could magically change one program to GPLv3, it would be Linux. ... Another program that is important to convert is LibreCAD. This is more than a fantasy: the developers of LibreCAD are working on replacing the old GPLv2-only code that they included, so as to switch to GPLv3-or-later. Would you like to help?"

Open source software is fantastic, I've made code public and free to use, I build on open source, I've committed to open source and done crazy bug hunts. I love open source.

I cannot stand the GPL, it's an absolute unworkable nightmare. It's set out to achieve something fantastic and it's been ruined, it's so heavy handed that in the real world it's now meaning developers will avoid it rather than deal with it as there's so many gotchas like this.

I have a hard time describing any license that limits your rights as one promoting freedom. I never understood why the FSF wasn't more behind the BSD style licenses.
The FSF is more about giving users rights to change the code than about giving developers rights to use libraries. With BSD-style licenses, developers can limit the users' rights to change the code, which is not in line with the FSF's line.
Is the US Constitution "restrictive" because it limits the right of our president to become a dictator? Would a constitution that said essentially "Those in power can do whatever they want" make us more free?
(comment deleted)
That phoronix missive was the stupidest post I have read in a long time.