gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Microsoft's Linux Kernel Code Drop Result of GPL Violation


From: Hyman Rosen
Subject: Re: Microsoft's Linux Kernel Code Drop Result of GPL Violation
Date: Thu, 30 Jul 2009 16:29:49 -0400
User-agent: Thunderbird 2.0.0.22 (Windows/20090605)

Florian Weimer wrote:
* Hyman Rosen:

For example, the system call "write" in UNIX is described in the
C programming language as 'int write(int fd, char *buffer, int len)'
meaning that it takes three arguments - an integer representing the
output device or file to which to write, the address of a buffer
containing the data to be written, and an integer giving the number
of bytes of data to write - and returns an integer representing the
number of bytes actually written.

Now make it printf, or gettext, or __divdi3.  None of them provides a
thin wrapper around some other subsystem service.  I don't think there
are many UNIX-like systems which are structured that way (fat kernel
and thin userspace).

Oh, sure. But the system library exception is a bit broader to allow
for that. GPLv3 says
    serves only to enable use of the work with that Major Component,
    or to implement a Standard Interface for which an implementation
    is available to the public in source code form
The first part of that clause is what I've described. The second part
is the weird catchall that covers the routines you talk about. As long
as there is some available source implementation (and it's not even
clear that this means freely available) of those routines, you don't
have to include the non-free library in the corresponding source.

GPLv2 said
    However, as a special exception, the source code distributed need
    not include anything that is normally distributed (in either source
    or binary form) with the major components (compiler, kernel, and so
    on) of the operating system on which the executable runs, unless
    that component itself accompanies the executable.
and so covered the system libraries whether the functions they
included were thin or thick. Oh, and I finally see what you meant about
"accompany the executable". It still doesn't apply to Interix - accompany
the executable means you ship the system library along with your program
and then the program executes routines in that library when it runs. The
GCC shipped with Interix doesn't use the non-free library as part of its
execution - it links that library into executables it generates.

As I said, the whole system library thing is dodgy with respect to
the goals of free software, but it's have that or have free software
be unable to run in some environments at all.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]