On Tue, Apr 11, 2006 at 10:45:55PM -0700, jdow wrote:>On Tue, 2006-04-11 at 23:18 -0400, Mark Lord wrote:
>>Joshua Hudson wrote:
>>> On 4/11/06, David Weinehall <tao@xxxxxxxxxx> wrote:
>>>> OK, simplified rules; if you follow them you should generally be OK:
>>..
>>>> 3. Userspace code that uses interfaces that was not exposed to >>userspace
>>>> before you change the kernel --> GPL (but don't do it; there's almost
>>>> always a reason why an interface is not exported to userspace)
>>>>
>>>> 4. Userspace code that only uses existing interfaces --> choose
>>>> license yourself (but of course, GPL would be nice...)
>>
>>Err.. there is ZERO difference between situations 3 and 4.
>>Userspace code can be any license one wants, regardless of where
>>or when or how the syscalls are added to the kernel.
>
>that is not so clear if the syscalls were added exclusively for this
>application by the authors of the application....
Consider a book. The book is GPLed. I do not have to GPL my brain when
I read the book.
I add some margin notes to the GPLed book. I still do not have to GPL
my brain when I read the book.
This is possibly the worst comparison I've read in a long long time...
It's rather a case of:
Consider a book. The book is GPLed. You take add one chapter to the
book. The resulting book needs to be GPLed.
Now, instead of adding to that book, you "export" parts of the book by
copying them into your book. Your new book wouldn't work without the
copied parts. Your resulting book needs to be GPLed.
Your "read the book"-case is only comparable to the case of building
a userspace binary for local use that only uses existing interfaces,
vs building one that uses exported private interfaces. In both cases,
since you're not distributing your modified version, you're free to
do whatever you like.