[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Proposed QPL mods - 3rd try



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[1] 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.  =>

------

[1] 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.

Attachment: pgp46yhf1LSa1.pgp
Description: PGP signature


Reply to: