LWN.net Logo

Oh, What A Tangled Web We Weave ...

Oh, What A Tangled Web We Weave ...

Posted Mar 29, 2009 10:39 UTC (Sun) by ldo (subscriber, #40946)
Parent article: OSBC: Life at the edge of the GPL

... when first we practise to make an end-run around the GPL.

I mean, if it’s that complicated for you to try to make use of GPL code without actually making use of GPL code, why not stick to your proprietary code and be done with it? Or maybe find another business to be in.


(Log in to post comments)

Other people's patents

Posted Mar 29, 2009 15:50 UTC (Sun) by dmarti (subscriber, #11625) [Link]

One big reason for having to avoid creating a derivative work is when you want to introduce a product that includes both GPL code and something that's patented by a third party.

This kind of thing can be tricky for Free Software projects too -- look at the legal section of the GStreamer FAQ.

Is it better to use, and possibly help improve, some GPL code, or have to get a proprietary alternative to everything because you have to get a patent license for one component?

Oh, What A Tangled Web We Weave ...

Posted Mar 30, 2009 4:33 UTC (Mon) by jeffnorman (guest, #57684) [Link]

Just for the record, the GPL (version 2 or 3) does NOT say that you are
subject to reciprocity merely by using the code. It is perfectly okay to
"use" GPL'd code so long as you do not distribute (or, under GPL3,
propagate) a derivative work based upon such code.

It is hardly a tangled web to say that you should avoid creating derivative
works of GPL code if you are not able (or willing) to distribute such
derivative work itself under the GPL.

You can think of this advice in two ways: (a) I am showing clients how to
avoid the GPL, or (b) I am showing clients how to comply with the GPL. But
if "avoiding" the GPL == "compliance" with the GPL, what possible objection
could there be?

Only if you think that the GPL's reciprocity requirement should apply to
any use of a covered work would you believe that the shimming strategies I
discuss would be "wrong," or violative of the "spirit" of the GPL; but that
extreme position, which would extend the GPL's reciprocity requirement
beyond copyright protection, has never been espoused by the FSF so far as I
know.

Another way to think of it

Posted Mar 30, 2009 19:25 UTC (Mon) by dmarti (subscriber, #11625) [Link]

There's one more way to think of it. If you're writing software, how do you structure your interfaces in such a way as to maximize the likelihood that someone developing a product that uses the software will create a derivative work? This might be important if, for example, you're in the business of selling GPL exceptions. So I guess you want to arrange the fields in your structs as artfully and expressively as possible, and use lots of macros that each drop an expressive chunk of code into your caller's project. Or use C++ templates. The number of people who actually understand both software copyright law and C++ templates has got to be small enough that they can drive their hourly rates higher than your GPL exception price.

+1, hilarious

Posted Apr 7, 2009 0:37 UTC (Tue) by xoddam (subscriber, #2322) [Link]

> The number of people who actually understand both software
> copyright law and C++ templates has got to be small enough
> that they can drive their hourly rates higher than your GPL
> exception price.

LOL!

Oh, What A Tangled Web We Weave ...

Posted Mar 30, 2009 20:57 UTC (Mon) by butlerm (subscriber, #13312) [Link]

"I mean, if it’s that complicated for you to try to make use of GPL code
without actually making use of GPL code, why not stick to your proprietary
code and be done with it?"

This, unfortunately, is a live by the sword die by the sword sort of issue.
If by promoting and consenting to legal arguments for an expansive
definition of derived works, free software advocates indirectly persuade
the courts to adopt such a definition, interoperability between proprietary
and free software may become impaired to the point of irrevocable
marginalization of the free software community.

For example, Windows applications do not directly make "system calls" in
the Linux sense. *Every* Win32 application is dynamically linked with a
number of proprietary Microsoft dynamic libraries at runtime. So
regardless of any exceptions free software advocates might want to write
into their own license, the adoption by the courts of the dynamic linking
equals prohibited derived work argument would make running GPL software on
Windows boxes illegal without the consent of both Microsoft and *every*
contributor to existing GPL software packages.

In addition, given the dubious distinction between library and system call
interfaces, it could become illegal to run proprietary software on the same
Linux box with GPL software. If they are both loaded on the same storage
medium, they become a collective derived work, right? What about the the
device firmware or the BIOS? That surely is a necessary part of any modern
computer. Forget the software, what about the CPU design, or the printed
circuit board layouts. Or worse, the hardware and software design of all
devices that are part of the same physical network.

Do we really want a world where companies have to partition their
operations into a GPL-net and a proprietary net, and at a minimum run a
firewall so there can be no possible communication or interoperability
between them? Because that is the logic of where all these expansive
conceptions of derived works are heading - namely tying software and
hardware developers hands so that no system can ever be constructed without
the explicit permission of every producer of every component in the whole
system. The GPL will become a dead letter overnight.

Thankfully "every contributor" already did so... by just applying GPL license to the code!

Posted Apr 2, 2009 9:14 UTC (Thu) by khim (subscriber, #9252) [Link]

So regardless of any exceptions free software advocates might want to write into their own license, the adoption by the courts of the dynamic linking equals prohibited derived work argument would make running GPL software on Windows boxes illegal without the consent of both Microsoft and *every* contributor to existing GPL software packages.

Have you actually read the GPL? Such consent already embedded in both GPL2 and GPLv3.
GPLv2: 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.
GPLv3: The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.

In addition, given the dubious distinction between library and system call interfaces, it could become illegal to run proprietary software on the same Linux box with GPL software. If they are both loaded on the same storage medium, they become a collective derived work, right?

Absolutely true and completely irrelevant. Again: GPL specifically says that it does not care about such cases.

Do we really want a world where companies have to partition their operations into a GPL-net and a proprietary net, and at a minimum run a firewall so there can be no possible communication or interoperability between them?

That's the point of GPL, you know. It specifically says how the firewall must be designed to comply with GPL. And the reason is to avoid marginalization or assimilation of free software. If it said that you can not ever mix GPL and proprietary software in a box - it'll lead to marginalization (as you've clearly described), if it allowed close ties to proprietary software - the door to "embrace, extend, extinguish" approach will be wide open.

Because that is the logic of where all these expansive conceptions of derived works are heading - namely tying software and hardware developers hands so that no system can ever be constructed without the explicit permission of every producer of every component in the whole system.

That's very true but you are forgetting that GPL is such explicit permission and it does include clear demarcation line.

The GPL will become a dead letter overnight.

I fail to see why.

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