LWN.net Logo

GPL and linking

GPL and linking

Posted Feb 16, 2006 8:19 UTC (Thu) by khim (guest, #9252)
In reply to: GPL and linking by proski
Parent article: On the dual-license model

Can we consider the latest Oracle investments as a confirmation that the linking clause in GPLv2 would likely hold in the court of law?

No. This clause is almost totally irrelevant to dual-licensing model.

I think you are mixing issues. Consider two samples.

1. I created nice MegaPuperProgram - and it can use libreadline if it's already installed on target system. I do not distribute libreadline itself. Can I distribute my work legally ? Who knows. It's not clear if my work is derived work of libreadline or not. Especially if my program is perfectly functional (but without command-line editing, of course) without libreadline.

2. I've created my SuperPuperProgram and have put MySQL in the same package (may be on the same CD or merely in the same box) and claim that even if my SuperPuperProgram is not usable without MySQL it's not GPL-violation (since I've used old LGPL'ed mysqlclient drivers or something). Hmm... Interesting. Box with SuperPuperProgram and MySQL is clearly derived product of MySQL. And you can only distribute MySQL in package if it's "mere aggregation". But if your program is not functional without MySQL... then how the hell can you call it "mere aggregation" ?

Think about it: when dual-licensed MySQL (or QT, or something else) is used you are firmly in situation number 2 for 99% cases. Where "linking clause" of GPLv2 is irrelevant. If you are distributing box with two totally unrelated packages (Apache and Bash, for example) - you are still distributing something derived from Apache and Bash (think about verses collection - you need specific permissions from all copyright holders and if poet B is loathing poet A and does not want to see such collection - you are stuck; no linking - verbs are totally independent from each other). Then. How the hell you can distribute RedHat Linux at all ? Oh, it's easy. With GPLv1 - you can not. With GPLv2 - you can since "mere aggregation" exception clause was added fifteen years ago. But it's kinda hard to claim that MySQL and your SuperPuperProgram are merely aggregated on the same media if your SuperPuperProgram is unusable without MySQL...

In short: dual-licensing model depends on differerent part of GPLv2. On limits for "mere aggregation" clause - and that's totally different story. This is why clarification about inability to use dynamic linking to avoid GPL requirements is in appendix: it's just explanation, not something required by GPLv2 machine - it'll work just fine without any appendix at all.


(Log in to post comments)

Derivative works vs Compilation works

Posted Feb 16, 2006 11:16 UTC (Thu) by hummassa (subscriber, #307) [Link]

What defines derivative work on many jurisdictions is not the presence of
a work inside another, but the process of a transformation that made the
first work become the second one.

Classical example of derivative works: translations. You get Harry Potter
and the Goblet of Fire and re-write it in Kadiweu. The original book is
transformed until you get the derivative work.

The right to *make* (not only distribute, but *make*) derivative work is
one of the monopolized rights by the copyright owner, and it can be
granted to a third party under any terms the copyright owner deems fit.
Like: "yes, you can make a derivative work of my book if you sacrifice
your firstborn under the blue moon".

Other example: fanfics. When you get the body of work of Star Trek, for
instance, and transform it, making another story that re-uses the
characters and mise-en-scene, you are transforming a body of work into a
new body of work (the Trek universe containing your story). Many
publishers close their eyes to fanfics that are made not-for-profit, but
don't try to publish a Trek book without Paramount's permission!

Ah, and once you have the permission to make the the derivative works --
albeit the copyright of your work is Yours -- you still have to follow any
dispositions by the original work's copyright owner about its
distribution, etc. (THAT is how the GPL works)

Now, the act of distributing a number of copyrighted works in a collection
or compilation has completely different implications. For example, when
you distribute a compilation work, you must still abide to the licensing
terms of each individual work, but you are not the copyright owner of the
compilation -- you are the owner of the abstract "selection and ordering"
that you have defined to compile the works.

All in all, your program being functionally dependent on mysql or not does
not define a derivative work (the principles of abstraction, filtration
and comparison would weed out -- in principle [this can be held not true
for some special cases] -- the derivation), and IMHO, any aggregation is
"mere", independently of functional dependence -- this, because, legally,
the set of "your work + mysql" is just a compilation work.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds