[PATCH] fdisk.c: major whitespace/style cleanup

Rob Landley rob at landley.net
Mon Feb 27 01:48:00 UTC 2006


On Sunday 26 February 2006 6:58 pm, Bernd Petrovitsch wrote:
> > In theory, if I as the author of a program build it with a compiler I
> > don't release, and GPL the source code, you have no recourse against me
> > because as the copyright holder my rights to distribute the work do not
> > derive from the license, so I can't violate my own license and infringe
> > on my own rights.
>
> For you yes. But when I get the source (under the GPL) what is my
> position?

Who would you take action against?

1) You can't take action against me the author, because I own the copyright 
and thus don't _need_ the license to exercise my own rights.  They weren't 
delegated to me by the license in the first place.  I don't need it, it's a 
permission statement that derives its authority _from_ me (and my copyright).

2) You don't have standing to take action against people redistributing my 
work.  It's not your work.  You can't press charges against somebody else for 
stealing my stuff.

3) You still haven't got standing to take action against people distributing 
modified versions of the work unless you're one of the contributors.  You'd 
have to make a modified work and then take action against the people 
distributing your modified work.

4) If the author of the code uses this kind of nitpick to take action against 
redistributors of the author's own code under the author's own license, 
that's pretty clearly acting in bad faith and the fault doesn't lie with the 
redistributor but with the _author_ in the first place.  ("I'm suing you 
because I did something wrong" isn't a very effective legal strategy.)  
Besides, as the author you have the darn tool and the person you're suing 
doesn't and you look darn silly and yes that sort of thing matters.

Now there is one special case in which your interpretation might be valid.  If 
you author a tool in C, and somebody ports it to Visual Basic, you can object 
that your copyright is being violated.  You can't reproduce their binaries, 
it's not your fault, and you have standing because they created a derived 
work of your code.

This would still be kind of weak.  They'd have to acknowledge your copyright 
in their visual basic version, and claim that a transform that drastic wasn't 
a complete rewrite.  (You could probably win on that one.)  They could also 
point to Visual Basic as a documented standard and say that the absence of an 
open source implementation for your platform isn't their problem, and if you 
want a visual basic compiler so much you should write one.  (You'd probably 
lose on that one.)

Copyright isn't patent.  There's nothing to stop somebody from studying your 
program to see how it works, and then writing a completely different version.  
If the first person writes up a spec and a second person implements that spec 
without even looking at the original code, that's full clean room and the 
most persistent, vindictive lawyer out there would have trouble doing much 
about it.

The point of the GPL is disclosure, not convenience.

> > Having the source code means you can see how I did what I did.  Adapt it
> > to
>
> If you know the programming language, yes.

I don't owe you a "how to program in C" book, either.

> > another compiler or port it to another language, that's your choice.  If
> > I wrote it in Power PC assembly I don't owe you a Mac Mini to run it on
> > either.
>
> Both are obviously true (and/or I could write a PPC emulator).

This is actually a real-world problem right now with 802.11g hardware.  The 
firmware for these suckers is based on a processor with an undocumented 
instruction set, and nobody can GET a description of the instruction set 
without signing an NDA.

To get around the binary-only driver problem "tainting" kernels, people have 
written GPL drivers that have the firmware as a big char[] array with lots of 
numbers.  The argument there is the "preferred format for modifying" clause.  
(Certainly not the form it was written in, it was probably assembly with 
mnemonics.)

But in trying to enforce this (the source code is the mnemonics version, this 
is output generated from that), could we legally get them to violate their 
NDA?  Of course not.  All we could hope do is get them to admit it can't be 
made compliant and yank the noncompliant driver, and how's that an 
improvement over simply refusing to merge it?

And "hope to do" is not the same as "do", since if they wrote a file of source 
code that doesn't include Linux source, and they could have learned to do so 
by reading Jonathan Corbet's books and articles on how to write Linux 
drivers, how is their source code a derived work of the Linux kernel's 
copyright?  Binary-only device drivers might be a bit grey, but it's pretty 
clear who owns the source code in this case.  So we're back to trying to 
enforce license terms against the owner of the copyright, which doesn't 
fly...

These are, alas, complicated issues...

> 	Bernd

Rob
-- 
Never bet against the cheap plastic solution.



More information about the busybox mailing list