A great many more people than have ever seen this thing before are seeing it now for the first time, so here's a little recap. Note these events are as I see them, not necessarily as they are. Facts may be wrong. If you disagree, tough--the point isn't this but what comes after. Flames to /dev/null, constructive comments and suggestions I want to hear. Buyer beware. Objects in mirror are closer than they appear. Slippery when wet. Eye protection required. You get the idea. => First, we hear there's a big rumor about Troll Tech and Qt, the rumor is they're about to announce Free Software Qt. We're pleased by this, if a little skeptical. Less than 12 hours later, the rumor is confirmed and there is a draft v.9 of the Q Public License. People are already complaining, but most people are at least complaining for reasons other than the license for a change. Within 24 hours of the announcement it is determined the license is not compatible with the GPL. It's mentioned the license doesn't fit the Open Source Definition either, but Eric Raymond is ignoring where it doesn't comply and Bruce Perens is talking about changing the OSD so it does comply as is. I remain unconvinced it is non-compliant, it still looks okay to me with the obvious exception that the GPL isn't compatible with the patches only clause in the QPL. Several others have complaints over various bits of wording, but they aren't problems with the license, only the wording. Multiple sources report back to those interested in doing more than bicker about it that Troll Tech is interested in the collective view of Debian on the license, they really want to work with us and Make It Work. I grab lynx and -dump the qpl and start tweaking. Discussion dies down on debian-devel and we have determined there is a potential exploit in the QPL which could lead to Qt becoming BSDish. We agree that this would require a serious lack of morals, but if someone did it Troll Tech would be unhappy with the results. We also agreed that the biggest thing keeping the QPL from being GPL compatible was section 3. In my attempts to come up with something worthwhile, I confirmed these were essentially the goals of the QPL with someone at Troll Tech: 1. When someone downloads Qt, they should be able to tell immediately if it's original source or not. The best way to do this is to have patches be the form used for modifications. 2. Anyone wanting to should be able to modify Qt. They can't screw with licenses or Copyright notices or otherwise through use of their patch become somehow able to use Qt under the QPL for non-free software. If you want to do that, pay Troll Tech for a license that allows it. 3. Troll Tech should be able to apply user-submitted patches and mods to Qt and still be able to sell the result the way they were before. This is similar to Netscape's needs with Mozilla's code, other than that they don't want to sell a non-free binary which happens to have features they can't legally make free such as Java and SSL, they want to sell the same source they license freely but allowing its use with free and non-free applications. If they can't make a profit and be GPL compatible, they want to make a profit. IANAL, but my opinions after consulting some info on (US) Copyright law is this: 1. License cannot control distribution of independant patches. In order to have any binding control over the license of a patch, it has to be applied to the source. If someone didn't want Troll Tech to use their patch, they will be able to make sure they can't, regardless of what any of us do. 2. As to Qt being converted to BSDish license by a malicious people who want to use Qt for non-free code without paying Troll Tech is probably possible, though whether or not they get away with it depends on how much they pay the lawyer when Troll Tech hears about it. Might have been cheaper to just pay Troll Tech in the first place. => The fact that a good number of people see it as possible was need enough to plug the hole. 3. Another problem less talked about on debian-devel was that you could not put Qt into CVS or use it with any packaging system that did not allow seperate source and diffs like Debian's dpkg uses. Possibly you could argue that changing the format from .tar.gz to something else would also be not allowed. 4. Most of the little changes to wording people suggested were harmless and did improve things. 5. It'd still be cool to have a license that was compatible with the GPL if possible. It might not be possible, but if it were possible I was going to try. The first try at changing the QPL (attached as qpl-mod-v1) was done in a pseudo-diff format. It was messy and rough, too rough. This was almost intentional since it was my desire to do this as a group effort. It got a few replies and applying the suggestions I got it was STILL rough. I set that aside and started from a fresh copy of the QPL and made 6(c) grant explicit sublicensing of Qt to GPL. This would GUARANTEE the thing was GPL compatible, but I realized immediately this was opening a can of worms since the only way to word such a clause allowed the same thing the BSDish licensing of patches did: A chance for someone to fork off a version of Qt which Troll Tech could not sell with their professional license which allows building on non-free apps. I let it go for the moment and worked on other parts of the license, dropping the lame pseudo-diff format. The results of that are attached as qpl-mod-v2. After passing v2 around, I was really starting to feel time running out I felt a need to not wait a couple days to fix the known problems with v2. This morning on irc I got the assistance of dark (Richard Braakman) and we hashed out a few issues he had with v2 along with those I already had with it like 6(c) and here is qpl-mod-v3. This is probably GPL compatible without 6(c) which has been totally removed. It holds to Troll Tech's stated goals as well as I could reasonably get. What it really does that the original .9 draft did not is: 1. Mods can be applied to the original tree, though patches are still preferred where practical. A step closer towards GPL compatibility and it fixes the problem of people who want to put it in CVS for some reason or package it in some oddball format we've never heard of like slp or something. <hides from Stampede people, grinning> 2. Since it is my belief above based on available evidence that we can't control the license of a patch, there is no attempt to do so. Instead, I essentially say "you should use the QPL for your patches", though GPL people will probably license code as QPL _and_ GPL as they do with Mozilla patches now. Mozilla has shown us that this is even possible and that the Free Software world will do it the way you want if what you want is not unreasonable. 3. Code released under the QPL as a mod to Qt will be considered fair game for Troll Tech to be able to sell under their professional license. The user gets a promise that a free version will still be available in exchange for this. Troll Tech can incorporate your patch as long as the result is still available. It's more or less what Netscape wanted with Mozilla so it's not new. 4. As a result of how things are not required but simply preferred, you can use Qt under the QPL in a GPL application whether you wrote it or just happened to port it to Qt. The QPL does not have any conditions or restrictions not in the GPL because the above are OPTIONAL even if requested. Permission should not be an issue any longer. 5. I don't care who you are, this license is Free Software. Even if your views of "free" are more militant than RMS' own you should not have a problem with calling this license free. <g> What hasn't changed: 1. The license still leaves the future of Qt in Troll Tech's hands, at least as far as proprietary applications of it are concerned. What is done with it as far as the Free Software community is concerned is in our hands. 2. Some people will not like Qt or KDE or both, but now they have to get a better reason than license to complain. They'll still whine that KDE is bloated or that C++ is evil or whatnot. 3. <whining> C++ is EVIL! What can't change? You can't patch in GPL code you didn't write. Well, you could yourself, but you can forget Troll Tech including it in the next version. It just won't happen because they can't sell a version of Qt based on it. If you are intent on doing this, get the author(s) of the code to grant permission to use the code under the QPL as a patch for Qt and therefore able to be sold by Troll Tech. If you can't do that, you probably should be making your own library which uses Qt and possibly inherits functions or something. As long as Copyright law exists there will be annoyances like this. Deal with them. => ------  I'm very soon to be needing to return the monitor on this machine, it was borrowed from another machine which has been headless while I've had the monitor and the owner needs it back in the next day or two. I can't afford a new one and haven't gotten lucky enough to find a cheap used one yet either. If I cannot find one, I won't be back till Jan/Feb 1999 when I can afford to buy a new one. =< If I can, I'm trying to finish my work on the QPL before then. If anyone knows where I can find a cheap svga monitor in the Modesto, California USA area REAL SOON, I would _greatly_ appreciate it if you could pass this info on quickly! -- Show me the code or get out of my way.
Description: PGP signature