[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