Re: Linux GPL and binary module exception clause?

Rob Landley
2003-12-11T08:37:36Z

On Thursday 11 December 2003 02:11, Hua Zhong wrote:
> > For one thing, the plugin was made by someone without access
> > to Netscape or IE's source code, using a documented interface
> > that contained sufficient information to do the job without access
> > to that source code.
> >
> > Yes, it matters.
>
> _What_ matters?
>
> Open source? (if you write a plugin for an opensource
> kernel/application, you are not plugin anymore and you are derived
> work.) I am sure you don't mean it.
>
> Documented interface? Hey, there are sources which are the best
> documentation. :-)

If you write software by referring to documentation, the barrier for it being
a derivative work is higher than if you write it by looking at another
implementation.

> Seriously, even if I accept that there is never an intent to support a
> stable ABI for kernel modules, some vendor can easily claim that "we
> support a stable ABI, so write kernel modules for the kernel we
> distribute".
>
> Anything can prevent that? I cannot see GPL disallow it.
>
> So OK, Linus and other kernel developers never intended to provide a
> stable ABI, but someone else could. The original author's intent is
> never relevant anymore. This is the goodness of opensource, isn't it?

Once upon a time, Compaq did a clean-room clone of IBM's BIOS. Group 1
studied the original bios and wrote up a spec, and group 2 wrote a new bios
from that spec, and group 1 never spoke to group 2, and all of this was
extensively documented so that when IBM sued them they proved in court that
their BIOS wasn't derived from IBM's. (Of course compaq used vigin
programmers fresh out of college who'd never seen a PC before, which was a
lot easier to do in 1983...)

I didn't make this up. This was a really big deal 20 years ago. It happened,
and it mattered, and people cared that they created a fresh implementation
without seeing the original code, entirely from a written specification that
was not a derivative work of the first implementation, so no matter how
similar the second implementation was (hand-coded assembly performing the
same functions on the same processor in the same amount of space), it could
not be considered a derivative work.

This was a strong enough defense to beat IBM's lawyers, who were trying to
claim that Compaq's new BIOS WAS a derivative work...

Rob