On Mar 27, 2005, at 03:49, Arjan van de Ven wrote:
I think that at the moment the general consensus is that it is ok to
use
the Linux kernel APIs (but not the EXPORT_SYMBOL_GPL ones) from binary
modules _if_ _and_ _only_ _if_ the driver was originally written
elsewhere
and ported to the Linux kernel.
I disagree there. Only a few copyright holders of the kernel suggested
that "previously written elsewhere" would be an exception. I haven't,
Alan Cox has been very vocal about that he hasn't. I've not seen my
employer say that it would make that exception either.
And it's a gray area.
Is it ok if you have 5000 lines from another OS and 0 specific/modified
for linux (the technical impossibility of this aside)
Is 4990/10 still good?
is 4900/100 still good ?
is 4500/500 still good ?
is 4000/1000 still good ?
is 2500/2500 still good ?
is 2000/3000 still good ?
is 500/4500 still good ?
if anyone thinks this is a loophole their lawyers better have an answer
for this...
(and note that I'm not claiming that those 4500 lines are a derived
work
when used elsewhere. But I do consider it a derived work if it's in a
binary form where it does include linux specific code, and even code
from the linux kernel via say inlines).
<flame type="Binary Driver Hatred">
NOTE: I *strongly* discourage binary drivers. They're crap and
frustrate
poor PowerPC users like me. Since this is purely a theoretical
discussion,
and I want to discourage binary crud, this email is Copyrighted:
This email is Copyright (C) 2005 Kyle Moffett.
The remainder of this email is available under the GNU General Public
License, version 2. See http://www.gnu.org/licenses/gpl.txt for
details.
THE BELOW MAY NOT BE USED IN A BINARY DRIVER, SO DON'T EVEN THINK ABOUT
IT!
</flame>
Ok, so what if the _driver_ provides an API like this:
int start_driver(void);
int stop_driver(void);
void register_alloc(void *(*alloc)(unsigned long));
void register_free(void (*free)(void *));
[... more register functions here, generic functionality ...]
And a BSD licensed bit of glue based on that interface that connects the
driver to a dozen different OSen by wrapping or using their interfaces
directly.
Do you think _that's_ legal? As far as I can see, even that level is
iffy, but it's a murky issue, and I doubt it will be decided one way or
another until people test it in various courts.
Cheers,
Kyle Moffett
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/CS/IT/U d- s++: a18 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$
L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+
PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r
!y?(-)
------END GEEK CODE BLOCK------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]