2004-01-27 16:25:59

by Bansh

[permalink] [raw]
Subject: GPL license and linux kernel modifications

Hello!

I've got a question, which I can't resolve myself about linux kernel binary code. The problem is GPL license which tells us that:

----------- cut COPYING -----------
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. 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.
----------- cut COPYING -----------

It gives the possibility to not distribute compiler and other preprocessing tools.
It looks like one can make a preprocessor or even one's own compiler (with one's syntax) which will be used for kernel building. But it's not required to distribute this compiler. So I can distribute linux kernel source code modified this way but no one will be able to build it. Is it ok?

Such compiler/preprocessor can be really very tricky and can hide the modifications very much, thus allowing to hide proprietary know-how.

Bansh


2004-01-27 16:33:51

by Kevin P. Fleming

[permalink] [raw]
Subject: Re: GPL license and linux kernel modifications

Bansh wrote:

> 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.
> ----------- cut COPYING -----------
>
> It gives the possibility to not distribute compiler and other preprocessing tools.
> It looks like one can make a preprocessor or even one's own compiler (with one's syntax) which will be used for kernel building. But it's not required to distribute this compiler. So I can distribute linux kernel source code modified this way but no one will be able to build it. Is it ok?

Only if those "compiler and other preprocessing tools" are normally
distributed with the O/S the executable runs on. If you create your own
compiler, and it's not "normally distributed", then you can't publish
source code in that language under the GPL without making the compiler
available as well.

2004-01-27 17:56:58

by Måns Rullgård

[permalink] [raw]
Subject: Re: GPL license and linux kernel modifications

"Kevin P. Fleming" <[email protected]> writes:

> Bansh wrote:
>
>> 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.
>> ----------- cut COPYING -----------
>> It gives the possibility to not distribute compiler and other
>> preprocessing tools.
>> It looks like one can make a preprocessor or even one's own
>> compiler (with one's syntax) which will be used for kernel
>> building. But it's not required to distribute this compiler. So I
>> can distribute linux kernel source code modified this way but no
>> one will be able to build it. Is it ok?
>
> Only if those "compiler and other preprocessing tools" are normally
> distributed with the O/S the executable runs on. If you create your
> own compiler, and it's not "normally distributed", then you can't
> publish source code in that language under the GPL without making the
> compiler available as well.

Yes, you can, at least if you own the source code in question. It
becomes more unclear when you take someone else's GPL'd code and
modify it to only work with your private compiler.

--
M?ns Rullg?rd
[email protected]

2004-01-29 02:56:09

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: GPL license and linux kernel modifications

On Tue, 27 Jan 2004 19:25:55 +0300, =?koi8-r?Q?=22?=Bansh=?koi8-r?Q?=22=20?= <[email protected]> said:

> It looks like one can make a preprocessor or even one's own compiler (with
> one's syntax) which will be used for kernel building. But it's not required to
> distribute this compiler. So I can distribute linux kernel source code modified
> this way but no one will be able to build it. Is it ok?

Sure. If you wrote the code in APL, it would be quite unreadable, and you could
distribute it. See Bliss/32 (DEC) or PL/S (IBM) for examples of languages
that were used to write systems and the code distributed without a compiler.
(Note that I know of no source code in Bliss/32 or PL/S that was actually
distributed under the GPL).

> Such compiler/preprocessor can be really very tricky and can hide the
> modifications very much, thus allowing to hide proprietary know-how.

Yes, but it has to be the *preferred* source form. So you have to distribute
what you're actually using to maintain the system. You want to claim that
the very tricky code is your preferred form, go right ahead. Let me know how
the first time you try to fix a bug goes. ;)

It is most certainly *NOT* allowed to pass your code through a obfuscator
before shipping it out.


Attachments:
(No filename) (226.00 B)

2004-01-29 11:14:59

by David Schwartz

[permalink] [raw]
Subject: RE: GPL license and linux kernel modifications



> On Tue, 27 Jan 2004 19:25:55 +0300,
> =?koi8-r?Q?=22?=Bansh=?koi8-r?Q?=22=20?= <[email protected]> said:

> Yes, but it has to be the *preferred* source form. So you have
> to distribute
> what you're actually using to maintain the system. You want to claim that
> the very tricky code is your preferred form, go right ahead. Let
> me know how
> the first time you try to fix a bug goes. ;)

> It is most certainly *NOT* allowed to pass your code through a obfuscator
> before shipping it out.

In my insanest musings, I've thought about a case where one has a
decrypting/encrypting editor and a decrypting compiler. This could honestly
make the encrypted source the preferred form for the purposes of making
modifications.

Anyone who attempts this would likely run afoul of a legal principle known
as the "straight face doctrine". This says that one may not make any
argument in court unless one can do so with a straight face. Because of
this, lawyers that can say rather insane things with perfectly straight
faces are quite highly prized.

DS