LWN.net Logo

cdrtools - a tale of two licenses

cdrtools - a tale of two licenses

Posted Aug 13, 2006 20:42 UTC (Sun) by ewan (subscriber, #5533)
In reply to: cdrtools - a tale of two licenses by dmantione
Parent article: cdrtools - a tale of two licenses

No, they contributed code to the main body of the program. They did so
under the GPL, which requires the build scripts to be made available
under the same terms. Unless the distributor complies with that condition
the permission to distribute the covered work is taken away.

You're still hanging onto this idea that the only thing that counts is
copyright law itself, and that the terms of the licence mean nothing. The
point of copyright in this situation is to say that you can't distribute
someone else's work without their permission. It has nothing to say about
what you have to do to get their permission. In this case you have to
distribute the build system under the same terms, or you don't get their
permission.

It really is that simple.


(Log in to post comments)

cdrtools - a tale of two licenses

Posted Aug 13, 2006 20:52 UTC (Sun) by dmantione (guest, #4640) [Link]

Ok, my last attempt to make it clear.

Let's say I contribute a patch. I put the patch under GPL and give it to
you.

You now have permission to distribute it. But my patch does not contain a
Makefile. So, *my* source (the part I own copyright) does not contain a
Makefile.

So, if you distribute binaries and source, you are distributing the code
*I* own. But *I* did not include anything to build it, so I cannot force
you write such a build tool. There was no Makefile in my source, so I
cannot enforce the GPL onto you to distribute such a Makefile.

cdrtools - a tale of two licenses

Posted Aug 13, 2006 21:33 UTC (Sun) by ewan (subscriber, #5533) [Link]

Yes, you can, if the total work that your code is included in requires
such a Makefile to build. If I include your code in a project with no
Makefile, then I'm OK, if I include it in a project that relies on a
Makefile, then that Makefile must be GPLed, as must everything else that
makes up the project.

You can't force me to add anything to your code, or make any
modifications to it at all, however, if I chose to do so then you can
force me to make those additions or modifications available under the GPL
(assuming of course that I'm distributing it).

Look at it from the point of view of an end user receiving the binary -
because of the GPL licence they have the right to modify the program.
They cannot do that if they cannot build their modified source because
they don't have the Makefile.

cdrtools - a tale of two licenses

Posted Aug 13, 2006 22:03 UTC (Sun) by HenrikH (guest, #31152) [Link]

But still the whole source is put under the GPL and since there is no added clause that sais that the makefile requirement is void, the requirement is still there in the license.

If you send a patch under the GPL to this project without having written a makefile for your patch in question changes nothing since you still only give the distributor the rights to distribute your patch if he follows the GPL requirements (that is including the makefiles used to build the binary), if the distributer chooses not to include the makefiles in a GPL compatible way, then he has no rights to distribute your patch and he has to remove it from the source in order to be able to distribute the binary!

You still seam to think that this has something to do with the "viral"-propery of the GPL, but as others already has pointed out on several occasions there is nothing here that makes the makefiles automatically become GPLed.

Instead the thing is that the only thing that is allowing you to distribute the cdrtools binary is the GPL, and since the GPL requires you to also distribute the makefiles used to build the binary you have to do so or lose the rights to distribute the binary.

If you somehow can manage to build the cdrtools binary without the makefiles then you are of course free to distribute the resulting binary without the makefiles since you didn't use them in order to build it.

cdrtools - a tale of two licenses

Posted Aug 14, 2006 16:12 UTC (Mon) by bfields (subscriber, #19510) [Link]

"Ok, my last attempt to make it clear."

Oh, you're clear enough; it's just that you're also wrong:

"Let's say I contribute a patch. I put the patch under GPL and give it to
you.

"You now have permission to distribute it."

Assuming the patch is nontrivial, I only have permission to distribute it if I meet the requirements of the GPL.

"But my patch does not contain a Makefile. So, *my* source (the part I own copyright) does not contain a Makefile."

That's correct. In particular, the Makefile is not automatically covered by the GPL.

"So, if you distribute binaries and source, you are distributing the code
*I* own. But *I* did not include anything to build it, so I cannot force
you write such a build tool."

If I distribute binaries, presumably I built them somehow. Since the binaries are now a derived work of your patch, I am required to get your permission before I can distribute the binaries. By giving me the patch only under the GPL, you've said that you only give your permission if I also tell people how to build those binaries. So I'm required to give out any makefiles I used, regardless of whether those makefiles are a derived work or not.

There's nothing in copyright law to prevent you from making a requirement like that, even though that requirement in part affects the distribution of a work you didn't write yourself. People need your permission to distribute your code, so you can make them do pretty arbitrary things to get that permission.

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