Debian Developer And QT License Contributer Speaks
NRLax27 writes: "Freshmeat has an interesting editorial up by Joseph Carter on the issues surrounding Debian and KDE. Carter is a member of the Debian team, and spent much time working with the Troll Tech fellas trying to make the QPL compatible with the GPL." Interesting bit. Worth a read if you're interested in the licensing issues.
Not enough, since all the original GPLed software would need to have the original license updated (see problem 1).
Possibly good enough, actually: check out section #9 of the GPL:
So the problem would only exist in those cases where the programs specified a specific version of the GPL.
--
--
The GPL was a great idea when it was created. And it's definitely suitable for applications. But if you're developing libraries, anyone should be allowed to use your libraries, even if their program is licensed under the GPL and your libraries aren't. If the whole world used only GPL licenses, then it might be great. But let's face it, we're never going to have only free software. And if the GPL isn't changed to accommodate "semi-free" software, I don't think it should be used at all, because it doesn't allow one to use all of the resources available.
Yes, KDE people could fix that but there is fundamental issue of GPL being , well , very restrictive what one can do with it.
Sooner or later somebody else will get into the same mess. Freedom that is _enforced_ is not freedom at all. As far as I know BSD has no such a problem, it is really free.
GPL is not free. Even when RMS says so. There is a simple meaning for the word "freedom" and GPL , unfortunately, doesn't qualify here.
The second part is a very good point. As I read it, propriatary operating systems CAN'T ship with GPL'd software. This is extremely interesting -- I don't know about Solaris, but IRIX sure does....
--
"They say they want to create an open desktop that can be a Unix standard. But they want the standard part more than the open part. "
That's the most ridiculous thing I've ever heard, first off it IS open. And it's also free. It's merely a conflict of licenses. If I was a programmer for either of the above, I'd have taken great offense at your comments, but I'm not. Just because a company chooses a license other than GPL , which I like very much, but many programmers find it too restrictive on their rights, doesn't mean they're evil or out to collapse the GPL, the FSF, and the GNU project.
"they're just lying, cheating hypocrites" ..."The KDE team members who think like this and the Troll people who keep avoiding making QT free aren't members of the community.
What?!?!?! QT IS free!!!! They're not members of the community because they don't use the GPL? The GPL isn't the only free software license, both programs are free, and KDE is almost all GPL, if I'm not mistaken, the only part of KDE that isn't GPL is the links to QT libs. Lay off if you don't understand what's going on.
"God is REAL
Actually, I have. The QPL is not violated by linking GPL apps to Qt software. I never said it was.
The problem is, when you try to go the other way, you violate the GPL. This is where the trouble comes in. It is the problem with a two-license system like KDE/Qt. It doesn't matter that one license is compatible with the other license. Both licenses must be made to be compatible with each other. This is where KDE hits a snag; the compatibility only works one way.
It's one tiny little sentence. That's all it takes; it really is that simple. Unless the KDE team has been keeping shoddy records (and I doubt they would; they understand that they have an important project so record-keeping is important), they should still have contact information for everyone who contributed. I don't think a single one of them would object to making their software legal to distribute (they gave it to KDE to distribute, after all), and once this is settled then the licensing exception can be added extremely easily; I could do it with a two-line shell script.
And that's really all there is to it. The licensing issues vanish. Debian can include KDE, and the other distros that already do can then do it legally. All the KDE team has to do is swallow their pride, admit they made a little mistake, and add one line to their license to rectify the problem. Are they so arrogant that they can't even admit to one minor oversight? I wouldn't think they would be; they've always led me to believe they were a nice bunch. So what's the problem?
You're forgetting one thing DragonHawk: the hardcore GPL zealots don't care just what the GPL says. ... No matter how many times you actually quote the GPL, you'll only get shouted down.
People can believe whatever they want to believe. Belief won't change what the GPL actually says. They can shout all they want; the words stay the same. RMS can change the GPL; people can still choose to use the "current" version for KDE.
Now, perhaps Debian's leadship believes KDE violates the GPL in this way. That is their choice. The rest of the world is not obligated to agree. If you disagree but still want to use Debian, that is between you and the Debian leaders.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
If you can use BSD code in GPL apps, why can't you use QPL code in GPL apps?
A deep unwavering belief is a sure sign you're missing something...
It was a joke. Laugh.
A deep unwavering belief is a sure sign you're missing something...
Bad choice of words: "KDE admitted"
KDE is not a monolithic, hierarchial organisation with one voice. A glance at the Licensing discussions on kde-devel will show you that there are a multitude of opinions on the subject within the KDE project. A glance at the various licenses used by the applications (kdelibs is all LGPL, but the rest is mixed) will also show you that there is no consensus regarding licensing within KDE.
Some parts of the KDE community don't use the GPL, some use the GPL and apply the exemption, and yet others use the GPL and don't see the need for the exemption.
Oh, and that slashback you point to doesn't have any mention of what any KDE people say. It only has the commentary of someone who is clearly biased against KDE.
Excuse me, since when is it easier to change to source than to FTP a different package? "Oh, I think I'll upgrade to KDE2 now by changing the code. It is way to much trouble to download it." Or are you on a 300bps modem or something? If it hampers you, sure. But I get the impression that there are a lot of people who really have no use for the code, but like to bitch at others about it.
A deep unwavering belief is a sure sign you're missing something...
Bruce
Bruce Perens.
This might have been a reasonable argument in 1996, but it isn't now, as every Linux distribution I can think of ships with Qt, just like Solaris ships with Motif.
I think a lot of the reason for the non-inclusion of KDE (remember, kdelibs is LGPL, so no legal problem there) is simply bias against it because
- it is not GNOME
- it is mostly written in C++, and not in God's Own Language, C
Go ahead, mod me down, KDE-haters; see if I care.--
First, make sure you're not confusing Troll Tech and KDE. KDE is a project that happens to use a (now free software, DFSG, Open Source compliant) library owned and distributed by Troll Tech.
Second, the "KDE crew" cannot be generalised. Some agree with Debian, some disagree, and some don't even use the GPL, choosing a more free license instead.
There's not an indifference on the side of KDE. There's just a real community, with the real disagreements that result. A consensus on whether a MacOS-style menubar should be the default can't be reached; how could anyone expect agreement on something as politically sensitive as licensing?
qt header files
This is an interesting question.
The GPL says:
"For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
Header files are interface definition files, of course. But does the above restriction refer to interfaces to the GPL program, or to the libraries it depends on? The GPL doesn't say, specifically, but given the context of "modules it contains" in the previous English clause, I think, legally, this refers to the GPL program. Of course, IANAL. Only the courts can decide for sure.
Now, this may be a loophole in what RMS intended the GPL to be. He's free to correct it, of course. But the KDE people are also free to not incorporate his correction.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
"Assume the worst about people, and you'll generally be correct"
make the QPL compatible with the GPL
Why not make the GPL more compatible with the GPL? This would have the added benefit of making the GPL more compatible with numerous other licenses and would prevent much of this non-sense in the future. This is especially true considering there are no major sticking points in the QPL which prevent widespread acceptance.
There are only a small number of people who keep crying foul whenever something comes up that does not agree with their base philosophy. Rather than changing their philosphy to be more widly accepted among the broader community, they only sit back and force others to comply with the One True Way. Sounds like an inquisition or a holocaust in the making.
Troll Tech can say anything that they like. But their permission to let you write GPLed software doesn't make it legal to distribute said software along with QT.
Go read the description of the conflict for yourself.
Regards,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
It's only libel if it's false and I know it to be false. However, I've proven it to be true right here.
In other words, Mr. Bastian, fuck off. I will not be silenced by legal threats from a meta-organization that doesn't even exist as a legal entity.
First the note. There seems to be some confusion about what the problem is. Here is a description of exactly how the conflict arises.
Which leads to the question. Is there anything in principle to stop Debian from shipping Qt along with a separate installer and KDE source-code that will allow the target machine to compile a clean copy locally? Then no distribution of tainted binaries has taken place but KDE has been successfully shipped...
Cheers,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
What this means in real life is that if you are considering using Qt at a company or university, you should evaluate it like any other commercial, proprietary toolkit, including its cost. Whether employee or student, your institution can probably not afford to commit to making all their GUI code free or open source up-front (even if a lot of their code may end up open source later).
And even with all the free effort KDE developers have put into enhancing Qt for Troll Tech, at $1500-$2400/developer, I don't think it's very competitive compared to other proprietary or free toolkits. But that's something you have to evaluate for yourself.
> But the part of the GPL that makes it GPL is the viral clause.
Please, try to cultivate the habit of calling it "inductive" rather than "viral".
If it were in fact "viral", there wouldn't be any problem; you could just take some non-GPL code, throw in a few lines of GPL to "infect" it, and presto - the whole mess would become GPL'd as a result of viral infection.
In reality, the GPL is inductive: If P is under the GPL and P' is derived from P, then P' must also be under the GPL. Anything that cannot abide this rule is a license violation.
I am pushing the distinction for two reasons. First, because "inductive" describes it more accurately, and is therefore more likely to lead to clear thinking about the topic; second, because "viral" generally has negative connotations, and is often used deliberately by people who want to disparage the GPL.
I'm not sure that making the proper distinction will help in the current debate, but we still need to use terminology that promotes an accurate and positive conception of the GPL.
None of the above to imply that I disagree with your post; you are absolutely correct.
--
Sheesh, evil *and* a jerk. -- Jade
5) Debian applies the "system library" exemption, since Qt is distributed with Debian, and just about every other Linux distribution.
6) Debian decides to see the light (it's only sarcasm, people) and interpret the GPL the way some other people do: that a dynamically linked executible does not actually included the non-GPL library code until runtime, and therefore is legal to distribute, as none of the non-GPL code is actually being distributed.
7) Debian can come out and admit that many of their core organizers don't want KDE, because they want to throw GNOME all the support possible.
As I read through the replies to this article, I just have to shake my head in disbelief at some of what I am reading here. Is this really Slashdot? Yes, unfortunately. People can post rather long replies to stories without understanding the first paragraph, and are thought of as insightful. Very well, let me clue you in on some insight you missed.
The main problem with the Qt license in KDE is that it stifles development of KDE. Because of the nature of the Qt license, changes must be supplied as a patch and recompile. The only legally distributed binaries are from the KDE maintainers themselves.
The license makes it hard to modify the Qt code itself, and KDE generally. The license makes the distibution of KDE as we now see it illegal. Because companies like Red Hat, Corel, etc. are technically illegally distibuting KDE and such, licenses in general, and in particular the GPL, are being undermined by general practice. If you do not defend your license, it becomes unenforcable, and everything the FSF and the Linux community has worked for is lost.
The article mentions several examples of this already happening in the sense of companies violating the GPL and getting away with it because of the situation with KDE (eg NVidia, Corel...).
The further problem is that Linux needed a desktop badly and KDE was "it" for awhile. The Troll tech guys, etc kept promising to "fix" the license while gaining marketshare. As long as they kept promising that, and opensource advocates kept believing it in good faith, KDE continued to be distributed unchallenged.
As more and more people became concerned with the situation, the Gnome project began in an effort to have a desktop that was truly free and could be modified under GPL. But it was too late, because KDE was already ubiquitous as planned.
Even now, as Gnome is comparable in performance and features to KDE, there are those who complain about its lack of stability versus KDE (personally I have not seen it, but then there are those who have said they never saw their windows box crash ;) ), which is the older project, and which is eroding the GPL by its very existence. Nevermind the illegality of this "default" desktop.
I think that the debian people are right to exclude KDE from their distribution, and by god we ought to support them in this. I like KDE, and it was the first Linux desktop i used. BUt as I became aware of the implications, I stopped using it, and switched to Gnome. If Gnome does not suit my needs, I have the benefit of source and can modify it at will without violating archaic licenses. I can include the whole modified version TOGETHER in an rpm if I wanted. And the most important thing is that I am not working towards a situation in which the Microsoft OS group can make a closed-source linux distro, distibute it for free, and take over the linux desktop like they did with Windows.
I understand that most people are pragmatic in that they don't want to use something just for its political value, as they do want to get work done and would like to evaluate a technical product on its technical merits. What teh article points out is that politics aside, the license of KDE makes it harder to modify, add features, fix bugs, etc, which is, I think a point that is all-too-often missed in the debate between pragmatic users and "rabid open source advocates."
Actually, KDE could function without Qt. That's the beauty of shared libraries: the code is interchangeable, if you maintain binary compatibility.
> No, the license being violated by the distribution of KDE binaries is TrollTech's own QT license. But QT's unacceptable license is not the major issue it should be, because QT is not suing RedHat, SuSE, etc. They are allowing their license to be violated, but they have absolutely no legal obligation to continue to do so
Kinda reminds a body of the GIF compression patent scam.
--
Sheesh, evil *and* a jerk. -- Jade
Bruce,
I'm assuming that your comments relate to my proposals, not the stuff regarding QT/KDE. Also, those were proposals, not statements of where things currently stand.
I'm not so sure that dynamic linking would be seen in a manner that you describe. Linking can be viewed as a manner via which two independent programs communicate. After all, a function call to a library can be seen in a manner very similar to RPC or CORBA calls. Linking doesn't have to mean that the library is part of the app, EVEN IF THE APP IS STATICALLY LINKED (since it can be argued that static linking is for convenience, and nothing more).
In a similar manner, I would view header code in the executable as an artifact of the mechanism of compiling, not a fundamental aspect of the nature of the program. Logically, they are seperate entities. Of course, once you distribute a compiled binary, you must comply with the license terms for each of the components, but we should be able to treat the components seperately.
Thus, I should be able to compile a GPL program that uses a QPL library, an X11 library, and a proprietary (say, patent-protected (eg. RSA)) library. Now, since the program is GPLed, I am required to give away the executable and the GPL's program source (including redistribution rights to both), but I could distribute the QPL library and X11 library in a manner which followed their licenses, and may not have to give away the proprietary lib. This is how things should work, not necessary how they do.
Yes, this does look alot like the model used in the MPL. Though the MPL still treats everything a part of the base program, which is erroneous in my view. I honestly can't understand how we currently can hold two seperate, conflicting views right now: that the license of a program can treat a libary as integral portion of the program, and yet that we can somehow license libaries seperately. Holding the two views is self-contradictory.
Honestly, I think we would solve 90% of our licensing conflicts, lose alot of the ill-feelings between the various camps of the OpenSource movement, and at the same time promote the free sharing of source code if we would stop treating libraries as a part of a program, and not as the individual entities they should be.
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
It seems to me that the whole point of dynamic linking is the fact that the library code doesn't have to be included in the executible, right? That's a major benefit of the technology, to make the binary executible smaller.
:-)
With my copy of libqt.so.2.1.1 weighing in at 5.5MB, I don't think it's fair to say that dynamic linking is being used to circumvent the GPL.
Rather, I think a loophole of the GPL is being used. Would you agree that it'd be nice for a GPL 3 to be released, that would finally put to rest this argument, to the satisfaction of all parties? A GPL 3 that would take into account all sorts of wierd situations (new linking, Application Service Providers, and other things)?
Also, I was wondering whether you have written, or know of someone else who has written, a detailed argument of how dynamic linking should be treated the same? I'd like to think that somebody who feels as you do has considered the issue enough to have written more than two sentences on it.
As for DDD: it's GPL. LessTif is LGPL. What's the problem?
--
a-ha! So why don't you make QT a part of the OS? QT even meets Debian's free software guidelines, as you stated before.
That would solve the problem for Debian, but it wouldn't stop people from distributing KDE binaries for other distributions/platforms, which would still be technically illegal. So, it wouldn't solve the underlying problems:
Disrespect for the GPL. You soulless pragmatists mouthing off out there, you want to know why everyone who cares about free software is up in arms? Because there is a lot of software out there under the GPL, a license which solidly gives those rights that the developers want to give, but which hasn't been tested in court. And we don't want that first test to be filled with a lot of crap about "look at all these KDE developers, here, letting people trample all over their GPL, so it must be ok". Well, it's not OK. The GPL prohibits linking your code against non-system, non-GPL code. If you want your code to stay free software, but you want it to be linked against code with a sharply different license, you use the LGPL or append a special exception to the GPL, like the KDE developers should have done.
Sure, the KDE developers are just peachy about you linking your code to Qt, but is all the code getting linked from KDE developers? I think kfloppy was a possible example: if you take someone's GPLed code, link it against yours, and link that against Qt, then you are breaking their license, whether you claim your code is GPLed or not. And you know what, it pisses some of us off when the GPL gets broken, whether the people doing the breaking are among the "good guys" or not.
Oh, and BTW, does this mean that ddd (www.gnu.org/software/ddd/) is illegal to run under Linux?
No. For one thing, DDD works fine with lesstif now. But even when it only worked with Motif, it was legal to distribute DDD source code, or DDD binaries dynamically linked against Motif system libraries. But it is illegal to distribute Linux ddd binaries statically linked against Motif, which I think does occur. That should be stopped, too, or the DDD license should include a special exception; it's just not as high profile a case as KDE.
Look, people. Debian doesn't exclude KDE out of spite. I doesn't exclude KDE because it's not Open-Source. It excludes it because, at the moment, IT's NOT FREAKIN LEGAL to include it. This is due to what is, sadly, a rather boneheaded oversight by the KDE team when they chose to use the GPL for their license. The GPL explicitly states that if you can't distribute all the source used in the program under its terms (or less restrictive ones), then you cannot distribute the program at all. QPL is more restrictive than GPL, and therefore it is technically illegal to distribute KDE unless you have explicit permission from Troll Tech.
There's an exception to this rule built into the GPL. This exception states that files which "normally" come with the operating system do not count towards this restriction. This is very important, because without it there's no legal way to make GPL'd software on closed-source operating systems. However, Qt does not qualify for this exception, since it doesn't "normally" come with Linux. You either have to download it or get it in a distro.
Now, this was overlooked by the KDE team when they chose to use the GPL for KDE. It was a rather boneheaded mistake, but an understandable one since, to my knowledge, an issue like this had never come up before. It is also trivially easy to fix. All it takes is one measly sentence in their licenses, where they explicitly state that you are allowed to link against Qt. That is all it takes. And yeah, it's embarassing to admit you made a mistake, but who cares so long as the problem is fixed?
Qt is Open-Source. Debian includes it. KDE is also Open-Source. The problem is that its license clashes with Qt's in a rather nasty way, so it's not legal to include it. All KDE has to do is add one tiny little sentence to their license, and everything is in the free and clear. Much easier than changing the license completely. It holds true to the principles under which KDE was developed (unless arrogance was one of those principles, and I very much doubt that). I do it myself with one of my own projects that uses PowerPlant (a decidedly proprietary application framework for MacOS). So what's the big deal? It's one sentence, and all of the licensing issues vanish.
So, and this is an honest question: why the heck haven't they done it?
Well, then why doesn't Debian also include Windows 98 in their distribution, since it's what the majority of computer users want?
The reason, of course, is that it would be illegal for them to do so.
Similarly, Debian interprets the GPL as making it illegal to distribute a GPLed program linked to Qt. Since KDE is GPLed, Debian believes that they would be breaking the law if they included KDE.
And, of course, if you had BOTHERED TO READ THE ARTICLE, you would have known this, and I wouldn't have had to make this redundant post. But apparently you were too busy attempting to get a first post.
Steven E. Ehrbar
I don't like this policy either, but I can see the point. Someone who wants to put proprietary modifications into a GPL'd application could simply "refactor" the application into a free part and a proprietary library.
You've hit the nail on the head. That's exactly the problem with most OSS software. They are collections of complex, arbitary feature sets :)
A deep unwavering belief is a sure sign you're missing something...
Waldo refers to "one of our lawyers." The obvious implication is that he is speaking on behalf of KDE (or at least that KDE has lawyers).
My Blog. Sela Ward can sell me long distanc
I'm not really sure how the major commercial distributions are answering this. It's not something that makes a big noisebecause neither the KDE authors nor the QT people want to make a fuss about it, but it DOES ultimately weaken the GPL.
--
But Debian isn't about the "majority". Debian is about producing a high quality, free Linux distribution. (Whether the "high quality" part or the "free" part is more important depends on who you talk to. I lean towards the "free" side.)
If you want KDE, you have several options. You can download the .debs from KDE's site. They even give you a line to add to /etc/apt/sources.list so that you can install and manage KDE with apt. If you don't like Debian's stance on KDE at all, you can always go to another distribution, such as Red Hat or Mandrake, that includes KDE by default. Don't get after Debian for not behaving the exact way you want them to behave. They're taking a stand on an issue they feel strongly about, but you still have your options.
--Phil (For that matter, the majority of computer users still use Windows...)
355/113 -- Not the famous irrational number PI, but an incredible simulation!
There's a conditional you miss -- the line "if the authors of the program clearly intended it to be linked against Qt".
So if KDE includes any GPLed code that the original author didn't clearly intend to be linked against Qt, then that's illegal.
For example, asssume there's a small utility that was written by Programmer Foo in 1992 for plain-vanilla X under the GPL, and that Programmer Bar patched the program in 1992. If Progammer Baz then added a KDE front-end to that program in 1999, it cannot legally be distributed until both Foo and Bar give permission.
So until KDE does a code audit and confirms everything they're shipping was intended to be linked against Qt by the author, it is quite possible that there is illegally-included code in KDE, and that Debian cannot legally distribute it.
Steven E. Ehrbar
Debian isn't about just getting a job done. Debian is about getting a job done right.
it's green.
Really, the problem is with RedHat, SUSE, and Corel (and other distros) knowingly illegally distributing KDE binaries. And since KDE 2.0 (using Qt 2.x with QPL) isn't quite finished yet, there isn't currently even any room to argue over subtleties of the licenses.
The common corporate stance of "Yes, we know we're breaking the GNU GPL, but maybe we'll fix it in a few years" really surprises me (see nVidia et al). If they were including unlicensed copies of W2K (for use with VMWare) in their distros, they'd issue a recall on them the minute Microsoft called them up. When it's the license of the community that they break, they don't care because there's no immanent danger of a lawsuit.
Of course, most of the people whose code is linked against Qt without permission don't care anyway, but would at least like to have been asked.
The GPL was specifically designed to discourage licenses like the Qt one which limit the ability of users to modify key components.
The Qt licence was specifically designed to encourage non-commercial use of Qt so that Troll could charge for people using it commercially and for ports to Windows. But in doing so they have to put restrictions on end-users to keep them from just forking the code and creating a free port for Windows. Hence the Qt license is specifically designed to impose the kind of restrictions on software that Stallman et al stand against.
The problem is that the KDE people tried to mix the two. Thereby engaging in exactly what the GPL was meant to prevent. This is not to say that the GPL is the source of the problem. The problem is using it without trying to understand what it means and making sure you fit within its restrictions.
Cheers,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
> 1) KDE uses the artistic license instead
...
...
...
KDE has taken lots of GPLed software and have basically just created KDE-ified versions. The KDE team cannot just switch the licenses since they don't own everything.
> 2) KDE adds a clause to their license
Same problem as 1. You can't change someone elses license.
> 3) Trolltech makes their license GPL intead
They don't need to go to such extremes. There are other changes that could be made that would make it legal for GPLed software to link to QT.
> 4) RMS rewrites the GPL
Not enough, since all the original GPLed software would need to have the original license updated (see problem 1).
But I have another solution. KDE can get behind Harmony and drop QT altogether.
I won't say much about the flamewars which are still being fanned that accuse Debian (as if it were a unified entity) of "hating" KDE except to say that such talk is both nonsense and nonproductive.
-- Don't Tase me, bro!
To clearify some things: Linking to Qt is no violation of the GPL! Qt is a Library, that means it is intentionally used by the program. As I know common practice the library does not "modify" the program but vice versa. Otherwise it wouldn't be allowed to link any GPL program to the LGPL'ed glibc or any other libc running on any sytem where GNU software is used. In any law I know about (at least German ones) there exists a concept called "intention". If a programmer writes a program that only runs while certain libraries are present it can legally be assumed that it is his intention to link the program against the library. You don't need written permission, the facts speak for themselves. AFAIK KDE only runs when Qt is there and linked against KDE - so you may assume that it is totally ok. It has never been practice of the FSF or any other big project to see license conflicts just because you decide to use certain libs - if they do so they have to express it and to provide alternative libs.
Even RMS agrees on this:
--------- Forwarded Message ----------
Subject: Re: proposal of a paragraph of GPL v.3
Date: Mon, 12 Jun 2000 20:43:13 -0600 (MDT)
From: Richard Stallman
Debian seems to state that it might be a violation of plain, unmodifi=
ed
GPL to link against Qt.
That is true. However, if the authors of the program clearly intended
it to be linked against Qt, I would say they have given some kind of
implicit permission for people to do that.
--- snip ---
comment has been created based on posts from Konrad Rosenbaum on the kde-mailinglist
They say they want to create an open desktop that can be a Unix standard. But they want the standard part more than the open part. Until KDE can shape up, they're just lying, cheating hypocrites. The KDE team members who think like this and the Troll people who keep avoiding making QT free aren't members of the community. They are working against it, not helping it. Debian is right. They are wrong.
Oh, and this isn't an attack on KDE or Troll or QT in general. Not everybody involved in those projects is doing these things. But the ones who are are causing a major problem and they need to be stopped.
it's green.
This should probably be 5, Informative IMO because it's dead on. As I've said about as many times as I spent working on this (which means I no longer have any idea other than "a lot"), it's NOT a matter of KDE being non-free or Qt being non-free. KDE is GPL'd and Qt's QPL satisfies our Free Software Guidelines (which are the origin of the Open Source Definition), so Qt v2 IS free software.
The whole crux of the problem lies in KDE's use of code under the GPL which they did not write and have not right to change the license of. If you write some code and put it under a given license, I don't have the right to change your code's license to suit my needs. KDE has done precisely this in spirit. In legality, they are simply committing Copyright infringement. So is Red Hat and any other distribution distributing KDE. What's interesting is the number of messages from Red Hat employees my editorial has garnered trying to explain how market pressures forced them to include KDE even though they knew the final licenses weren't compatible. They agreed to do this back when Troll Tech was actively talking with me and it looked like the license would be GPL compatible when finished.
Market dynamics are apparently more important than legal and moral reprocussions of Copyright infringement. KDE better hope they don't touch my code.
1) KDE uses the artistic license instead
2) KDE adds a clause to their license that explicitly allows linking against QT as well as GPL(/LGPLd) libraries.
3) Trolltech makes their license GPL intead, which has the potential to kill their business model.
4) RMS rewrites the GPL to allow linking against QPL licensed libraries as well as GPL(LGPL) licensed libraries (which has the added effect of hell freezing over and pigs flying).
Faced with these risks, should I willfully violate Copyright licenses? Not likely! Debian agrees. You want Debian to break the law?
As we all know, the great thing about open source is that it empowers the user - if you do not like an aspect of the software, then you are perfecty free to fork the code and take things in your own direction. And this is what Corel have done with their Debian-based distribution. The Corel distro provides all the benefits of Debian (e.g. Debian package management, superior stability), but has KDE included too.
Yes, I'll admit that Corel is more than just Debian with KDE added - many of Corel's tactics remind me of M$'s "embrace and extend" philosophy. But the principle is the same - if you don't like things how they are then you are perfectly free to fork the code.
Surely it is fine to maintain the status quo, and allow Debian to remain without KDE (allowing it to maintain its moral philosophy) and to have other forked versions of Debian which include the non-free software that dome users require.
There still seems to be a lot of misunderstanding here.
a) Debian provides a lot of non-free software (e.g. Netscape). KDE is not excluded because it's non-free. It's excluded because, as far as we can tell, the combination of licenses results in a contradiction that forbids us (or anyone) from distributing KDE.
b) We don't hate KDE. Many people in Debian have tried very hard to get this situation resolved, because we want to distribute KDE. I, personally, would be ecstatic if the situation were solved.
c) This is not about politics or philosophy. We are not willing to break the law, which seems to be what distributing KDE entails at this point. Unlike commercial distributors, we are an all-volunteer group, and can't afford to risk the chance of a lawsuit.
The recent $3000 offer to KDE to fix their license problems went unclaimed. See this article on www.teamlinux.de for more on this.
Section 3 of the QPL reads:
Modifications must be seperate, ie patches or CVS or something, from the source code itself.. That's a restriction the GPL doesn't have, to be sure. Now let's look at the GPL itself, shall we?
All we have to do is satisfy sections 1 and 2 and make source available under the provisions in section 3. But let's have a look at section 2(b):Here's the classic dilemma. Binaries are okay as long as the whole thing is under the GPL's terms. The GPL does provide an exceoption for system libraries, but that exception doesn't apply if the system libraries are being distributed at the same time as kghostscript, so it does not apply to Qt.
You could argue that Qt is not part of the binary because it is dynamically linked. But Qt's headers and macros are linked in at compile time. And even then, a court would have to view dynamic linking the same as static linking if it were being used as a mechanism to thwart the license of the GPL'd application. Another point from the GPL:
Any other agreement includes the terms of the QPL. Because we cannot satisfy both the QPL and GPL, we cannot distribute the program at all. And not only can we not, but KDE can not as well. Neither can Red Hat or SuSE or Mandrake for that matter. To do otherwise is a violation of Copyright law, whether or not you're likely to face a lawsuit (or even criminal charges under the DMCA!)
I did my homework, believe me.
I know of it, but I haven't tried it yet. AFAIK it's an interface for a speech synthesizer which I don't have, I just have this huge monitor. Project TuxTalker (a really bad joke for any blind people who used an Apple // way back when and remember Textalker) doesn't provide anything compatible with /dev/mumble yet. Still, it's one more reason to see the KDE license issue resolved, which seems unlikely to me unfortunately.
"It seems to me that Debian advocates believe that the reason for KDE's non-inclusion is a problem with the QPL"
Not at all -- the QPL is certainly a free license. The problem is is trying to mix it with the GPL when the two licenses are incompatible.
And it has nothing to do with morality: Netscape is certainly non-free, but you'll find it on Debian's archive site, along with lots of other non-free software. Because, unlike KDE, it's not actually illegal to distribute Netscape or those others.
There are a lot of people claiming that:
- The KDE folks should change to a different license
- Troll Tech (the Qt folks) should change their license
- The FSF should change the GPL to be "friendlier" to closed-source developers
Okay, people. Anyone who develops software is free to license it as they see fit. If you don't like the license they do, don't use the software.
Don't like the GPL? Don't use GPL software.
Don't like the QPL? Don't use QPL software.
Don't like Microsoft's EULAs? Don't use Microsoft's software.
It's that simple.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
That Redhat and SuSE decided to ignore the law and distribute KDE anyway do not mean that it is not their problem. They just ignored the problem.
You are looking at this from the wrong angle. It is not about Troll Tech giving permission for their library to be used in someone elses program. They have already done that with the QPL. It is about the fact that pure GPL does not allow linking with Qt as the QPL stands.
As well as the author giving a packager permission to distribute the program under the GPL, the author must give permission to link with Qt. This permission comes in the form of a one line exception to the GPL. Complications arise when a programmer wants to use other people's GPL'd code in a Qt app. Unless they get permission (in the form of the one line exception) from the third party, they have no right to use that code. This is one area where a number of KDE developers pissed a lot of people off.
On the subject of system libraries, I wouldn't put Qt in the same class as libc, and I don't think it is the intention of the GPL to do so.
Joseph has been at the forefront of trying to get this issue resolved. Most of the time he has been diplomatic, fair and rational about it (on *rare* instances he will lose his temper). But he has a troubling trait of admitting he's wrong on some points.
"em>that much of KDE is not legally distributable until they contact some people that are damned scarce these days and make the necessary arrangements."
The real problem is not that orginal KDE code uses Qt, but that a few bits of the code were borrowed from elsewhere and made to link to Qt. I believe that this specific issue can be resolved, but the argument keeps revolving around KDE as a whole. KDE has many packages, but only a few of them have this problem. Specifically, the heart of KDE, the libs, are under the LGPL, and thus there is no problem with kde-libs from *any* interpretations of the licenses involved. The problem lies with kfloppy, kghostview, and maybe some more packages (those two are the only ones I am aware of).
"In short, the GPL says that the whole program must be under its terms before you are allowed to distribute it. It makes a specific exception for things like proprietary libcs and the like, but the exception to that is that you can't distribute them both together, so we'd be stuck even if we considered Qt a system library."
Section 2 of the GPL, which talks about licensing the Program under the GPL, has very different language than what Joseph paraphrased it as. "These requirements apply to the modified work as a whole", "If identifiable sections of that work are not derived from the Program", "distribute them as separate works". Qt is a separate work from KDE. Qt is not distributed as part of KDE "as a whole". Is is merely distributed in aggregate with KDE.
When Joseph talks about exceptions for "proprietary" libraries, the GPL is saying something very different from what he implies. The exception allows Qt to be excluded from the distribution of KDE, because Qt is normally distributed with the operating system (at least it does on my Slackware). But even this is beside the point! Only the source to modules that KDE contains need be distributed under the Program as a whole. Even if the programmatic and copyrightable sense of the word "module" were confused, it is clear that even if Qt could be considered a "module of" KDE, is it not a "module contained" in KDE. kde-libs may be an exception, but again, that part of KDE is under the LGPL.
When Joseph says "we'd be stuck even if we considered Qt a system library", I wonder why debian is not similarly stuck with other GPL-incompatible system libraries such as Motif. I get the strong (but hopefully wrong) impression that there is a double standard at work here. Why does the exception count for Motif but not for Qt? In a lot of cases I have seen, the GPLd Motif applications disobey even the exception, since the Motif is statically linked, and thus is distributed inside the Program.
"We could distribute the source, but what would be the point in that?"
Because some people don't have as fast of connections as Joseph does. I have a DSL connection, and downloading the recent KDE-1.91 sources took fifteen minutes (and I had to wait several hours to get through). A lot of people have only 56K modems or less. Downloading KDE could take hours for some of them. Including the source to KDE may not be politically necessary for Debian, but it sure as hell is convenient for the user!
"We've been quite open to helping KDE fix the problems with their licenses."
A lot of KDE developers respect you for that Joseph. The problem is that Debian also contains a small for very vocal minority of members who are demanding instead of helping. Like any hacker in any community, the KDE hacker stubbornly resists demands. The more the push, they more the push back.
A Government Is a Body of People, Usually Notably Ungoverned
No you're not really free to do that. The minute you put your software under some other license, the GPL people come bitch at you and boycott your software!
A deep unwavering belief is a sure sign you're missing something...
I'm just wondering why the KDE people don't just change the license on KDE. That would solve numerous problems. The license could still be very GPL-like, but with an exception for the QPL. Sure that would mean the Debian guys couldn't use it, but anybody that obsessed with the philosphy behind a piece of software is too far gone to help.
A deep unwavering belief is a sure sign you're missing something...
A KDE executable, dynamically linked, and run by a user however, contains Qt modules, suitably relocated.
The GPL makes no restriction on use. Only distribution.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
"Whether Qt is a "system library" or not is pretty questionable, and in any case it would be distributed on the same CD as KDE"
Wait! This is either a double standard or an artful dodge...
Stop mixing and matching clauses to fit your theory. Way before the "exception" clause, there is section 2, which specifically disassociated the GPL from software distributed aggregate to the Program. The exception clause is excepting from the exception stuff that is included "inside" the Program, and not stuff that is distributed elsewhere on the CD.
A Government Is a Body of People, Usually Notably Ungoverned
quite frankly, Debian has Netscape Communicator as part of the main distro, and one could use the same arguments used against KDE against Netscape. Compiling software for Linux is damn near impossible without somewhere using some includes from GPL software. One could argue Communicator is an illegal derivation of GPLed software.
You hit the nail on the head. Software is a tool. You people who have some emotional attachment to the software (unless of course you wrote it) have a problem. As such, freedom and right to software ARE little things, unless they hamper your use to the tool.
A deep unwavering belief is a sure sign you're missing something...
Sorry, TrollTech isn't that large. They have about maybe half a dozen KDE guys, leaving several hundred employed elsewhere.
A Government Is a Body of People, Usually Notably Ungoverned
> Distributing GPL applications (including KDE) that are dynamically linked to QT is perfectly OK in distributions that include QT as a part of the base OS. RedHat, Suse, Mandrake, TurboLinux, and virtually all distros except Debian include it. Debian does not, as QT is non-free software, and thus does not fit within their philosophy.
Ah. I hope you have it right, because this makes a lot of sense out of all the (mostly) incomprehensible statements people have been posting.
And assuming for the moment that you do have it right, wouldn't the simple fix be for Debian to just include Qt and KDE on the "non-free" disk? Easy enough to include a disclaimer saying that KDE is in fact free, but that it requires Qt, which has to go on the "non-free" disk for other reasons.
I guess then we would get into issues of what defines a "system" library. If a library is optional on, say, Digital's Unix, does that mean it's not a "system" library?
--
Sheesh, evil *and* a jerk. -- Jade
Obviously KDE cannot be distributed under a license that contradicts QPL. But the Qt restrictions are such that you cannot create a derived work from it that is compatible with the GPL.
Period.
If you try all you will get is a piece of software where anyone who wrote GPLed pieces can stop distribution. Most distributers are willing to take their chances, believing that if that happened to them then they could get the licenses sorted out retroactively.
But Debian does not have that freedom.
Hence this discussion.
Cheers,
Ben
My usual seat in the cluetrain is at A HREF="http://pub4.ezboard.com/biwethey.ht
What I was referring to was the so-called "system library" exception, which only counts if the "system library" is not distributed with the GPL'd software itself. So if both Qt and KDE are on the same CD, then the system library exception doesn't kick in.
I think that this is going to come down as a matter of opinion. There's many ways to interpret the GPL, and I can certainly see how you do. But do you at least understand my interpretation? Qt is distributed on the same CD as KDE, and if it is indeed a part of the Program (KDE) that needs to be GPLd, then it needs to be distributed according to sections 1 and 2. But Qt is not "derived from the Program, and can be reasonably considered independent and separate works in" itself", so it is excluded from the requirements of the GPL.
A Government Is a Body of People, Usually Notably Ungoverned
That sig's interesting. Are you really asking people to contribute to a closed-source OS for free?
>>>>>>
Yes. In the Windows world there are a lot of apps written for the good of the community. A lot of people enjoy using BeOS not for philosophical reasons, but because they like the OS. By contributing to BeUnited (most of whose projects are GPL or BSD or Artistic license) you help this community of users.
Don't get me wrong, BeOS video stuff kicks ass. Even if I could code well, though, I can't imagine going out of my way for an OS that's a) going nowhere fast and b) not really written by/for the benefit of the users who MIGHT use it, if it had more functional apps.
>>>>>>>
Ah, but it is written for the benefit. Be is in a unique situation that if they Open Source the whole OS, then pieces will just be ripped off and added to other projects. None of these other projects would have the fundemental "cleanliness" of the original, but would lead to a death of the original.
Why no mozilla port? Why spend all that time replacing free not-great software with Be's not-great software?
>>>>
You're not doing anything to help Be. (Who makes great software! Be produces good, fast, functional code.) You're helping the users of the OS. In fact, one of the projects BeUnited is working on is a Mozilla port that's about 60% complete. There is also a 70-something% complete GTK port, and a Qt port was just started.
I just want you to strip Be down to a runtime environment with multiplatform HW drivers, so people can write better video games without having to use the pissy DirectX. Is that too much to ask?
>>>>>>>
You can do that. BeOS is increadibly functional because of the microkernel design. The actual core OS can be booted with as little as 2MB of files. (And DirectX is NOT pissy. You just don't get it.)
BeUnited is not a help Be-the-company out sort of effort. It is to provide good applications for an OS that a lot of people like using. It does nothing to serve the company itself. (Aside from increasing the userbase OS, but since it's free, it doesn't really matter. The increased userbase just helps out the community.)
A deep unwavering belief is a sure sign you're missing something...
If you go check out Gnotices, you will see an interesting, seemingly unrelated article: The XMPS project has just released a version which supports DivX decompression... by using a MS-Windows DLL. XMPS is a GPLed Gtk+-based MPEG player. It is a GPLed app which uses a proprietary library. The licence makes no explicit exceptions. Sound familiar? Now read the Gnotices. See anyone complaining? I don't. Everyone looks thrilled. Somehow, I'm not surprised. Slashdot posters would react the same if the news got here. This is a Gtk+ app, after all.
I personally feel there is nothing wrong with what the XMPS project is doing. I actually applaud that clever trick and what it allows for users of free systems. I know my free software history: Emacs and GCC were born on non-free systems. They did what they could with what they had. So does XMPS. So does KDE. Hopefully, the situation will someday improve. But in the meantime, the people writing the GPLed code are the good guys and gals... Remember? (I guess not.)
But of course, anyone writing GPLed code and linking it against Qt is a GPL-badmouthing, uptight, arrogant, crack-smoking, gay devil-worshipper. Hundreds of posts and e-mails will tell you that. And I'm not even kidding about the "gay" part, which you know if you have read the comments on Freshmeat. When I see how such troll posts about KDE consistently get moderated up to +5 Intersting, I start looking for the button which allows me to moderate *all* of Slashdot down.
I would trolling if I did not have a point.
PS: I bought a Gnome T-shirt from Copyleft just so Gnome and the FSF would get a donation. Think about that before you write me off as an anti-GPL bigot.
The point is that something needs to change. Right now, KDE is shipping software under incompatible licenses.
I wasn't directing my message to those who think their may be a legitimate legal conflict between KDE and other software packaged together. That, the original issue, seems to be getting lost in the noise of general license flamewars. Seeing that the original issue was pretty well addressed, I was attempting to douse some of the other fires.
FWIW, IANAL, but I don't see any legal conflict with KDE being GPL while Qt is QPL, so long as any distributed KDE binaries are dynamically linked. Section 3 (which covers distribution) says:
"For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
A KDE executable, dynamically linked, contains no Qt modules.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
What is up with the KDE Crew? Don't they see the potiental dangers in there laxed licensing policy? There indifference to fix the problem doesn't reflect well on their project or their direction. Do they really not care?
For me, this is above all other reasons why I'm lery of KDE. Does Troll Tech really believe developers will blindly follow just because they write code?
And I quote (GPL, version 2, section 3):
However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
This is the so-called "system library" exception. Of course, what is a system library? It's a library that comes with the standard distribution (according to the GPL)...
Distributing GPL applications (including KDE) that are dynamically linked to QT is perfectly OK in distributions that include QT as a part of the base OS. RedHat, Suse, Mandrake, TurboLinux, and virtually all distros except Debian include it. Debian does not, as QT is non-free software, and thus does not fit within their philosophy.
Fine for Debian. They hold to their ideals, and that's what they view important. It's hypocritical of them to accuse TT of not bending to their will to change the QT license, though. That's the license, and if it doesn't change, well, there are consequences for Debian users. There's no free lunch, folks.
KDE on the otherhand, needs to be voicing the restrictions that using the QT requires of end-users: that is, KDE should be distributing apps that are dynamically-linked with QT, and also should not be including QT as part of the default install. This is something that the end-user needs to be aware of when choosing to use/not-use KDE.
This leads back to the system-library exemption clause in the GPL: this is totally bogus, since a system library is so ill-defined that I could make anything a system library. Honestly, this clause is so vague that I can ignore the GPL for huge chunks of my code if I just make them into a library (and call it a "system library"), since what is "normally distributed"? And exactly what is a "major component"?
This all leads to my biggest bitch about Licenses in the OpenSource movement in general: somehow, the concept that a standalone library is part of a finished app needs to change. The whole point of dynamic libraries is that the same codebase is shared between multiple apps (well, not the whole point, but one of the major benies...).
We should move towards the following standard:
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
It doesn't really matter if you use Linux for political reasons or not. It just so happens that Debian exists for rather political reasons, so its nonsense to say that they're not serving their potential customer base (or whatever your comment was trying to accomplish). They don't _want_ a customer base of people who disagree with them, they want the people who agree with them to have a good product.
...
I don't use Debian, I use RedHat. Why? Various reasons. Do I like Debian's stance? Yes. I wish that RedHat had started making a GNUer version earlier
- Michael T. Babcock (Yes, I blog)