2003-09-02 18:44:19

by James Clark

[permalink] [raw]
Subject: Driver Model

1. Will the move to a more uniform driver model in 2.6 increase the chances of
a given binary driver working with a 2.6+ kernel.

2. Will the new model reduce the use/need for kernel modules. Would this be a
good thing if functionality could be implemented in a driver instead of a
module.

3. Will the practice of deliberately breaking some binary only 'tainted'
modules prevent take up of Linux. Isn't this taking things too far?

James


2003-09-02 21:26:22

by Patrick Mochel

[permalink] [raw]
Subject: Re: Driver Model


> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.

Not necessarily. A binary driver still needs to be compiled for a specific
version of a kernel. And, if it's not already working, the new driver
model definitely won't help. :)

> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.

No, it will not reduce usage of modules. The driver model has nothing to
do with whether something is compiled as a module or not.

> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?

This is a loaded question, but ultimately it's a vendor issue. Most people
do and will use vendor kernels. What they do with their kernel interfaces
and how well they support binary modules is their beef.


Pat

2003-09-02 19:03:37

by Robert Love

[permalink] [raw]
Subject: Re: Driver Model

On Tue, 2003-09-02 at 14:43, James Clark wrote:

> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.

I don't see how.

> 2. Will the new model reduce the use/need for kernel modules.

No. The two concepts are really unrelated.

> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?

Tainted modules are not "broken" -- they just display a "tainted"
message. We do not do things to deliberately break binary-only modules.

The driver model has four main benefits, in my eyes:

- unifies code between the previous desperate driver models
- creates a device topology, which is needed for power
management
- allows for things like sysfs and other logical device
representations
- it is just the Right Way to do it

None of your questions are related to the driver model, really. It is
not a new uniform driver API, if that is what you are thinking. It is
a topology/hierarchal abstraction for devices.

Robert Love


2003-09-02 20:44:51

by Richard B. Johnson

[permalink] [raw]
Subject: Re: Driver Model

On Tue, 2 Sep 2003, James Clark wrote:

> 1. Will the move to a more uniform driver model in 2.6 increase the
> chances of
> a given binary driver working with a 2.6+ kernel.
>

Most changes to the kernel are made without any consideration
of a so-called binary drivers at all. FWIW all drivers are "binary".
If a file is created that was generated for a specific kernel version,
it will work on that kernel version whether or not the driver
sources are available. If the driver does not contain the appropriate
MODULE_LICENSE() string, then several tools will show "tainted" so
that kernel developers will not waste time attempting to find a problem
with a kernel that might be caused by a driver. If the driver has its
source-code released, shown by the appropriate MODULE_LICENSE() string,
then kernel developers may review that driver and fix it if it
is causing a kernel problem.

> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>

The current trend is to make all drivers modules. That way, the
kernel will not be bloated with thousands of drivers that are never
used. Basically, the kernel will have just enough hardware-interface
to boot, possibly into a RAM Disk. Then the modules necessary to
support the specific hardware are loaded, the devices initialized
and the boot continues.

> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -

There is no such practice going on at this time. A module must
be compiled using the same interface elements (structure members, etc.)
as the kernel. Therefore it must have the same version number, compiled
against the same kernel headers. If the designer of the module can't
make the source code public (usually because of corporate restrictions)
then, if there is a problem that you need to report to the kernel
development group, you need to make sure that the "secret" module
is not installed at that time. If the secret module is causing
the kernel problem, which is seldom the case BYW, then you need to
contact the provider of the secret module. They may have a brand-
new version that works perfectly.

A case-in-point: A truly MAJOR screen-card developer has not been
allowed to make the source-code publically available because of
corporate restrictions (A publically-owned company might not be
able to make their intellectual property public. This might cause
a stock-holder revolt). This major company has quickly responded
to failures of their modules to work in the latest kernel versions.
The result is that they have a good working relationship, even though
inserting one of their drivers will cause the OPPS reporting software
to declare that the kernel is "tainted".

You don't get a "tainted" message otherwise. You just get good
screen graphics.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (794.73 BogoMips).
Note 96.31% of all statistics are fiction.


2003-09-02 21:57:43

by Robert Love

[permalink] [raw]
Subject: Re: Driver Model

On Tue, 2003-09-02 at 17:44, James Clark wrote:

> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller (2) Had to be
> released/recompiled less (4) Was EVEN more stable and (4) 'plugins' were more
> portable across releases and easier to install ?

I do not think any of these implications are true, except (4).

A stable driver API would certainly imply (4). But I see no relation to
(a) -- actually, an API would bring complications and thus bloat, if
anything. I see no relation to (2). And (3) just seems like a wild
guess.

I agree that (4) would be a good thing. The problem is, its really not
what we have here today and not what any of the kernel developers want.
95% of the drivers (and 100% of those that the kernel developers use)
_are_ source-based and in the tree, so why have a stable API for them?

In other words, yes, (4) is nice. But not that nice, as a stable API
and driver interface implies a lot of other things that are not
necessarily good.

On the bright side, I do think that we will see a much more stable API
in 2.6. 2.4.n for n after Marcelo took over has also been stable.

Robert Love


2003-09-02 21:47:57

by James Clark

[permalink] [raw]
Subject: Re: Driver Model

Before I posted my original question I read Patrick's very helpful overview of
the Driver Model (http://www.amc.com.au/lca/loopback/papers/
Patrick_Mochel/Patrick_Mochel.pdf).

The reason I posed the question, as a newcomer to kernel development, moving
from WIN32 DDK development (sorry!) to Linux is that I was very surprised by
the module interface.

Would a more rigid 'plugin' interface and the concequent move from mainly
'source' modules to binary 'plugins' (still with source-code available for
all to see) mean that (a) Kernel was smaller (2) Had to be
released/recompiled less (4) Was EVEN more stable and (4) 'plugins' were more
portable across releases and easier to install ?

I love Linux but this seems to be holding it back...

James



On Tuesday 02 Sep 2003 10:29 pm, Patrick Mochel wrote:
> > 1. Will the move to a more uniform driver model in 2.6 increase the
> > chances of a given binary driver working with a 2.6+ kernel.
>
> Not necessarily. A binary driver still needs to be compiled for a specific
> version of a kernel. And, if it's not already working, the new driver
> model definitely won't help. :)
>
> > 2. Will the new model reduce the use/need for kernel modules. Would this
> > be a good thing if functionality could be implemented in a driver instead
> > of a module.
>
> No, it will not reduce usage of modules. The driver model has nothing to
> do with whether something is compiled as a module or not.
>
> > 3. Will the practice of deliberately breaking some binary only 'tainted'
> > modules prevent take up of Linux. Isn't this taking things too far?
>
> This is a loaded question, but ultimately it's a vendor issue. Most people
> do and will use vendor kernels. What they do with their kernel interfaces
> and how well they support binary modules is their beef.
>
>
> Pat

2003-09-02 22:08:36

by Greg KH

[permalink] [raw]
Subject: Re: Driver Model

On Tue, Sep 02, 2003 at 10:44:55PM +0100, James Clark wrote:
>
> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller

No, we would have to support all versions of the APIs over time, making
the kernel larger and harder to maintain.

> (2) Had to be released/recompiled less

No, release frequency would have nothing to do with this.

> (4) Was EVEN more stable and (4) 'plugins' were more portable across
> releases and easier to install ?

No.

> I love Linux but this seems to be holding it back...

Please read the FAQ and many discussions about this very topic in the
past in the archives for why the kernel does not have a stable API
within itself.

That being said, the ammount the API changes over time in a "stable"
kernel series is usually quite small.

I understand coming from the Windows world this seems odd, but after a
bit of time you will see why it is quite nice.

Good luck,

greg k-h

2003-09-02 22:40:08

by Jamie Lokier

[permalink] [raw]
Subject: Re: Driver Model

James Clark wrote:
> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller

No, it would undoubtedly make the kernel larger and slower.

> I love Linux but this seems to be holding it back...

Most of the authors of Linux would prefer a little holding back, if
the alternative was widespread binary-only drivers that they couldn't
debug or fix, or learn from, and a slower, larger kernel.

Of course we might be mistaken.

But please take a look at other kernels which _do_ offer a rigid
interface to binary plugins. Then ask yourself what social phenomena
created the Linux which is exciting and useful as it is, that makes
you want to write drivers for it now instead of those other kernels.

-- Jamie

2003-09-03 00:07:56

by Andre Hedrick

[permalink] [raw]
Subject: Re: Driver Model


## The unoffical insider's guide to thwart the gpl_only garbage ##
## First how to finally become a total outcast from being in/near the ##
## inner circle to exile. ##

The soul intent of "GPL_ONLY" is to prevent binary modules.
The soul intent of "tainting" is to ignore the people who want a choice.

Now two sides to the sword with the above:

Create a pre-loading module to wrapper all the needed "GPL_ONLY" symbols
which rightly belong to the unprotected API.

-------------------------------------------

/*
* freed_symbols.h
*
* The Free Stolen Symbols module.
* Licensed under GPL and source code is free.
*/

extern int freed_xxxxx ( ... );

-------------------------------------------

/*
* freed_symbols.c
*
* The Free Stolen Symbols module.
* Licensed under GPL and source code is free.
*/

... blah blah, standard kernel module stuff and setup ...

int freed_xxxxx ( ... )
{
return xxxxx( ... );
}

EXPORT_SYMBOL(freed_xxxxx);

... blah blah, standard kernel module stuff and clean up ...

LICENSE("GPL");

-------------------------------------------

Now wash rinse repeat for all the symbols you need to create a pre-loader
module to return to usage all the symbols you need.

First you will get people complaining this violates intent, kindly give
them the middle finger, two fingers, fore arm, or whatever non verbal
expression you wish. Second envite them to get a lawyer. Third, when
they tell you to stop, ask if they are imposing restrictions on GPL for
terms of usage. If they are notify them they are in violation of the
license.

If you are an embedded space widget. Apply thumb to nose and wiggle
fingers. Provided you ship the source code you modify in the kernel, and
I do mean all of it, use the short cut to clobber the issues in module.h.
When they scream and complain about, this violates intent, ask them are
they issuing a restriction on the usage of the GPL kernel? If they do not
permit one to use it under GPL them the kernel itself is in violation.

The short version: It is a game of politics, where people what it both
ways. They want it to be open source and restict the usage.

Now back to "tainting", if the politics were such to cause all modules
which are not GPL to be rejected then the game is over. Because the
kernel does not reject loading, it by default approves of closed source
binary modules. One could use the means of taint-testing to accept or
reject, regardless of the original intent. Many have and will make the
argument the kernel has the ability to reject closed source and it choose
to accept.

Well I have now alienated myself from the world of open source, but
someone has to show who intellectually dishonestity in the politics.

This goes even further in some folks in the embedded appliance who will
digitally sign binary kernels against their module suite to prevent one
from compiling an identical kernel but unsigned, and the modules will not
load. This is a hot topic along with distos adding into their big dollar
distributions extra export_symbol hooks for things that do not exist in
the source tree shipped.

There is more, but you can discover all the left-right speak on your own.

Cheers,

Andre

PS: Did this earn my way back into exile again, damn the truth hurts!


On Tue, 2 Sep 2003, James Clark wrote:

> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
>
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -
> 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/
> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
>
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -
> 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/
>

2003-09-03 00:20:17

by David Schwartz

[permalink] [raw]
Subject: RE: Driver Model


I agree with you, except for the one place where you've contradicted
yourself:

> If you are an embedded space widget. Apply thumb to nose and wiggle
> fingers. Provided you ship the source code you modify in the kernel, and
> I do mean all of it, use the short cut to clobber the issues in module.h.
> When they scream and complain about, this violates intent, ask them are
> they issuing a restriction on the usage of the GPL kernel? If they do not
> permit one to use it under GPL them the kernel itself is in violation.

In other words, you cannot release something under the GPL and
simultaneously restrict its use.

> Now back to "tainting", if the politics were such to cause all modules
> which are not GPL to be rejected then the game is over. Because the
> kernel does not reject loading, it by default approves of closed source
> binary modules. One could use the means of taint-testing to accept or
> reject, regardless of the original intent. Many have and will make the
> argument the kernel has the ability to reject closed source and it choose
> to accept.

So no, the kernel does not have the ability to reject closed source. That
would be an additional restriction upon use that the GPL does not allow you
to impose.

DS


2003-09-03 13:11:23

by Alan

[permalink] [raw]
Subject: Re: Driver Model

On Maw, 2003-09-02 at 19:43, James Clark wrote:
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?

tainted doesn't break anything. tainted marks modules so we know they
are unsupported and every vendor, developer and the like can throw your
reports into the bitbucket. The binary vendor has our code we don;t have
theirs so they can go fix it.

As to "too far", the GPL is quite explicit and most people contributed
code on its basis. So its very unlikely that any binary only module is
legal in the first place. There is FSF code in the kernel, merged by
others and the FSF certainly feel that way.

If you want to run a binary unix system I'd recommend Mac OSx - its
rather nice.

Alan

2003-09-03 14:37:04

by Stuart MacDonald

[permalink] [raw]
Subject: RE: Driver Model

From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Richard B. Johnson
> sources are available. If the driver does not contain the appropriate
> MODULE_LICENSE() string, then several tools will show "tainted" so

If the MODULE_LICENSE() macro is what determines taint, what's to
prevent a company from compiling their driver in their own kernel tree
with that macro and releasing it binary-only? Wouldn't that module
then be taint-free?

..Stu

2003-09-03 14:52:22

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Driver Model

On Wed, 2003-09-03 10:36:16 -0400, Stuart MacDonald <[email protected]>
wrote in message <002301c37228$bbc89950$294b82ce@stuartm>:
> From: [email protected]
> > [mailto:[email protected]] On Behalf Of
> > Richard B. Johnson
> > sources are available. If the driver does not contain the appropriate
> > MODULE_LICENSE() string, then several tools will show "tainted" so
>
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?

To use it, you've to call it like

MODULE_LICENSE("GPL");

The string (license name) you supply is stored into the module binary
and checked ad module load time. Either it's "GPL" (or a few others
IIRC) or it isn't. If it is, the module is GPL and (after you've shipped
the module) any user can legally ask for sources (and you've to ship
them). If it isn't GPL (or the other accepted variants), it'll taint the
kernel. That'll tell us to not look at oopses, though...

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (1.39 kB)
(No filename) (189.00 B)
Download all attachments

2003-09-03 14:59:11

by Alan

[permalink] [raw]
Subject: RE: Driver Model

On Mer, 2003-09-03 at 15:36, Stuart MacDonald wrote:
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?

They would be representing their module is GPL when its not, obtaining
services by deceving people (3rd party support) and if they used _GPL
symbols probably violating the DMCA by bypassing a digital rights
system.

In practice we've had two cases we know about where someone tried this,
one at least was almost certainly an accident the other one the vendor
seems to now have fixed after the threat of acute bad publicity.

You could equally ask the same question about any other measure - its
no different to "I could shoot the shopkeeper and not pay", its an
incentive to behave, a way for developers to make it clear their code
isnt for stealing and without denying people the choice of what they
run. The reputable vendors on the whole not only seem to obey it but
actually put informative MODULE_LICENSE() tags into their code for
their proprietary licenses.


Alan

2003-09-03 15:14:36

by Stuart MacDonald

[permalink] [raw]
Subject: RE: Driver Model

From: [email protected]
> You could equally ask the same question about any other measure - its
> no different to "I could shoot the shopkeeper and not pay", its an
> incentive to behave, a way for developers to make it clear their code

That's what I figured, I just wanted to check.

> isnt for stealing and without denying people the choice of what they
> run. The reputable vendors on the whole not only seem to obey it but
> actually put informative MODULE_LICENSE() tags into their code for
> their proprietary licenses.

Any examples off the top of your head? I'm curious.

..Stu

2003-09-03 15:20:24

by Richard B. Johnson

[permalink] [raw]
Subject: RE: Driver Model

On Wed, 3 Sep 2003, Stuart MacDonald wrote:

> From: [email protected]
> > [mailto:[email protected]] On Behalf Of
> > Richard B. Johnson
> > sources are available. If the driver does not contain the appropriate
> > MODULE_LICENSE() string, then several tools will show "tainted" so
>
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?
>
> ..Stu
>

Well yes! You can do:

File: License.c
/*
*
* Everything in this file (only) is released under the so-called
* GNU Public License, incorporated herein by reference.
*
* Now, we just link this with any proprietary code and everybody
* but the lawyers are happy.
*/
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include <linux/module.h>
#if defined(MODULE_LICENSE)
MODULE_LICENSE("GPL");
#endif

You can link the output of this file with the binary-only file
and get rid of the 'tainted' message.

gcc -I./usr/src/linux/`uname-r` -o license.o License.c
ld -i -o driver.o binary.o license.o

....bbuutttt.... Now, if the kernel gets dorked because
a binary-only module is broken, the binary-only module will
not get fixed! The kernel developers need to know if the
source-code is available for everything that's in the kernel
when the kernel croaks. They need to examine the code of
every suspect module as well as the kernel code in the area
of interest. Note that a module inside the kernel is free to
destroy __everything__. A wild pointer in user-mode just
seg-faults, in kernel mode it can scribble over your hard-
disk and you won't even know it until you try to edit your
movie script that you've been working on for 20 years.

Currently, once an oops is reported and developers see the
'tainted' message, they ask the reporter to remove the module
that is producing that message. If the machine can't run without
it, they ask the person to get the help of the module provider.
Often "ask" is not too kind. Usually, it's a snide remark
by persons who are not trained in public affairs so this
may tend to cause some friction. However, remember that the
wizards that gave a lot of their time and effort to kernel
development don't really like to have some secret module
screwing up their work.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (794.73 BogoMips).
Note 96.31% of all statistics are fiction.


2003-09-03 15:33:58

by Mariusz Zielinski

[permalink] [raw]
Subject: Re: Driver Model

On Wednesday 03 of September 2003 17:13, Stuart MacDonald wrote:
> From: [email protected]
>
> > You could equally ask the same question about any other measure - its
> > no different to "I could shoot the shopkeeper and not pay", its an
> > incentive to behave, a way for developers to make it clear their code
>
> That's what I figured, I just wanted to check.
>
> > isnt for stealing and without denying people the choice of what they
> > run. The reputable vendors on the whole not only seem to obey it but
> > actually put informative MODULE_LICENSE() tags into their code for
> > their proprietary licenses.
>
> Any examples off the top of your head? I'm curious.

Realtek 8180L wlan chipset driver.

--
...and all that jazz
Mariusz Zielinski - Wirtualna Polska

2003-09-03 15:52:51

by Mariusz Zielinski

[permalink] [raw]
Subject: Re: Driver Model

On Wednesday 03 of September 2003 17:33, Mariusz Zielinski wrote:

> > Any examples off the top of your head? I'm curious.
> Realtek 8180L wlan chipset driver.
This is "bad example" ( closed source and GPL license ). Good one is nvidia
( MODULE_LICENSE("NVIDIA"); ).

--
...and all that jazz
Mariusz Zielinski - Wirtualna Polska

2003-09-03 15:50:41

by Stuart MacDonald

[permalink] [raw]
Subject: RE: Driver Model

From: Mariusz Zielinski [mailto:[email protected]]
> Realtek 8180L wlan chipset driver.

From:
http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True

These drivers are all source and appear to be all GPLed.

..Stu

2003-09-03 16:03:56

by Mariusz Zielinski

[permalink] [raw]
Subject: Re: Driver Model

On Wednesday 03 of September 2003 17:50, Stuart MacDonald wrote:
> From: Mariusz Zielinski [mailto:[email protected]]
>
> > Realtek 8180L wlan chipset driver.
>
> From:
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=Tr
>ue
>
> These drivers are all source and appear to be all GPLed.

Look at
http://www.realtek.com.tw/downloads/downloads1-3.aspx?lineid=2002111&famid=2002111&series=2002121&Software=True

Archive: rh90-8180(120).zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
2150 Defl:N 769 64% 07-24-03 10:30 bdcbb2db release/Makefile
216130 Defl:N 84093 61% 07-24-03 10:30 f6e934c9 release/priv_part.o
^^^^^^^^^^^^^^^^^^^
1503 Defl:N 548 64% 07-24-03 10:30 aa55c41c release/r8180_export.h
17834 Defl:N 3524 80% 07-24-03 10:30 b00831ae release/r8180_if.c
4488 Defl:N 1278 72% 07-24-03 10:30 00e6785f release/r8180_if.h
13319 Defl:N 2811 79% 07-24-03 10:30 1ad0ac11 release/r8180_pci_init.c
^^^^^^^^^^^^^^^^^^^^^^^^
#cat r8180_pci_init.c | grep MODULE_LICENSE
MODULE_LICENSE("GPL");

528 Defl:N 321 39% 07-24-03 10:30 9fe4dafc release/r8180_pci_init.h
8722 Defl:N 2028 77% 07-24-03 10:30 580d8c16 release/r8180_type.h
5072 Defl:N 1709 66% 07-24-03 10:30 90348255 release/readme
529 Defl:N 320 40% 07-24-03 10:30 aafe3723 release/rls_note_0724
155 Defl:N 116 25% 07-24-03 10:30 6d3018fc release/wlandown
587 Defl:N 266 55% 07-24-03 10:30 763d2e5f release/wlanup
-------- ------- --- -------
271017 97783 64% 12 files

--
Mariusz Zielinski

2003-09-03 16:59:41

by Alan

[permalink] [raw]
Subject: RE: Driver Model

On Mer, 2003-09-03 at 16:50, Stuart MacDonald wrote:
> From: Mariusz Zielinski [mailto:[email protected]]
> > Realtek 8180L wlan chipset driver.
>
> From:
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
>
> These drivers are all source and appear to be all GPLed.

Only part source so realtek need a little re-education to make them fix
the drivers. Someone who deals with realtek drivers (Jeff Garzik ?) care
to start a polite initial dialog ?



2003-09-03 17:54:32

by Andre Hedrick

[permalink] [raw]
Subject: RE: Driver Model


On Tue, 2 Sep 2003, David Schwartz wrote:

>
> I agree with you, except for the one place where you've contradicted
> yourself:
>
> > If you are an embedded space widget. Apply thumb to nose and wiggle
> > fingers. Provided you ship the source code you modify in the kernel, and
> > I do mean all of it, use the short cut to clobber the issues in module.h.
> > When they scream and complain about, this violates intent, ask them are
> > they issuing a restriction on the usage of the GPL kernel? If they do not
> > permit one to use it under GPL them the kernel itself is in violation.
>
> In other words, you cannot release something under the GPL and
> simultaneously restrict its use.

You have made my points even clearer.

The fact that GPL_ONLY horse sh*t exists means there is a restriction on
usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
of usage. People will say that I am nuts and have spent to much time in
the disk drive layers and my brain has not stopped spinning to reconnect
to the stem.

> > Now back to "tainting", if the politics were such to cause all modules
> > which are not GPL to be rejected then the game is over. Because the
> > kernel does not reject loading, it by default approves of closed source
> > binary modules. One could use the means of taint-testing to accept or
> > reject, regardless of the original intent. Many have and will make the
> > argument the kernel has the ability to reject closed source and it choose
> > to accept.
>
> So no, the kernel does not have the ability to reject closed source. That
> would be an additional restriction upon use that the GPL does not allow you
> to impose.

Exactly!

I think it is about time to start http://www.ungpl.com/ however that is a
gas and pipe line already, which gives a broader meaning to the what and
why many people have earned the title of "GPL NAZIS".

Yeah, I said it and it is flamebait. I am pulling out some marshmellows
to cook as I wait for the roasting fireballs to come my way.

I am not here to make friends, just promote Linux for business and
commerial usage and the direction today is wrong period. I will not
debate the point, this is my opinion and it is correct.

Cheers,

Andre

PS: any references to "you" is a general to the mailing list and not to
any individual.

2003-09-03 17:58:24

by Stuart MacDonald

[permalink] [raw]
Subject: RE: Driver Model

From: [email protected]
> On Wednesday 03 of September 2003 17:50, Stuart MacDonald wrote:
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=1
> 6&Software=Tr
>
> Look at
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?lineid=2
> 002111&famid=2002111&series=2002121&Software=True

Indeed, I was fooled. The Quick Link download on the sidebar was
static, not dynamic (figured it would update appropriately when I
clicked on the 8180 link from the homepage).

..Stu

2003-09-03 18:32:43

by Andre Hedrick

[permalink] [raw]
Subject: RE: Driver Model



On Wed, 3 Sep 2003, Alan Cox wrote:

> On Mer, 2003-09-03 at 18:38, Andre Hedrick wrote:
> > The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> > usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> > of usage. People will say that I am nuts and have spent to much time in
> > the disk drive layers and my brain has not stopped spinning to reconnect
> > to the stem.
>
> Mummy there's a troll on the list again...
>
> The GPL itself says that derivative works must be GPL. The GPL_ONLY
> stuff just helps make that clear.
>

Gee I should follow other peoples advice about it takes two idiots to
argue in public, and not reply to the "troll bait".

So I wait for your political crap and ideas of making it impossible for
businesses with IP and property that is not and will never be open to work
inside or with Linux.

So with your bait and troll rants, I will challenge you and the rest of
the GPL only pinheads, to the pre-loader module issue which is gpl'd.

What are you going to do now? Sue, send laywers, please I invite and beg
you to do so. The "freed_symbols" project just got energized!

Cheers,

Andre

PS I am bold enough to sign my name to such issues ...

2003-09-03 18:23:35

by Jeff Garzik

[permalink] [raw]
Subject: Re: Driver Model

Alan Cox wrote:
> On Mer, 2003-09-03 at 16:50, Stuart MacDonald wrote:
>
>>From: Mariusz Zielinski [mailto:[email protected]]
>>
>>>Realtek 8180L wlan chipset driver.
>>
>>From:
>>http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
>>
>>These drivers are all source and appear to be all GPLed.
>
>
> Only part source so realtek need a little re-education to make them fix
> the drivers. Someone who deals with realtek drivers (Jeff Garzik ?) care
> to start a polite initial dialog ?


Maybe I'm blind but I don't see 8180 wireless support at all there.

They have for a driver whose zipfile is called "8139cp". You unpack it
and it's an ancient 8139too.c with 8139C+ support added :)

But no 8180 support?

Jeff



2003-09-03 18:45:15

by Pascal Schmidt

[permalink] [raw]
Subject: Re: Driver Model

On Wed, 03 Sep 2003 20:00:24 +0200, you wrote in linux.kernel:

> The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> of usage.

Where is the restriction? You get the source code, you can roll your
own and remove the GPL_ONLY stuff. Apart from that I do not recall
to have seen anything about restrictions of usage in the GPL... the
only thing it tries to prevent is the source code becoming proprietary.

--
Ciao,
Pascal

2003-09-03 18:54:33

by Alan

[permalink] [raw]
Subject: RE: Driver Model

On Mer, 2003-09-03 at 18:38, Andre Hedrick wrote:
> The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> of usage. People will say that I am nuts and have spent to much time in
> the disk drive layers and my brain has not stopped spinning to reconnect
> to the stem.

Mummy there's a troll on the list again...

The GPL itself says that derivative works must be GPL. The GPL_ONLY
stuff just helps make that clear.

2003-09-03 20:10:00

by Andre Hedrick

[permalink] [raw]
Subject: Re: Driver Model


On Wed, 3 Sep 2003, Pascal Schmidt wrote:

> On Wed, 03 Sep 2003 20:00:24 +0200, you wrote in linux.kernel:
>
> > The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> > usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> > of usage.
>
> Where is the restriction? You get the source code, you can roll your
> own and remove the GPL_ONLY stuff. Apart from that I do not recall
> to have seen anything about restrictions of usage in the GPL... the
> only thing it tries to prevent is the source code becoming proprietary.

Pascal,

I agree with you and you make the point clear!
There are people who have issued letters to big linux distributors in the
US about changing a symbol types. That is a restriction for usage, in my
opinion.

Cheers,

Andre


2003-09-03 22:41:40

by David Schwartz

[permalink] [raw]
Subject: RE: Driver Model



> On Wed, 03 Sep 2003 20:00:24 +0200, you wrote in linux.kernel:

> > The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> > usage. So "GPL_ONLY" has in effect violated GPL, by imposing
> > restrictions
> > of usage.

> Where is the restriction? You get the source code, you can roll your
> own and remove the GPL_ONLY stuff. Apart from that I do not recall
> to have seen anything about restrictions of usage in the GPL... the
> only thing it tries to prevent is the source code becoming proprietary.

If the GPL_ONLY stuff is a license enforcement scheme, the DMCA prohibits
you from removing it. If the GPL_ONLY stuff is not a license enforcement
scheme, nothing prohibits you from stamping your module GPL when it's not.

However, the GPL (section 2b) prohibits you from imposing any restrictions
other than those in the GPL itself. The GPL contains no restrictions that
apply to mere use and the GPL_ONLY stuff affects use, so it can't be a
license restriction, hence there is no restriction to enforce.

I don't see anything preventing a GPL'd work from containing code that
imposes restrictions actually contained in the GPL and using the DMCA to
enforce them. But it would have to be a restriction contained in the GPL
itself, and there is no restriction about what code you can use with a GPL'd
work.

DS


2003-09-03 22:41:33

by David Schwartz

[permalink] [raw]
Subject: RE: Driver Model


> On Mer, 2003-09-03 at 15:36, Stuart MacDonald wrote:
> > If the MODULE_LICENSE() macro is what determines taint, what's to
> > prevent a company from compiling their driver in their own kernel tree
> > with that macro and releasing it binary-only? Wouldn't that module
> > then be taint-free?

> They would be representing their module is GPL when its not, obtaining
> services by deceving people (3rd party support) and if they used _GPL
> symbols probably violating the DMCA by bypassing a digital rights
> system.

Holy crap! You've totally pegged my hypocrisy meter.

It is an outright blatant violation of the GPL to build use limitations
into GPL'd works and then use the DMCA to prevent people from removing or
bypassing those limitations.

Next I'm going to add some new features to Linux and my code will check for
a license certificate before it runs. I'll use the DMCA to protect the
license check but I'll distribute the source code just like the GPL requires
me to.

No, the GPL does not require derived works to be GPL'd. No, the GPL does
not allow you to impose additional usage restrictions and use the DMCA to
prohibit people from modifying the code to use it the way they want.

DS


2003-09-03 23:11:29

by Pascal Schmidt

[permalink] [raw]
Subject: RE: Driver Model

On Wed, 3 Sep 2003, David Schwartz wrote:

> If the GPL_ONLY stuff is a license enforcement scheme, the DMCA
> prohibits you from removing it.

-ENOTUSCITIZEN

> If the GPL_ONLY stuff is not a license enforcement scheme, nothing
> prohibits you from stamping your module GPL when it's not.

I'd say its up to the lawyers and judges to find out whether having
MODULE_LICENSE("GPL") in a module means anything legally. It might
mean "I promise this module is made from GPL source", but it might
also mean nothing.

> However, the GPL (section 2b) prohibits you from imposing any
> restrictions other than those in the GPL itself.

Section 2b) in the file COPYING in the root dir of the kernel source
does not talk about restrictions. Are we talking about the same version
of the GPL?

> The GPL contains no restrictions that
> apply to mere use and the GPL_ONLY stuff affects use, so it can't be a
> license restriction, hence there is no restriction to enforce.

The GPL doesn't even cover use of the "product". It covers modification
and redistribution.

Well, it is still an open question whether kernel modules are derived
works or not, especially since we don't have a stable kernel ABI and
therefore modules have to use part of the kernel source (headers) and
module writers have to study kernel code to write their modules (since
there is no official complete documentation about functions in the
kernel).

If modules are derived works, then legally, following the GPL, they
must be GPL too and GPL_ONLY is no problem but pointless.

Seems to me you could say GPL_ONLY is a way of the developer saying
"I consider your stuff to be a derived work if you use this symbol".
Ask a lawyer whether that's their decision to make. ;)

Apart from that, I fail to see how it is an addition restriction
when you still have the right to remove all the GPL_ONLY stuff. After
all, the kernel is GPLed work, so you have the right to remove
things and distribute the result. How is it a real restriction when
the license allows you to remove it?

--
Ciao,
Pascal

2003-09-03 23:34:02

by David Schwartz

[permalink] [raw]
Subject: RE: Driver Model


> On Wed, 3 Sep 2003, David Schwartz wrote:

> > If the GPL_ONLY stuff is a license enforcement scheme, the DMCA
> > prohibits you from removing it.

> -ENOTUSCITIZEN

In that case, there is more than likely nothing that prevents you from
doing whatever you want.

> > If the GPL_ONLY stuff is not a license enforcement scheme, nothing
> > prohibits you from stamping your module GPL when it's not.

> I'd say its up to the lawyers and judges to find out whether having
> MODULE_LICENSE("GPL") in a module means anything legally. It might
> mean "I promise this module is made from GPL source", but it might
> also mean nothing.

Probably so.

> > However, the GPL (section 2b) prohibits you from imposing any
> > restrictions other than those in the GPL itself.

> Section 2b) in the file COPYING in the root dir of the kernel source
> does not talk about restrictions. Are we talking about the same version
> of the GPL?

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

In other words, if you want to distribute the Linux kernel, you must
license it under the terms of the GPL. You may not impose additional
restrictions because if you do, you're not causing it to be distribute under
the terms of "this License".

So if I download the Linux kernel from somewhere, someone distributed it to
me. Hence, if they complied with the GPL, I am under only the obligations
imposed by the GPL.

> > The GPL contains no restrictions that
> > apply to mere use and the GPL_ONLY stuff affects use, so it can't be a
> > license restriction, hence there is no restriction to enforce.

> The GPL doesn't even cover use of the "product". It covers modification
> and redistribution.

It does cover use. Specifically, it permits unrestriced use. If you
received GPL'd code, you have the unrestricted right to use it. That's what
section 2b says.

> Well, it is still an open question whether kernel modules are derived
> works or not, especially since we don't have a stable kernel ABI and
> therefore modules have to use part of the kernel source (headers) and
> module writers have to study kernel code to write their modules (since
> there is no official complete documentation about functions in the
> kernel).

Non-issue. I'm talking about your rights to *use* the kernel.

> If modules are derived works, then legally, following the GPL, they
> must be GPL too and GPL_ONLY is no problem but pointless.

You must not be reading the same GPL I am. Can you please cite to me the
section that requires derived works to be placed under the GPL. I can't find
it.

> Seems to me you could say GPL_ONLY is a way of the developer saying
> "I consider your stuff to be a derived work if you use this symbol".
> Ask a lawyer whether that's their decision to make. ;)

But that's not what it does. It prevents you from using the kernel in
certain ways. The GPL does not permit such usage restrictions. It also
restricts your ability to create and use derived works. The GPL similarly
does not permit such restrictions. The only restrictions the GPL allows a
distributed derived work to contain are those specifically imposed by the
GPL, and those restrictions only kick in at distribution.

If there were distribution restrictions, you'd have an argument. But we are
talking about use restrictions.

> Apart from that, I fail to see how it is an addition restriction
> when you still have the right to remove all the GPL_ONLY stuff.

You only have that right (in the United States) if the GPL_ONLY stuff is
*not* a copyright enforcement scheme.

> After
> all, the kernel is GPLed work, so you have the right to remove
> things and distribute the result. How is it a real restriction when
> the license allows you to remove it?

Fine, so long as we all agree that the GPL_ONLY stuff is not a copyright or
license enforcement scheme and that evading or modifying it is not evading a
copyright/license enforcement scheme. In this case, you cannot argue that
the DMCA prohibits claiming a GPL license for purposes of compatability.

DS


2003-09-04 01:38:14

by Pascal Schmidt

[permalink] [raw]
Subject: RE: Driver Model

On Wed, 3 Sep 2003, David Schwartz wrote:

> In other words, if you want to distribute the Linux kernel, you must
> license it under the terms of the GPL. You may not impose additional
> restrictions because if you do, you're not causing it to be distribute
> under the terms of "this License".

Correct.

> It does cover use.

In section 0:

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.

> Specifically, it permits unrestriced use. If you
> received GPL'd code, you have the unrestricted right to use it. That's
> what section 2b says.

No, section 2b gives you the the right to copy, distribute, and modify
the code (as the license only covers those rights, as per section 0) and
no restrictions may be placed on those specific rights.

> Non-issue. I'm talking about your rights to *use* the kernel.

Well, I'm not buying the argument that the GPL has anything to say
about usage.

> You must not be reading the same GPL I am. Can you please cite to me the
> section that requires derived works to be placed under the GPL. I can't
> find it.

You quoted it yourself. 2b)

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

"work that ... is derived from the Program or any part thereof"

> But that's not what it does. It prevents you from using the kernel in
> certain ways. The GPL does not permit such usage restrictions.

Lots of GPL'ed programs refuse to be used in certain ways. For example,
fetchmail will refuse to run with a world-readable .fetchmailrc file.

> It also restricts your ability to create and use derived works. The GPL
> similarly does not permit such restrictions.

That it does not, and such a restriction would violate the GPL, I'd
agree to that.

> You only have that right (in the United States) if the GPL_ONLY stuff is
> *not* a copyright enforcement scheme.

How can it be that? It does not restrict copying nor distribution
nor modification.

People here are saying that it's more of a hint to people that they
better think hard and ask a lawyer before implementing non-GPL'ed
kernel modules.

I think you bringing the DMCA into this shows an interesting aspect
of that law: who gets to say what is a copyright enforcement scheme
and what is not?

--
Ciao,
Pascal

2003-09-04 01:55:42

by Andre Hedrick

[permalink] [raw]
Subject: RE: Driver Model


Pascal,

SUPER HIGH FIVE!

You have made the obvious clear, and most will not even follow or listen.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

On Thu, 4 Sep 2003, Pascal Schmidt wrote:

> On Wed, 3 Sep 2003, David Schwartz wrote:
>
> > If the GPL_ONLY stuff is a license enforcement scheme, the DMCA
> > prohibits you from removing it.
>
> -ENOTUSCITIZEN
>
> > If the GPL_ONLY stuff is not a license enforcement scheme, nothing
> > prohibits you from stamping your module GPL when it's not.
>
> I'd say its up to the lawyers and judges to find out whether having
> MODULE_LICENSE("GPL") in a module means anything legally. It might
> mean "I promise this module is made from GPL source", but it might
> also mean nothing.
>
> > However, the GPL (section 2b) prohibits you from imposing any
> > restrictions other than those in the GPL itself.
>
> Section 2b) in the file COPYING in the root dir of the kernel source
> does not talk about restrictions. Are we talking about the same version
> of the GPL?
>
> > The GPL contains no restrictions that
> > apply to mere use and the GPL_ONLY stuff affects use, so it can't be a
> > license restriction, hence there is no restriction to enforce.
>
> The GPL doesn't even cover use of the "product". It covers modification
> and redistribution.
>
> Well, it is still an open question whether kernel modules are derived
> works or not, especially since we don't have a stable kernel ABI and
> therefore modules have to use part of the kernel source (headers) and
> module writers have to study kernel code to write their modules (since
> there is no official complete documentation about functions in the
> kernel).
>
> If modules are derived works, then legally, following the GPL, they
> must be GPL too and GPL_ONLY is no problem but pointless.
>
> Seems to me you could say GPL_ONLY is a way of the developer saying
> "I consider your stuff to be a derived work if you use this symbol".
> Ask a lawyer whether that's their decision to make. ;)
>
> Apart from that, I fail to see how it is an addition restriction
> when you still have the right to remove all the GPL_ONLY stuff. After
> all, the kernel is GPLed work, so you have the right to remove
> things and distribute the result. How is it a real restriction when
> the license allows you to remove it?
>
> --
> Ciao,
> Pascal
>
> -
> 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/
>

2003-09-04 03:02:06

by David Schwartz

[permalink] [raw]
Subject: RE: Driver Model


> On Wed, 3 Sep 2003, David Schwartz wrote:
>
> > In other words, if you want to distribute the Linux kernel, you must
> > license it under the terms of the GPL. You may not impose additional
> > restrictions because if you do, you're not causing it to be distribute
> > under the terms of "this License".
>
> Correct.
>
> > It does cover use.
>
> In section 0:
>
> Activities other than copying, distribution and modification are not
> covered by this License; they are outside its scope.

So are you arguing that I can distribute a derived work from the Linux
kernel and attach a 'you may not use this unless you pay me $100' clause and
it would be enforceable?

> > Specifically, it permits unrestriced use. If you
> > received GPL'd code, you have the unrestricted right to use it. That's
> > what section 2b says.
>
> No, section 2b gives you the the right to copy, distribute, and modify
> the code (as the license only covers those rights, as per section 0) and
> no restrictions may be placed on those specific rights.

If you are right, you've discovered a serious fundamental flaw in the GPL.
I can distribute code under the GPL and prohibit anyone from using derived
works, hence effectively removing their freedom to modify.

> > Non-issue. I'm talking about your rights to *use* the kernel.
>
> Well, I'm not buying the argument that the GPL has anything to say
> about usage.

Then you have no right to usage. The preamble contradicts this, but I doubt
it's binding.

> > You must not be reading the same GPL I am. Can you please cite to me the
> > section that requires derived works to be placed under the GPL. I can't
> > find it.
>
> You quoted it yourself. 2b)
>
> b) You must cause any work that you distribute or publish, that in
> whole or in part contains or is derived from the Program or any
> part thereof, to be licensed as a whole at no charge to all third
> parties under the terms of this License.
>
> "work that ... is derived from the Program or any part thereof"

This is only about works that you distribute or publish. We're talking
about using modules.

> > But that's not what it does. It prevents you from using the kernel in
> > certain ways. The GPL does not permit such usage restrictions.
>
> Lots of GPL'ed programs refuse to be used in certain ways. For example,
> fetchmail will refuse to run with a world-readable .fetchmailrc file.

Yes, but nobody's arguing that these are license enforcement schemes or
that this is a license restriction. Nobody would complain if you removed
those restrictions. The question here is whether the GPL_ONLY stuff is a
copyright enforcement mechanism or license restriction. If we agree it's not
and anyone is free to circumvent or remove it, then there's nothing to
dispute.

> > It also restricts your ability to create and use derived works. The GPL
> > similarly does not permit such restrictions.
>
> That it does not, and such a restriction would violate the GPL, I'd
> agree to that.

Okay.

> > You only have that right (in the United States) if the GPL_ONLY stuff is
> > *not* a copyright enforcement scheme.

> How can it be that? It does not restrict copying nor distribution
> nor modification.

Copyright enforcement schemes can also restrict usage. Access cards for
satellite TV are purely usage restriction devices.

> People here are saying that it's more of a hint to people that they
> better think hard and ask a lawyer before implementing non-GPL'ed
> kernel modules.

I'd agree with that.

> I think you bringing the DMCA into this shows an interesting aspect
> of that law: who gets to say what is a copyright enforcement scheme
> and what is not?

The law has a somewhat incomprehensible definition of what consitutes such
a scheme. I don't think anybody really knows what things would be considered
copyright enforcement schemes and what would not.

Your argument that the GPL does not grant usage rights is troubling. If
it's correct, then I have no right to use the Linux kernel, since the
copyright holders never granted it to me!

DS


2003-09-04 11:06:45

by Alan

[permalink] [raw]
Subject: RE: Driver Model

On Mer, 2003-09-03 at 23:41, David Schwartz wrote:
> Next I'm going to add some new features to Linux and my code will check for
> a license certificate before it runs. I'll use the DMCA to protect the
> license check but I'll distribute the source code just like the GPL requires
> me to.

Tivo already do this.

Subject: Re: Driver Model

Andre Hedrick <[email protected]> writes:

>why many people have earned the title of "GPL NAZIS".

Godwin's law. You lost.

Regards
Henning

--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
[email protected] +49 9131 50 654 0 http://www.intermeta.de/

Java, perl, Solaris, Linux, xSP Consulting, Web Services
freelance consultant -- Jakarta Turbine Development -- hero for hire

"Dominate!! Dominate!! Eat your young and aggregate! I have grotty silicon!"
-- AOL CD when played backwards (User Friendly - 200-10-15)

2003-09-04 14:23:17

by Pascal Schmidt

[permalink] [raw]
Subject: RE: Driver Model

On Wed, 3 Sep 2003, David Schwartz wrote:

> So are you arguing that I can distribute a derived work from the Linux
> kernel and attach a 'you may not use this unless you pay me $100' clause
> and it would be enforceable?

Well, the GPL does not allow you to impose retrictions on copying and
redistribution, so you cannot disallow others redistributing your work
without your usage clause attached, and it would be legal for them to
do that under the GPL.

Your restriction could only effect the part of the kernel you
actually modified, because that would be the only part you have
copyright on. How are you going to prove people used that part? They
have the right to modify the copy, unrestricted, so they could've
taken your piece of the code out before using the kernel.

> If you are right, you've discovered a serious fundamental flaw in the
> GPL. I can distribute code under the GPL and prohibit anyone from using
> derived works, hence effectively removing their freedom to modify.

No, I don't see how you have influence over derived works. Nothing in
the GPL allows you to bind redistributors to your usage clause, since
copying and redistribution is covered by the GPL.

> Then you have no right to usage. The preamble contradicts this, but I
> doubt it's binding.

Well, under German law, if I have the right to legally obtain something,
I automatically have the right to usage. Law only comes into play again if
I redistribute it or use it in public in some illegal way.

Under German law, you need a real contract in place for usage
restrictions to be effective or you need to make certain kinds of
usage technically impossible (because if you don't, courts will say
you did not even attempt to protect your interests). And no, MS-type
"open this bag and you're bound to our license" is not a legal contract
over here. Violation of the usage restriction would then fall under
contract law, not copyright law.

I don't see how GPL'ed code can have technical restrictions since I
can easily compile and change it and I don't have to sign a contract to
get it since the license grants unrestricted redistribution right.

This may all be different in the US, of course.

> This is only about works that you distribute or publish. We're talking
> about using modules.

Well, somebody must have distributed the module, and if that act was
illegal because of a GPL violation, I don't know whether you have any
right to usage anyway.

> Copyright enforcement schemes can also restrict usage. Access cards for
> satellite TV are purely usage restriction devices.

These come with a contract here in Germany, and once you have a contract,
you can of course, within some limits, put usage restrictions in it as
much as you like. You just have to make sure you only give the card to
someone who has indeed signed the contract.

--
Ciao,
Pascal