[SciPy-user] Re[2]: ANN: Veusz 0.5 - a scientific plotting package

Joe Harrington jh at oobleck.astro.cornell.edu
Tue Apr 19 14:28:44 CDT 2005

> Can I legally distribute sqw.py separately under the BSD (or
> some GPL compatible license)? 
> So why should sqw.py be
> > distributed as GPL code in the first place? 

> Some interpretations of copyright law (e.g. Larry Rosen's) say that no, 
> it doesn't have to. The FSF's, Trolltech's, and Riverbank's say 
> otherwise.

If FSF et al. really say this, they're dreaming.

Who says that the "Qt" library that it is going to be run with will be
the one they know about?  There are numerous clone products that
provide API-compatible functionality under different licenses, and in
fact this is the main business of the FSF.  GNU really is Not Unix, in
an IP sense, even though many of their program can be and frequently
are compiled, linked, and run on UnixTM systems using native
compilers and libraries.

There is a distinction to be drawn between two types of "modified
code".  In the first instance, you take some source code from someone
else and modify those actual lines of text.  In the second, your
subclass *asks the compiler, linker, or interpreter* to modify or
extend something that the compiler defined due to instructions from
elsewhere.  The first case is certainly a derived work, and falls
under the terms of the parent document.  You used someone else's IP to
make something new.  GPL demands that you use GPL to license the
derived work.

As I understand it, the second is not a derived work *in its source
form*, because you didn't start with or include substantial sections
of prose or code someone else wrote.  Rather, you wrote instructions
for a compiler, possibly run by someone else, to do a modification to
a construct it knew about.  You do not know the user's license status
with respect to Qt, or which Qt the user will choose.  At compile or
runtime, those terms may require that the *combination* of the parent
library and your modification be licensed under terms of the parent
library, so if you want people to be able to run your code you had
better make your terms compatible with the terms you expect the user
to have.  However, there's no law against my writing a Qt clone under
my own license and using that library with your code.  In that case,
it would certainly not be subject to the original Qt license terms,
since I wouldn't be using Qt at all.  Your instructions to the
compiler would be applied to a different set of code from what you had
originally envisioned.  Any runnable program would now fall under both
your and my terms, as opposed to yours and Qt's.

My point here is that you can write any text you like, and as long as
it does not include text someone else wrote, it's yours and you can
distribute it under any terms you like in its source form.  In this
case, it's only when your IP gets combined with someone else's stuff
to make a third product that a derived work exists.  So, you could
offer the user a choice of licenses.  Those who did in fact use the
GPL'd Qt might have to choose GPL, but others could chose from the
full range of options.  The latter category might include those who
would replace the Qt calls with calls to another library, or those who
would take pieces of the code and include them in their own packages.

Like Robert, I like Rosen's book, and IANAL.


More information about the SciPy-user mailing list