conducting a sane and efficient GPLv3, LGPLv3 Review
alexander.terekhov at gmail.com
Wed Aug 1 04:38:29 UTC 2007
On 8/1/07, Rick Moen <rick at linuxmafia.com> wrote:
> Quoting Lawrence Rosen (lrosen at rosenlaw.com):
> > I agree. GPLv3 is obviously OSD-compliant. Let's get right to the point. It
> > is an open source license, even if RMS prefers to use a different name for
> > it. :-)
> Indeed, I think what you say is abundantly obvious, and doing anything
> else would merely waste everyone's time.
Yeah, time aside, Google search yields this:
Question: You have said that one of the best things about the latest
draft of GPL v3 is that it allows its software to be used in
aggregations, which, as I understand it, do not trigger the requirement
that the other software must also be released under GPL v3? Can you
explain how that works?
Rosen: I'll try to do so. It really has to do with something that's in
the copyright law as well as something that's in the GPL. When you put
two works together, you can put them together in a number of different
ways. For example, you can build a collection of the greatest poems of
the 20th Century and put them together in a book. Each one of those
poems is written by its own author, has its own copyright, has its own
license terms. The publisher may or may not allow you to put that poem
in a collection of the greatest poems of the 20th Century. That's an
aggregation, and assuming that the authors of the works or the owners of
the works authorize you to put copies of the works into a collection
such as "Greatest Poems of the 20th Century," then you're allowed to do
Rather than trying to prevent software from being used if it has
patents in it, we ought to find ways of living with the patent problem
that exists — including companies like Microsoft that have patents and
other companies that have patents. I'm not sure that the way the GPL v3
tries to deal with patents is actually going to solve the problem."One
of the things about the GPL is it contains an explicit provision that
says you can make verbatim copies of GPL works and include them in
aggregations. What that means is essentially the same thing that the
copyright law means by this permission to create what is called
"collective works," or works like collections of poems. So, for example,
you can have collections of modules, collections of drivers, collections
of software that can be under various licenses. So long as those
licenses, like GPL v3, allow you to take verbatim copies and include
them in aggregations, that's fine.
Question: And the new GPL now allows Apache licensed software to be used
in GPL projects, correct?
Rosen: Correct, but that's a different kind of combination, and we need
to be very careful to distinguish what I just described to you in terms
of collective works or aggregations, from the kind of combinations that
are allowed with Apache works. The thing that GPL v3 allows is that you
can take an Apache work, and modify it as the Apache License allows, in
order to fit it into and have it become a part of a GPL v3 work. For
example, you can create a GPLv3-licensed version of a Web server or any
other Apache software. You can release that software under the GPL
license because the Apache License and the GPL v3 are compatible. I
didn't say that you could do that kind of thing with other works in
aggregations. An aggregation is a little bit different. The Apache
compatibility is this ability to take Apache works and embed them into
and modify them for, evolve them into, GPL v3 works.
Question: But the same isn't true — you can't take a GPLv3 work and
embed it into Apache-licensed works, correct?
Rosen: No, you can't.... Well, again, it depends whether what you're
talking about is an aggregation or a more complicated — what I call a
derivative work. If all you're creating is an aggregation of modules,
you can combine Apache modules and GPL modules and any other modules, as
long as [the licenses] allow you to do that. And with respect to Apache
works being merged into a GPL work, that's allowed. But a GPL work being
merged into an Apache work? No. That can't be done.
Question: Why the difference?
Rosen: The difference is that the GPL license says — both v2 and v3 —
that if you create a derivative work, that derivative work must be
licensed under the GPL. So if I take an Apache work and mush it together
with a GPL work, the resulting work has to be GPL.
Question: Similarly, you've said that your least favorite terms in the
new GPL are the ones that deal with patent protection. The Free Software
Foundation, from what we've read, has been pretty clear that was
included in the new GPL specifically to prevent agreements like the one
between Microsoft and Novell from happening again. Why do you think they
took that particular approach, and what in your opinion, would be a
better approach to dealing with those issues?
Rosen: Well, it's a very complicated question. I think certainly the
authors of the GPL can specify any rules that they want with respect to
their software. If they don't like their software to be combined with
software that other people produce or with patents that other people
have, they're certainly free to do so.
My concern is that the software world is being inhibited by software
patents. Rather than trying to prevent software from being used if it
has patents in it, we ought to find ways of living with the patent
problem that exists — including companies like Microsoft that have
patents and other companies that have patents. I'm not sure that the way
the GPL v3 tries to deal with patents is actually going to solve the
(GPLv3 myth#2: You can't mix GPL software with other software)
In his "Comments on GPLv3" essay, open source attorney Lawrence Rosen
writes that he believes this clause can even be used to combine GPL
licensed code "modules" with code from other licenses even in the same
program, though I think that's a bit of a stretch. When I told Larry
that he responded:
Stretch away. If you mean the term "module" is a "smallest unit of
compiled object code," then perhaps it is not copyrightable at all.
But in the general sense I meant that word as applied to larger,
commercially and computationally significant copyrightable works, such
as "a database module" or a "file system module," that contain
significant copyrightable expressive content. If those
independently-written copyrighted modules are used in a collective
work (a larger computer system), and both licenses permit verbatim
copies to be aggregated in that way, then I consider that a permitted
collective work. There is nothing derivative about it (unless,
perhaps, the resulting larger work is intended as a replacement
database or file system module for the originals, but that's a factual
issue relating to derivative works analysis).
I don't agree with this argument because the combination would be
possible not just with Apache licensed code, but with code covered by
any license, even proprietary, closed source code. I don't think RMS
(Richard Stallman) would agree either. To this, Larry replied:
He doesn't. But he wrote GPLv3 and he must now live by the words in his license.
We have added these words to the aggregation clause to eliminate any
question that GPLv3 alters the scope of the copyleft as understood and
applied under GPLv2. In GPLv3, as in GPLv2, addition of modules or
other parts to a program results in a new program based on the old
program, with different functional characteristics created by the
merger of two expressions: the original program and the added parts.
Such added parts are "by their nature extensions of" the old program,
and therefore the entire new program which they and the old program
form must be licensed under the GPL. As subsection 5c states,
packaging of a work has no bearing on the scope of copyleft.
Is there any followup to this exciting development of Rosen-vs-GNU wisdom? :-)
More information about the License-discuss