|
| Fri, Jul 25th | home | browse | articles | contact | chat | submit | faq | newsletter | about | stats | scoop | 09:00 UTC |
|
login « register « recover password « |
| [Article] | add comment | [Article] |
This editorial by James Ramsey "attempts to counter Troll Tech's apparent misconceptions about the QPL/GPL controversy, and attempts to walk through the GPL to explain why it conflicts with the QPL." Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly. QPL 2.0 is coming. In my opinion, this is a great development that will hopefully end this whole messy controversy with the QPL and the GPL. Why, then, am I even bothering to write this? There are two reasons. First, I've being following the QPL/GPL controversy for a while, trying to sort out what exactly is going on. It has taken me some time to sift through all the discussion and the flames, and one thing I've noticed is that there hasn't been a point-by-point explanation of why the QPL and GPL supposedly conflict. Second, I think Troll Tech only halfway understands why the QPL and GPL supposedly conflict, and if it doesn't fully understand the reasons for the conflict, it may only turn the QPL from one possibly GPL-incompatible license to another. The editorial that Eirik Eng from Troll Tech posted, in my opinion, seemed to indicate a very partial understanding on Troll Tech's part. While I agree with its conclusions that the "patch clause" and clause 6c of the QPL should be nixed, I found that it did a poor job of rebutting the arguments claiming that the QPL and GPL conflict. It seemed to me that Eirik Eng, at least, was rebutting some of the noise surrounding the QPL/GPL controversy, rather than dealing with the crux of the controversy itself. Therefore, I'm going to go out on a limb and try to detail the argument of why the QPL and GPL conflict, based on what I've observed from the various discussions, flamewars, etc. Troll Tech's ObjectionsHere are the objections Eirik Eng came up with to rebut the claims that the QPL and GPL conflict:
I will thoroughly agree that the "Derivative work" case is ridiculous. It also does not correspond to anything seriously argued by Debian. The argument to the "Program" case is actually somewhat closer to what Debian seems to be arguing. However, the problem is not with the meaning of "Program" in the GPL, but rather appears to be with the meanings of the terms "source code" and "module" in the GPL. What follows is my attempt to sort what I've read on the mailing lists of Debian and kde-licensing into some semblance of a coherent point-by-point explanation of Debian's objection to linking QPLed and GPLed software. The Argument for the GPL and QPL ConflictingI'll start with the first part of Section 3 of the GPL: --begin quote--
--end quote-- Note that, in subsections 3a and 3b, the source code must be distributed under Sections 1 and 2 of the GPL. Even in subsection 3c, the source code would have had to have been distributed under Sections 1 and 2 of the GPL, since the recipient of the code would have obtained it from someone who distributed it under subsection 3b, which requires the source code to be distributed under Sections 1 and 2. Section 1 of the GPL is fairly innocuous. In short, what it says is that one may copy and distribute the source code verbatim so long as all the copyright notices and notices referring to the GPL are left intact. The clincher is in Section 2, which states --begin quote--
--end quote-- The significant part is subsection 2b. In order to be able to modify the source code, one must be able to license the source code as a whole under the terms of the GPL. This means that the various parts of the source code must have licenses that either 1) allow relicensing under the GPL or 2) have no restrictions above and beyond what the GPL requires, so that the conjunction of the terms of the GPL and the terms of the licenses of the various parts of the GPL is the GPL itself. (Think of the term "conjunction" in a mathematical sense. The conjunction of the sets {1, 2, 3} and {1, 2, 3, 4, 5, 6} is {1, 2, 3, 4, 5, 6}.) So why would this effect the QPL? If a QPLed work is considered to be part of the "source code" to the work, then for subsection 2b to be satisfied, the QPL would have to 1) allow relicensing under the GPL or 2) have no restrictions above and beyond what the GPL requires. Now the big question is, would the source code to a QPLed library, such as Qt, linked to a GPLed work, be considered to be part of the source code of the GPLed work? This is the crux of the controversy. Here is the part of the GPL that defines what the "source code" to a work is. --begin quote-- The source code for a work means the preferred form of the work for making modifications to it. 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. 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. --end quote-- Is a QPLed library a "module" of whatever binary links to it? I could argue that a library is an off-the-shelf piece of software to be used as a component of other software, and when it is used as such, it becomes a part of that other software, or a module of that software. I'll leave it at that for now. If the QPLed library is considered a module of the software, then unless said QPLed library is normally distributed with the operating system that the executable is supposed to run on, the source code for the library has to be distributable under Sections 1 and 2 of the GPL. Does the "special exception" apply? The special exception states that "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." First off, is Qt "normally distributed with the operating system that the executable supposed to run on"? Many Linux distributions distribute Qt as part of the distribution. However, the main reason they do is so that KDE can run, and the exception for components applies "unless that component itself accompanies the executable" (emphasis mine). Well, Qt accompanies the GPLed KDE executable on the CD of many a Linux distribution, so the special exception doesn't apply. Does the QPL allow software licensed under it to be relicensed under the GPL? No. Does the QPL have restrictions above what the GPL imposes? Yes. There are two that have been the most discussed. First, there's the so-called "patch clause," which requires that modifications must be made in a form that is separate from the Software, such as patches. Second, there is clause 6c, which says that "If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one." (Note that "the Software" refers to Qt, or whatever is the QPLed software "the items" depend on.) Since there are restrictions that the QPL has that are above and beyond what the GPL requires, the source code as a whole cannot be licensed as a whole under the GPL, and so section 2b of the GPL cannot be satisfied. Thus, if a QPLed library is linked to by a GPLed work, and the QPLed library is considered to be a "module" of the GPLed work, then the GPL and QPL come into conflict. The Core Issue of the Argument: "What is a module?"The "source code" for an executable work includes all modules that the executable work contains. "Module" can mean a lot of things, and it is not defined in the GPL itself. How do we figure out what "module" is supposed to mean? The GPL is the brainchild of GNU, so it may be helpful to see how the GNU folks interpret their own terms. The pages of the GNU Web site offer some clues: Their page on what do to in case of violations to the GPL mentions that when checking the facts regarding a possible GPL violation, one should find the answer to the question "Is the available source code complete, or is it designed to for linking in other non-free modules?" The licenses page also refers to linking modules together. It appears from the reference to linking that "module" is almost another word for "library", with the main difference being that "module" is perhaps a bit more general. Further, in the page where RMS argues against using the LGPL for new GNU libraries, he says, "If we amass a collection of powerful GPL-covered libraries that have no parallel available to proprietary software, they will provide a range of useful modules to serve as building blocks in new free programs." Here the terms "module" and the term "library" are used almost as synonyms. Clearly, the people behind GNU, the authors of the GPL, consider libraries to be "modules." It would be wise, though, in the next version of the GPL, to more carefully define "module" rather than rely on the intent of the GPL's authors. Response to Troll Tech and Its ObjectionsTroll Tech is partly right when they say that "it has been claimed that when a program uses the Qt API, Qt becomes a part of that program." The issue is whether the Qt library is considered a module of a Qt-based executable work. Where Troll Tech misses the point is in the phrase "when a program uses the Qt API." The issue hinges on what is going on with the binary, the executable work, and whether the libraries the executable work links to are considered "modules", not per se whether the program is written using the Qt API (although a program must use the Qt API to link to Qt). The answer to the question of "which version of Qt? Windows, X11, or Qt/Embedded? All?" is quite simply "Whatever Qt binary the executable work actually links to." As for the question "Does this also apply to other things? Does the X server become a part of a program that uses X?", the answer may very well be "No, but libX11 does become a module of the program." The intention of GNU seems to be to try to prevent GPLed software from depending on anything less free than the GPL. Eirik Eng also mentioned "de-facto acceptance in the community that one could make GPLed programs using Motif, even before Lesstiff [sic] came along". However, Motif, at least on proprietary Unix, certainly falls under the special exception that "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." Motif is most certainly standard equipment on proprietary Unix; its whole reason for existence is to be the standard GUI on Unix. Further, Motif is not distributed along with any GPLed software based on Motif. Binary distributions of Motif-based GPLed software for Linux, though, may be problematical, since Motif is not normally distributed with most Linux-based distributions, and it would be considered a "module" of said GPLed software. In any case, "de facto acceptance" of a practice does not prove that practice is correct, only that it is commonplace. That said, Troll Tech is on the right track so far with its plans for QPL 2.0. Removing the "patch clause" and clause 6c of the QPL is a good start. However, if Troll Tech does not know why they are doing what they are doing, it may either not go far enough or may introduce new problems with their next version of the QPL. J. J. Ramsey <jjramsey_6x9eq42@yahoo.com> is a contract program student at Pacific Christian College taking courses toward a Mechanical Engineering major at California State University Fullerton. As is almost needless to say, he is not a lawyer.
T-Shirts and Fame!We're eager to find people interested in writing editorials on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an editorial gets a freshmeat t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about.[Comments are disabled]
[»]
GPL vs. QPL vs. xPL Can't we all just get along? :)
[»]
Note from Richard Stallman Mr. Stallman asked me to post this comment for him: "I appreciated your clear article explaining why the QPL and the GPL do conflict. I would like to correct one small point in the article, with the effect of making the argument stronger. You pose this question: First off, is Qt "normally distributed with the operating system that the executable supposed to run on"? But that is not quite the right question, because the words of the GPL are slightly different: ...normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system... Some distributions of the GNU/Linux operating system do include Qt, but that is not what these words are concerned with. They are concerned with whether Qt is normally distributed with one of the system's major components. Qt is not normally distributed with the compiler, GCC, or with the kernel, Linux, or with the window system, XFree86, or with any other major component of the GNU/Linux system. So Qt does not qualify for this exception. I hope that Troll Tech will make the QPL compatible with the GPL, and removing the patch requirement is a big step in that direction, but it is not entirely enough. We've had some discussions about this, on and off, and I hope that eventually the QPL can become compatible with the GPL, but we can't be sure what the future will bring." --
[»]
Linking is non-issue It does not matter how the different pieces of code were separated from
each other -- Only how large groups of code they're distributed in.
[»]
Re: "What is a module?" "Well, it is completely obvious to me that a dynamically-linked
library is not "contained" in the executable work."
[»]
Re: Perspective "What is unstated in the GPL itself, but which is the stated goal by
GPL advocates is the Zeroeth rule: to provide freedom for developers.
"
[»]
"What is a module?" It seems that Jeff's long section on "what is a module" misses a
rather obvious point. As he quotes, the GPL defines source code as
follow:
[»]
A modest proposal... Will the lawyers for TrollTech PLEASE establish
communications with the lawyers for FSF (and Lineo too, if need be) to get
these interpretations resolved and merged into the license tree? Apparently
they're the critical nodes in a by-now very destructive discrepancy.
[»]
GPL, QPL, WhateverL I am really tired of this thing. Everybody has the right to use ANY
license they like to distribute their stuff.
[»]
Confusing the means with the end I think a lot of this debate comes down to people confusing the aim of the
GPL with the text of the license itself. A lot of the arguments have been
very dogmatic, with people making out the GPL is the 'one true license'.
The QPL has very similar aims, but tries to achieve them through different
means. For example the 'What if Troll Tech got bought out' argument has
been used time and again, but this is solved by the Free Qt Foundation.
Just because something isn't GPL doesn't necessarily make it any less free
or useful as some would like to think.
[»]
there's a need of realism I see GPL extremism as a danger for the future of free software. I don't mean there's no problems with the QPL, but I sometimes feel GPL integrists denigrate other licence wihtout real reasons. I'm from Belgium and we are used to compromis over here. I think you never can get exactly what you want, unless you're asocial, egoist and stupid. Don't forget your freedom stops where the other one's begins. I don't want to loose time discussing this license problem, because I don't have the background. I just hope the FSF will put its time where it's the most important. Fighting software patents in Europe e.g...... We don't hear a lot about that from the FSF by the way..... I'm not a great coder, neither a big free software contributor, but I try to be active in the community and I think spending time on serious and immediate threats to free software is much more important(cf freepatents ) I heard some people prefer Hurd over Linux because Hurd is coming from GNU. If we begin thinking like that, free software is lost. Remember that a lot of free software users chose it over commercial software for pragmatic and philosophical reasons. This should still be the case I think. And we shouldn't loose time on little details that aren't worth it......
[»]
Perspective Caveat: I'm Just A User It seems to me that the intent of the GPL is to provide for three forms of protection:
Perhaps I'm missing something in the GPL, but these seem to be the issues the GPL is trying to get at in its (typical for legal documents) convoluted way. What is unstated in the GPL itself, but which is the stated goal by GPL advocates is the Zeroeth rule: to provide freedom for developers. To me, these are two seperate "domains" of issues. The first point is a sort of moral protection; few people want others to benefit from their hard work without some form of compensation. The second two are practical issues, dealing more with protecting people from blackmail of the sort Unisys employed with the LZW patent, and from the "disappearing author" scenario: where do you go if you depend on a piece of software and the author is killed in a motorcycle accident, and you don't have access to the source? I don't know how the QPL addresses any of these issues, although I think that if it provided the same three basic forms of protection, the FSF's position against it would be fatally weakened. The letter of the law is important for resolving disputes, but the *intent* of the law is what is most important in the grand scheme of things. If the letter of the law does not provide for the intent of the law, then the letter is flawed -- not vice-versa. If the GPL, as it appears to my lay perception, restricts a product from *dynamically* linking to an arbitrary library, then the GPL is flawed, because it undermines the zeroeth goal. The GPL *must* restrict dynamically linking to a non-GPL'ed library to protect software from cases (2) and (3), and this is where I have trouble with the GPL -- who is being restricted? Not the proprietary library, but the software developer who wants to use the library. (2) and (3) are important, but it is my belief that the way they are represented in the GPL makes the GPL overly restrictive, which violates the Prime Directive: freedom for programmers. --
[»]
Re: Re: Re: Re: Re: Re: Response by .... "hmm, definitely interesting. Even if the GPL were "fixed", though, it might not be a wise idea to release Qt Free Edition under the GPL. For one thing, this would likely mean that the only free software that could link to Qt would be software licensed under the GPL, since the GPL would most likely still be "viral". This would shut out the possibility of BSD-licensed software linking to Qt, or even LGPL'd software, which would throw another monkey wrench into KDE's licensing, since the libs of KDE are LGPL'd so that proprietary software developers could use them. "
The solution to that is an extended QPL that has one additional paragraph. Something along the lines of "if you want to, you can relicense the code under the terms of the GPL V3".
Ok, that's it for me. For further questions, don't hesitate to send me an email, Jeff.
btw: you were right with the typo, I meant "GPL" not "QPL". No such typo in this comment, though.
[»]
Re: Re: Re: Re: Response by .... "It only sounds like it? That was what I was saying. And not only me. Did you look at the Lineo webpage I was referring to?" I've just read the Lineo web page. I especially liked the following: "a program which uses a library is generally not a derivative work of that library". I don't think this is right. You probably know the LGPL. The main point in which it differs from the GPL is that you may include code from header files within your program without any restrictions. I don't think that a program which uses a library is a derivative work of the whole library - even if the GPL somewhat implies this, it's simply ridicolous. The program is however clearly a derivative work of the library's header files. It makes use of the types, classes etc. defined in the header files. If you'd write a complex class hierarchy (no implementation) and someone copied it, would you call this copyright infringement? If the answer is yes (and I guess it will be), you may not copy (or use) it without a license from the copyright holder. If that license happens to conflict with the GPL, well, that's your problem, you can't use the GPL. If that license happens to be the GPL, that's your problem, your program has to be GPLed as well. What you're saying is basically that copyright law does not apply to header files. This is ridiculous, and it doesn't become less ridiculous because Lineo is saying it, too. Besides, if you insist on that position, may I please use Qt Free Edition to write proprietary software? If the program I write is not a derivative work of Qt, I don't need any license from TrollTech, do I?
[»]
Re: That's eGNoUgh pompousness, thank you. "James Ramsey: You actually imply that Mattias made a typo with his
use of "GPLed"? So, you (and other RMS disciples) think that all
software should be "GPL'd" (GNU Public License'd)? Picky, picky,
picky. This mentality seems to sum up the personae of the GPL zealots. It's
not [sic] -- it's sick. "
[»]
Re: The problem is GPL, not QPL "IANAL, but I seriously doubt the infection conditions in GPL will
ever stand up in a court of law. I can GPL a program that uses a non-GPL
library/module/code snippet/whatever and thereby force the vendor to give
the world the source and to give up all future compensation for their
work?"
[»]
Re: Re: Re: Re: Re: Response by .... >It sounds like what you are saying is that despite the FSF's
[»]
Re: Not Again - Matthias Thanks for the clarification. The distinction between free beer and free
speech was not clear to me in the QPL after several readings. Maybe it
should be made clear there.
[»]
The exception of OS modules I'll express a thought about the following paragraph from the article:
[»]
A copyright can only apply to the work of the author These arguements are purely wrong. You have not consluted a lawyer and it
shows. GPL can only be applied to source code that is in fact under the
GPL. It does so, because the author of said program copyrighted the
program under the GPL. Troll Tech has not licensed their work under the
GPL. So, are not bound by the GPL. As an author of a deriviative work of
a GPL program, I must license my work as GPL, but I can not impose any
licensing on to another authors work.
[»]
That's eGNoUgh pompousness, thank you. Most of us are tired of this license shit. Unfortunately, some people
thrive on conflict and finger-pointing. Forget baseball, the national
pastime in the USA is finding fault in others.
[»]
The BSD License I'll agree that the BSD/MIT licenses are preferable to the GPL, but please don't use the BSD version with the ad clause. As the FSF has correctly pointed out, that's a real nightmare for people who distribute collections of software.
[»]
Whats the point? You would think no one in their right mind would waste this much effort on such a complex, and viral license. Just release the thing under a BSDL and BE DONE WITH IT! I mean for crying out loud how long has this been an issue?! I have to wonder about a company who wastes this much time on a less free license IMO than the BSDL. Its their choice, but I mean just how long are they going to waste on this issue. *boggle*
[»]
Re: GPL and libraries The FSF clearly intended that GPLed libraries would not be usable to make proprietary programs. That is why they created the LGPL originally-- to allow libraries to be used outside of the Free-Software environment. If lawyers claim that the language of the GPL does not make this apparent, then it is a serious flaw in the GPL, and the FSF needs to update the GPL to make that particular point clear. And since the GPL was also written by lawyers, we have two sets of lawyers with differing interpretations of the law. It sounds like we need a court case to settle this, once and for all.
[»]
GPL and libraries. The FSF clearly intended that GPLed libraries would not be usable to make proprietary programs. That is why they created the LGPL originally-- to allow libraries to be used outside of the Free-Software environment. If lawyers claim that the language of the GPL does not make this apparent, then it is a serious flaw in the GPL, and the FSF needs to update the GPL to make that particular point clear.
[»]
Is it all academic? There's been lots of arguing about interpretations and meanings etc. but
what does it all mean in practical terms? I'm not going to try and add to
either side of the argument, I'm just curious about what will happen when
one side or the other is proverd correct. As far as I can see, no matter
who is right, we can continue to distribute these apps. There are 2/3
implications that I can see depending on who's arguments are correct:
[»]
Re: Re: Re: Re: Response by .... It sounds like what you are saying is that despite the FSF's protestations, a GPL'd library *can* be used to create proprietary works because all the module stuff the GPL refers to is nonsense. It only sounds like it? That was what I was saying. And not only me. Did you look at the Lineo webpage I was referring to? I'm not sure, but it sounds like what you are saying is that Troll Tech would be willing to relicense Qt under the GPL, if it was clear that the GPL would actually prevent the Qt Free Edition from being used for proprietary software. Am I getting closer or more and more off base? No, you are getting closer. You just repeated what Eirik Eng wrote in his Freshmeat editorial and what I tried to explain twice today.
[»]
RE: Not again "Free" in Qt Free Edition means free speech, not free beer. You don't have to write "charity ware", as you put it. As long as you GPL the code you are writing with Qt, you can sell it for all the money you get, without paying Trolltech a single cent. The freedom part of it is that your customer can distribute your software freely, i.e. without paying you. Actually GPL and QPL is exactly the same in this respect.
[»]
Who chooses the licence? Okay, you can solve this entire argument very easily. All you need to do is understand this: The author chooses the licence for their own software. Not for anyone elses. The user does not get to choose a licence for the software produced by others. If you don't like someone else's choice, bad luck. Okay, now what is the problem with this? Why do people think that QT must adopt the GPL? People don't need to understand anything about the QPL, GPL or anything like it. The question is who did the work, and who has the right to determine how to distribute it. All you GPL puppies who think you can make this sort of demand from anyone should take a long hard look at what you think you're doing.
[»]
Re: Re: Re: Response by a Troll ;-) "James, you keep mixing FSF or GPL terminology with legal terminology.
Just assume for one second that not everything in the GPL is enforcable or
does make sense and reread my answer to your editorial."
[»]
Re: Linking and licences "The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source code
means all the source code for all modules it contains, . . ."
[»]
Not again! There are two different issues involved here. The first is the legality of
including Qt in Linux distributions along with GPL works which link to them
like Kde. The second issue is the wisdom of using Qt as a development
environment.
[»]
Re: Re: Response by a Troll ;-) James, you keep mixing FSF or GPL terminology with legal terminology. Just assume for one second that not everything in the GPL is enforcable or does make sense and reread my answer to your editorial. "true, it doesn't affect how one can distribute Qt; however, it *does* affect how or whether on can distribute the program itself." Careful. A license like the GPL is purely based on copyright law. It can only put restrictions on copying the work or a derivative work. It may talk about modules and other things, but if those modules are legally independent, it's really just meaningless words. "I'm not sure what this means. Maybe you could clarify? " I thought I was clear enough (and that Eirik Eng was clear enough). Judging from the reactions, we probably were not. Ok, I try again. Trolltech's business idea is to provide top-quality development tools for programmers. Free software developers on Unix should be able to use all our tools for free if they write free software. If they write proprietary commercial software, we want them to buy a license from us. Thus commercial software development immediately supports free software development and in return gets well-tested development tools with a broad developer base. It's really a win-win situation and it works pretty well. Now, in order to make this possible, the Qt Free Edition needs a license that clearly states that it can only be used for free software development. According to Debian or the FSF, the GPL is such a license. And many people were wondering why Trolltech didn't use the GPL for the Qt Free Edition, but rather a home-brewed license, the QPL. This I want to explain. Imagine - just for a second - that Qt Free Edition was a GPLed library, ok? Now somebody writes a big proprietary application and starts selling and distributing it, without source code under a traditional commercial license. This application uses the QPLed Qt Free Edition and they ship it together with the Qt Free Edition. Now the question is: Can they legally distribute their proprietary application or not? Debian and the FSF would say: they can't! Everybody else says "they can!". And why? Because the module stuff you were talking about seems to be legal nonsense. Now I'm not a lawyer and not at all an expert in international copyright law (and neither are you), but that's what we were told and what for example Lineo states on the mentioned web pages. Can you see the problem now? Trolltech would like to end the arguing with the free software community by making it possible to relicense Qt under the terms of the GPL if the GPL really worked for libraries. What we need is a GPL V3 that fixes the bugs. This new version probably should also contain something like the QPL 6c, as this clause really helps forcing companies to contribute if they were using free software. Ironic, isn't it? As it stands today, the QPL is a much better free software license than the GPL.
[»]
Linking and licences Much is made of what the Free Software Foundation intends the GPL to mean. However, what it actually says is more important, and the intent is only to be examined in the event of ambiguity. The GPL says The source code for a work means the preferred form of the work for making modifications to it. 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. 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. Reading this, it seems to me that if I write a program dynamically linked to the Qt libs, and distribute the source code without including the Qt libs, I can put my work under the GPL without conflict.
[»]
The GNU Public Virus I have to agree with Mathias on this one. GPL's insistance on changing every licence over to itself is what first got it called the GNU Public Virus in the first place. I think what we are seeing here are the consequences of Richard Stallman's fanaticism. Don't get me wrong; The FSF has accomplished a great deal. But the real problem between QPL and GPL is that Stallman has never been able to accept even the slightest dissent from his own point of view. If I understand correctly, the goals of QPL and GPL are very similar. The critical difference is Richard Stallman see's no room whatsoever for other points of view. Think of it this way. We all have to ask ourselves if our way of live would make it hard for us to get along with other people that live the way we do. Then we should ask ourselves if there is a truely compelling justification for giving up on coexisting peacefully in the face of each viewpoint difference or lifestyle difference that we cannot accept. In other words, is it really healthy to demand that others see things exactly as we do, or should we attempt to coexist peacefully with other viewpoints and lifestyles whenever we can. All this is as important in the programming business as it is in life in general. If Richard Stallman can't tollerate this slightly different way of encouraging free software, is it really QPL that has to change? What about the next slightly different point of view that comes along? Must we all tote exactly the same party line before Stallman will work with us? Again, I don't want to belittle what Richard Stallman and FSF have done for us; But, is it really necessary to squash all differences in point of view, no matter how small, to advance the cause of Free Software? This message is in the Public Domain, and is NOT covered by the GPL. Adrian
[»]
Re: Response by a Troll ;-) "It may very well be that the GPL wants to include utilized libraries
[»]
BSD License I don't use GPL for my code either, my license of choice is BSD. If they will use my code in proprietary software, it will be stated in the docs and I will know I produced a good piece of code. If they put nice features in it, I will reproduce it if I can, if not someone else will and the source will improve. Nobody's wrong in charging for code, it's their living, damn.
[»]
Re: Dynamic linking "Thus, as long as you never distribute a binary, or source, which is
made up of a GPLed work, and a non-GPLed one (e.g. a QPLed one), you are
totally within the law. Thus, from what I understund, you are allowed to
use non-GPLed library in a GPLed program, as long as the headerfiles of
e.g. Qt, are GPLed, and the linking is either done at installation time, or
at run-time, so that a derivative work is never distributed."
[»]
A Solution Stop using the GPL as the licence to your new programs. Use something
else, keep people from using your code in proprietery works if you have to,
but don't try to keep them from using other free libraries with it.
Otherwise the code is NOT free, it is restricted to what a few big mouthed
brats think it should be....or what your high paid lawyer can prove.
[»]
Hm, annoyed by Qt stuff As a user i am very annoyed by the "fight" between QT and others
about the implementing of their Licences. Ok, fight yourselves to death....
I don't care! I just care about good free software.
[»]
Response by a Troll ;-) It may very well be that the GPL wants to include utilized libraries into its understanding of a program or a work as a whole. But how is it supposed to do that legally? Take a piece of code that's under the GPL and has nothing to do with Qt. It's hardly a derivative work of Qt nor is Qt a derivative work of this piece of code. Now you take this code and put it into a Qt program. This program isn't a derivative work of Qt either nor is Qt a derivative work of this program. How can the license of this piece of code then have any influence on how you have to distribute Qt? In fact it can't. Believe me that Trolltech spent a significant amount of time with the perceived licensing issue and is very aware of both Debian's and the FSF's position. That doesn't mean those positions are correct, though. As Eirik Eng pointed out in the statement on Freshmeat a few weeks ago, neither the GPL nor the LGPL legally protect libraries. There's no real legal basis for assuming that no proprietary software is written and distributed with a library under these licenses. This conflicts with Debian's or the FSF's interpretation of the GPL, however it is what all lawyers we talked with keep telling us. Have a look at http://www.lineo.com/products/ for a second opinion. Again: if the GPL would do what Debian believes it does, Trolltech would allow relicensing Qt under the terms of the GPL. But as you said, in the free software community it all boils down to intention and purpose. For me as a developer, the right to use software for free for free software development, the right to read the source code and to modify if required and the freedom to distribute my modifications are the most important ones. Qt gives a developer all those rights and thus I saw and I see it as a good choice to write free software with. It doesn't reduce the amount of freedom in the world if somebody writes free software with Qt and it is for shure not a criminal act. In fact, KDE - within just two years - increased the amount of free source code by something like 2.500.000 lines of high quality C++ code. Code that would not have been possible without Qt. Code you can use in any free program, free of charge. And this code has indeed been reused. Take for instance the GTK html widget: it's a port of the original KDE html widget written with Qt. To sum it up: All of KDE's code is part of the free software pool. There's really no reason to blame KDE for writing free code and there's no reason to keep users from using this code. This is a personal statement made by me. It doesn't necessarily represent the position of my employer (Trolltech).
[»]
What's a module? What's linking? I don't think it really matters what was intended when the GPL was written;
for the most part, only the writing itself matters. So,
"module" is still incompletely defined. In fact, it is not
implausible that the definition was left intentionally vague to make it
harder to circumvent. (If it was defined in detail, it might be possible
to get around the letter of the GPL with minor cosmetic changes to source
code.)
|