Re: GPL vs non-GPL device drivers

2007-04-01 Thread devzero

Linux and OpenSource is evolution - go on and create your closed source drivers 
and do your own closed-source fork - go on and create your own little homo 
neanderthalensis !
___
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192

-
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/


Re: GPL vs non-GPL device drivers

2007-04-01 Thread devzero

Linux and OpenSource is evolution - go on and create your closed source drivers 
and do your own closed-source fork - go on and create your own little homo 
neanderthalensis !
___
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192

-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Alan
> Macrovision.

Just about every vendors hardware can do Macrovision. They just forget to
include the Macrovision control in published code, or hide it in a tiny
extra driver (Matrox) or in the BIOS switching firmware (SiS)

> Just so you know I'm not making this up:  I know where the "defeat
> Macrovision" bits are on certain devices, and if I told you, Jack

They've been published repeatedly, people have even released source code
with some of the macrovision functions included. One of the DVD hardware
vendors for example released complete Macrovision programming code for
their DVD hardware to the public.

The Nvidia driver code sets that have been investigated show no sign of
either secret macrovision code or delay loops, or stuff crippling the
chip. There is a reason for the last twopeople do speed limiting with
hardware traces because every kiddie on the planet can do software or
jumper based ones. 

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Michael K. Edwards

On 2/25/07, Trent Waddington <[EMAIL PROTECTED]> wrote:

On 2/26/07, Michael K. Edwards <[EMAIL PROTECTED]> wrote:
> I know it's fun to blame everything on Redmond, but how about a
> simpler explanation?

Says the master of conspiracy.


Yes, I rather chuckled at the irony as I wrote that one.  :-)  But
there is a difference.  I've provided you with independent sources for
the basic data -- Nimmer and Corbin and dozens of appellate opinions
for the universal contract nature of copyright licenses, guidestar.org
for Form 990s, links that you can follow a couple of hops to two
actual letters of opinion that Moglen has written suggesting "GPL
circumvention" techniques, facts that you can verify about the
financial dealings surrounding the formation and acquisition of Cygnus
Solutions, the campaign to squeeze OpenSSL out of the GNUniverse, and
the unreproducibility of commercial cross-compilers built around GCC.
You don't have to believe a damn thing I say -- read the law and
follow the money trail for yourself.

If you care to know more about how the racket works, you can do your
own damn homework and see if you reach the same conclusions I did two
years ago.  Subsequent events -- the forced merger of OSDL into the
Linux Foundation, the flowering of the SFLC into the Software Freedom
Conservancy, the sunset of Oracle on Sun and rise of Unbreakable
Linux, the hocus-pocus around "license compatibility" as first Intel
and HP, then Sun, knuckle under, switch to the GPL, and start pressing
IBM and Oracle to do the same, the war of the "patent pledges" -- fit
into the same pattern.  I was disgusted then, and I haven't seen any
reason to become less so.  I don't actually enjoy this sort of
muckraking -- it's dirty work and I have better things to do.

Watch for more posturing about Microsoft/Novell -- funny how the
distro that regularly pays Eben Moglen to give keynote speeches has
been charging by the seat for years, but the distro that does a deal
with the _other_ devil is threatened with being written out of GPL v3.
Watch for -- but wait, I gave up ranting for Lent.  Watch for
anything you like, keep scanning the horizon for Moby Ballmer and his
secret deals to keep you dual-booting into Windows for your
frag-fests.  When your pet shark in law professor's clothing decides
_your_ arm would be tasty next, don't come crying to me.  This really
is the absolute last I have to say on this topic in a public forum, in
2007 anyhow.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Michael K. Edwards

On 2/25/07, Alan <[EMAIL PROTECTED]> wrote:

> Busy-wait loops were a rhetorical flourish, I grant you.

Thats a complicated fancy way of saying you were talking rubbish ?


No, it's a way of saying "yes, there are deliberate performance limits
in the driver code, but they're harder to explain than busy-wait
loops".  Ask anyone who has worked inside a peripheral device company,
especially one that sells into the OEM/ODM market.  It is
_standard_practice_ to fab a single chip design that runs as fast as
you know how, and then dumb it down in firmware to meet the spec that
the board vendor is willing to pay for.  If you don't, those guys will
steal you blind, diverting chips intended (and priced) for low-margin
commodity mobos into the high-margin gamer market.

There is, however, a gross error in my latest explanation of why ATI
and NVidia don't provide full driver source code.  Really an
embarrassing oversight.  Wouldn't blame you for ripping me a new one
over it.  Pity you were busy taking cheap shots at my tortured syntax.
Here's what I forgot:

Macrovision.

Not that any of the stuff about market segmentation, retail margins,
and the FCC isn't true, but it's not the scariest thing in a PC
graphics vendor's world.  The scariest thing in their world is the
possibility that it will become widely known how to defeat the
"Macrovision in, Macrovision out" mechanism (and the equivalent for
DVD playback and HDMI).

Just so you know I'm not making this up:  I know where the "defeat
Macrovision" bits are on certain devices, and if I told you, Jack
Valenti would personally come to my house and ream me out with a
red-hot poker.  (Alan, that's a special kind of "talking rubbish"
known as "comic hyperbole".  I learned it from your Monty Python.  :-)
Seriously though, those bits are in there, they're software
controlled (or were when I last fiddled with set-tops), and there are
large security deposits and large threats of being shut out of the
MPEG/DVD and DVI/HDMI patent pools riding on the graphics card makers'
promises to keep them hidden.  Not that they're that hard to reverse
engineer -- but they're not going to help you.

You're going to say this cat is already out of the bag; a quarter of
the teenagers in developed countries have the MaD sKiLlZ to rip DVDs
and pass them around on BitTorrent like so much 1970s kiddie porn.
And maybe that's so; but imagine next year's family PC with the HDMI
port attached to the 62" HDTV, dual-booting pirated Windows for
pirated first-person shooters and Linux for pirated DVDs, both of them
conveniently pre-installed by the neighborhood store-front beige-box
assembler.  That's the MPAA's worst nightmare -- and frankly, I'm not
too keen on it either.  I like seeing old movies lovingly restored and
published on DVD.  I'd like to see them come out someday in 16:9 720p,
preferably while my eyes are still good enough to tell the difference.

Anyway, that's more than enough purple prose.  Believe what you want to believe.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Michael K. Edwards

On 2/25/07, Alan [EMAIL PROTECTED] wrote:

 Busy-wait loops were a rhetorical flourish, I grant you.

Thats a complicated fancy way of saying you were talking rubbish ?


No, it's a way of saying yes, there are deliberate performance limits
in the driver code, but they're harder to explain than busy-wait
loops.  Ask anyone who has worked inside a peripheral device company,
especially one that sells into the OEM/ODM market.  It is
_standard_practice_ to fab a single chip design that runs as fast as
you know how, and then dumb it down in firmware to meet the spec that
the board vendor is willing to pay for.  If you don't, those guys will
steal you blind, diverting chips intended (and priced) for low-margin
commodity mobos into the high-margin gamer market.

There is, however, a gross error in my latest explanation of why ATI
and NVidia don't provide full driver source code.  Really an
embarrassing oversight.  Wouldn't blame you for ripping me a new one
over it.  Pity you were busy taking cheap shots at my tortured syntax.
Here's what I forgot:

Macrovision.

Not that any of the stuff about market segmentation, retail margins,
and the FCC isn't true, but it's not the scariest thing in a PC
graphics vendor's world.  The scariest thing in their world is the
possibility that it will become widely known how to defeat the
Macrovision in, Macrovision out mechanism (and the equivalent for
DVD playback and HDMI).

Just so you know I'm not making this up:  I know where the defeat
Macrovision bits are on certain devices, and if I told you, Jack
Valenti would personally come to my house and ream me out with a
red-hot poker.  (Alan, that's a special kind of talking rubbish
known as comic hyperbole.  I learned it from your Monty Python.  :-)
Seriously though, those bits are in there, they're software
controlled (or were when I last fiddled with set-tops), and there are
large security deposits and large threats of being shut out of the
MPEG/DVD and DVI/HDMI patent pools riding on the graphics card makers'
promises to keep them hidden.  Not that they're that hard to reverse
engineer -- but they're not going to help you.

You're going to say this cat is already out of the bag; a quarter of
the teenagers in developed countries have the MaD sKiLlZ to rip DVDs
and pass them around on BitTorrent like so much 1970s kiddie porn.
And maybe that's so; but imagine next year's family PC with the HDMI
port attached to the 62 HDTV, dual-booting pirated Windows for
pirated first-person shooters and Linux for pirated DVDs, both of them
conveniently pre-installed by the neighborhood store-front beige-box
assembler.  That's the MPAA's worst nightmare -- and frankly, I'm not
too keen on it either.  I like seeing old movies lovingly restored and
published on DVD.  I'd like to see them come out someday in 16:9 720p,
preferably while my eyes are still good enough to tell the difference.

Anyway, that's more than enough purple prose.  Believe what you want to believe.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Michael K. Edwards

On 2/25/07, Trent Waddington [EMAIL PROTECTED] wrote:

On 2/26/07, Michael K. Edwards [EMAIL PROTECTED] wrote:
 I know it's fun to blame everything on Redmond, but how about a
 simpler explanation?

Says the master of conspiracy.


Yes, I rather chuckled at the irony as I wrote that one.  :-)  But
there is a difference.  I've provided you with independent sources for
the basic data -- Nimmer and Corbin and dozens of appellate opinions
for the universal contract nature of copyright licenses, guidestar.org
for Form 990s, links that you can follow a couple of hops to two
actual letters of opinion that Moglen has written suggesting GPL
circumvention techniques, facts that you can verify about the
financial dealings surrounding the formation and acquisition of Cygnus
Solutions, the campaign to squeeze OpenSSL out of the GNUniverse, and
the unreproducibility of commercial cross-compilers built around GCC.
You don't have to believe a damn thing I say -- read the law and
follow the money trail for yourself.

If you care to know more about how the racket works, you can do your
own damn homework and see if you reach the same conclusions I did two
years ago.  Subsequent events -- the forced merger of OSDL into the
Linux Foundation, the flowering of the SFLC into the Software Freedom
Conservancy, the sunset of Oracle on Sun and rise of Unbreakable
Linux, the hocus-pocus around license compatibility as first Intel
and HP, then Sun, knuckle under, switch to the GPL, and start pressing
IBM and Oracle to do the same, the war of the patent pledges -- fit
into the same pattern.  I was disgusted then, and I haven't seen any
reason to become less so.  I don't actually enjoy this sort of
muckraking -- it's dirty work and I have better things to do.

Watch for more posturing about Microsoft/Novell -- funny how the
distro that regularly pays Eben Moglen to give keynote speeches has
been charging by the seat for years, but the distro that does a deal
with the _other_ devil is threatened with being written out of GPL v3.
Watch for -- but wait, I gave up ranting for Lent.  Watch for
anything you like, keep scanning the horizon for Moby Ballmer and his
secret deals to keep you dual-booting into Windows for your
frag-fests.  When your pet shark in law professor's clothing decides
_your_ arm would be tasty next, don't come crying to me.  This really
is the absolute last I have to say on this topic in a public forum, in
2007 anyhow.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-26 Thread Alan
 Macrovision.

Just about every vendors hardware can do Macrovision. They just forget to
include the Macrovision control in published code, or hide it in a tiny
extra driver (Matrox) or in the BIOS switching firmware (SiS)

 Just so you know I'm not making this up:  I know where the defeat
 Macrovision bits are on certain devices, and if I told you, Jack

They've been published repeatedly, people have even released source code
with some of the macrovision functions included. One of the DVD hardware
vendors for example released complete Macrovision programming code for
their DVD hardware to the public.

The Nvidia driver code sets that have been investigated show no sign of
either secret macrovision code or delay loops, or stuff crippling the
chip. There is a reason for the last twopeople do speed limiting with
hardware traces because every kiddie on the planet can do software or
jumper based ones. 

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread D. Hazelton
On Sunday 25 February 2007 19:47, David Schwartz wrote:

>
> > Similary, there are many ways to write inline functions present in
> > headers, and no, embedded developer being lazy does not mean they can
> > copy those functions into their proprietary module.
>
> Yes, it does. Have you read Lexmark v. Static Controls? You can take what
> you need to interoperate.

This is apples and oranges, to use your idiom. In that case Lexmark had the 
code in the toner cartridges had to have a specific SHA1 hash in order for 
the printer to recognize them. Because the only way, then, to produce a 
functional toner cartridge for the printer was to *copy* that code *exactly*. 
In the case of a system where this is not the case, then you are free to 
write your own interface functions. If Lexmark had *not* been using a SHA1 
hash to validate that the cartridge was produced by them (and that is the 
real reason - Lexmark wanted to lock users of their printers into buying new 
toner cartridges from them) the case would have gone against Static Controls. 
The Lexmark v Static Controls decision applies only to interfaces where there 
is only, literally, one way to do it. What this means is that, yes, any use 
of the code in a GPL'd product that could be written in another manner is not 
covered by the "interoperability standard" that Lexmark v Static Controls 
describes. (No argument here, people: Lexmark v. Static Controls basically 
says "Since the only way for this replacement toner cartridge to work was to 
have the 'Toner Loading Program' exactly copied from one of the cartridges 
produced by Lexmark doing such is fair use." All application of this 
precedent to other things must show the exact same thing - namely that the 
*one* and *only* way for something you have designed/written to fulfill its 
purpose is to rely on a copy of a copyrighted work.  This ruling *only* 
applies to making computers, peripherals or parts of those peripherals and 
the copyrighted item that makes it interoperable.

Lexmark v. Static Controls does not give people carte blanche to use 
interfaces to programs that could be re-implemented by them without causing 
the output to stop functioning. In the given example the work including the 
GPL'd header file and using its functions is in violation of the GPL if not 
released under the GPL but is distributed. Why? Because unless there was some 
form of lock-in making those functions a requirement for interoperability 
the "Evil Hacker" could have written and used his own versions and his 
plugin/program would still have been interoperable.

DRH
-
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/


RE: GPL vs non-GPL device drivers

2007-02-25 Thread David Schwartz

> > Right, but *why* is he doing that? The answer: It is the most
> > practical way
> > to write his driver.

> Most practical way to get something Windows compatible is to pirate
> Windows; I do not think that gives me permission to do so.

This is comparing apples to oranges because Windows has an EULA. EULAs,
shrink-wraps, or the like change everything.

However, your statement is self-contradictory. By definition, to "pirate"
something is not to take what is practically needed to make it interoperate
with something else.

My point is that taking what you practically need to make something
interoperate with something else is *not* pirating. It is *not* taking
protected content, it is taking function.

How hard is this to understand -- you *cannot* use copyright to make any
ideas harder to express. A kernel driver to make a particular piece of
hardware work with a particular version of Linux *IS* an idea. You cannot
own the most practical ways to express an idea -- you can only own the one
way you chose to express that particular idea.

> Similary, there are many ways to write inline functions present in
> headers, and no, embedded developer being lazy does not mean they can
> copy those functions into their proprietary module.

Yes, it does. Have you read Lexmark v. Static Controls? You can take what
you need to interoperate.

DS


-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Trent Waddington

On 2/26/07, Michael K. Edwards <[EMAIL PROTECTED]> wrote:

I know it's fun to blame everything on Redmond, but how about a
simpler explanation?


Says the master of conspiracy.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread D. Hazelton
On Sunday 25 February 2007 06:54, Michael K. Edwards wrote:
> On 2/25/07, Pavel Machek <[EMAIL PROTECTED]> wrote:

> But a 20KLoC 3-D graphics driver that happens to #include
>  is not thereby a "derivative work" of the kernel,
> no matter how many entrypoints are labeled EXPORT_SYMBOL_GPL or
> provided as inline functions.  And under the Lexmark standard,
> MODULE_LICENSE("GPL") with a disclaimer in the doco is by far the
> sanest way to deal with the EXPORT_SYMBOL_GPL mind games, and likely
> (IANAL, TINLA) to be endorsed by any court in the US and probably lots
> of other places too.  Especially when the graphics chip maker explains
> that keeping their driver source code closed isn't really an attempt
> to hide their knowledge under a bushel basket.  It's a defensive
> measure against having their retail margins destroyed by nitwits who
> take out all the busy-wait loops and recompile with -O9 to get another
> tenth of a frame per second, and then pretend ignorance when
> attempting to return their slagged GPU at Fry's.

At that point, Mike, you are treading on *very* thin ice. With Intel having 
released the complete source to their chipsets and with the number of totally 
free 3D drivers that don't slag GPU's...

However - if the hardware is really that fickle then why is it on the market? 
Yes, it can run hot enough to slag itself - all modern CPU's run the same 
risk. Yet people, mostly the "Power Gamers", will push a CPU beyond their 
rated spec's and have it riding the edge of thermal breakdown. Because of the 
nature of the 3D accelerator market most manufacturers (of the chips 
themselves) have already pushed their chips to that thermal edge, and some of 
the makers of the boards will even provide the end user means to push the 
chips even further.

However, even *with* some hardware manufacturers providing a way for the 
end-user to do it, pushing the componets to the edge of thermal breakdown (or 
beyond and keeping them in check through an active cooling system) is 
not "normal and expected use". As well, if the that is the argument that 
NVidia and ATI use (that they are worried about people recompiling the code 
with busy-loops stripped out) then they don't know the Open Source community 
well. In general the people that are most likely to recompile the driver with 
the busy-loops removed don't run Open Source systems - they run Windows. 
Those people are called "competetive gamers" and 99% of the games they play 
are only available for Windows.

What I'm trying to say is: Just like the "It gives away too much information 
on our IP" claim, the "People will recompile it with code needed to keep it 
from destroying itself" claim is bunk. Even moreso if their code is 
documented well enough that the purpose of the busy-wait loop is clear.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Pavel Machek
On Sun 2007-02-25 03:33:38, David Schwartz wrote:
> 
> > But... how does situation change when Evil Linker does #include
> >  from his
> > binary-only part?
> 
> Right, but *why* is he doing that? The answer: It is the most practical way
> to write his driver.

Most practical way to get something Windows compatible is to pirate
Windows; I do not think that gives me permission to do so.

Similary, there are many ways to write inline functions present in
headers, and no, embedded developer being lazy does not mean they can
copy those functions into their proprietary module.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Alan
> Busy-wait loops were a rhetorical flourish, I grant you.  

Thats a complicated fancy way of saying you were talking rubbish ?

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Stephen Clark

Pavel Machek wrote:


Hi!

 


Actually, it's quite clear under US law what a derivative work is and
what rights you need to distribute it, and equally clear that
compiling code does not make a "translation" in a copyright sense.
Read Micro Star v. Formgen -- it's good law and it's funny and
readable.

I've drafted summaries from a couple of different angles since VJ
requested a "translation into English", and I think this is the most
coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
written as an answer to a private query to this effect:  "I write a
POP server and release it under the GPL.  The Evil Linker adds some
hooks to my code, calls those hooks (along some of the existing ones)
from his newly developed program, and only provides recipients of the
binaries with source code for the modified POP server.  His code
depends on, and only works with, this modified version of my POP
server.  Doesn't he have to GPL his whole product, because he's
combined his work with mine?"

This is a fundamental misconception.  A <> is not a "work
   



Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks "void pop_server_starting(), void pop_server_stopping()", he
can get away with that.

But... how does situation change when Evil Linker does #include
 from his
binary-only part?

I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.
Pavel
 

The amount copied has to be significant. A few lines against the 
millions in the kernel would

not be enough to be copyright infringement.

--

"They that give up essential liberty to obtain temporary safety, 
deserve neither liberty nor safety."  (Ben Franklin)


"The course of history shows that as a government grows, liberty 
decreases."  (Thomas Jefferson)




-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Michael K. Edwards

On 2/25/07, Alan <[EMAIL PROTECTED]> wrote:

> of other places too.  Especially when the graphics chip maker explains
> that keeping their driver source code closed isn't really an attempt
> to hide their knowledge under a bushel basket.  It's a defensive
> measure against having their retail margins destroyed by nitwits who
> take out all the busy-wait loops and recompile with -O9 to get another
> tenth of a frame per second, and then pretend ignorance when
> attempting to return their slagged GPU at Fry's.

Wrong as usual...


If this is an error, it's the first one _you've_ caught me in.  Or did
I miss something conformant to external reality in your earlier
critiques?


The Nvidia driver and ATI drivers aren't full of magical delay loops and
if there was a way to fry those cards easily in hardware the virus folks
would already be doing it. The reverse engineering teams know what is in
the existing code thank you. Creating new open source drivers from it is
however hard because of all the corner cases.


Several years ago I worked on a MIPS-based set-top prototype mated to
a graphics+HDTV board from a major PC 3-D vendor.  We had full
documentation and a fair amount of sample code under NDA.  We were on
the vendor's board spin 52 -- 52! and they'd sometimes spun the chip a
couple times internally between released boards -- before it could be
persuaded to do the documented thing with regard to video textures.
In the meantime, we frotzed a lot of boards and chips before we
decided to stick a triple-size fan to the damn thing with thermal
grease and to avoid taking any chances with new VRAM timings except in
the oversized chassis with the jet-engine fans.  Maybe things have
gotten better since then, but I doubt it.

Busy-wait loops were a rhetorical flourish, I grant you.  But software
interlocks on data movement that protect you against some "corner
case" you're unlikely to think of on your own are the norm, as is
software-assisted clock scaling guided by temperature sensors in half
a dozen places on chip and package.  You can drive enough watts
through a laptop GPU to fry an egg on it -- which is not kind to the
BGA bonds.  Yes, I have killed a laptop this way -- one that's
notorious for popping its GPU, but it's no accident that the last
thing I did to it was run a game demo that let me push my luck on the
texture quality.

It's also quite common, or used to be, for the enforcement of limits
on monitor sync timings to be done in software, and it's quite
possible to kill an underdesigned monitor or grossly exceed regulatory
emissions limits by overdriving its resolution and frame rate.  (I've
never actually blown one up myself, but I've pushed my luck
overdriving a laptop dock's DVI and gotten some lovely on-screen
sparklies and enough ultrasonics to set the neighbor's dog to
whining.)  Viruses that kill your monitor may be urban legend, but
it's a can of worms that a smart graphics vendor doesn't want to be
liable for opening.  The FCC also frowns on making it too easy for
hobbyists to turn a Class B device into a two-block-radius FM jammer.


You will instead find that both vendors stopping providing Linux related
source code at about the point they got Xbox related contracts. A matter
which has been pointed out to various competition and legal authorities
and for now where it seems to lie.


I know it's fun to blame everything on Redmond, but how about a
simpler explanation?  The technology and market for 3-D graphics is
now sufficiently mature to allow revenue maximization through market
segmentation -- in other words, charging some people more than others
for the same thing because they're willing and able to pay extra.  The
volumes are also high enough to test chips as they come out of fab and
bin them by maximum usable clock speed, just like Intel has done with
its CPUs for the last decade.  Blow a couple of dozen fuses to set a
chip ID, laser trim a couple of resistors to set a default clock
multiplier, and sell one for ten times what you get for the other.
It's the only way to survive in a mature competitive environment.

Now, suppose the silicon process for GPUs has stabilized to where chip
yields have greatly improved, and maybe 80% of the chips that work at
all are good enough to go in any but the top-of-the-line gamer
specials.  So where do they get the chips for a motherboard that sells
for $69 at Fry's?  They artificially bin them by target spec, blow
those fuses and trim those resistors, and charge what the market will
bear, niche by niche.  The driver picks up on the chip ID and limits
its in-system performance to the advertised spec, and everyone goes
home happy.

The graphics chip vendors are not utterly stupid.  They have seen what
has happened to the retail distribution of x86 CPUs, in which
overclocker types take six mid-range chips home, see which one they
can clock into the stratosphere for 24 hours without actually setting
the motherboard on fire (they don't mind a little toxic 

Re: GPL vs non-GPL device drivers

2007-02-25 Thread Alan
> of other places too.  Especially when the graphics chip maker explains
> that keeping their driver source code closed isn't really an attempt
> to hide their knowledge under a bushel basket.  It's a defensive
> measure against having their retail margins destroyed by nitwits who
> take out all the busy-wait loops and recompile with -O9 to get another
> tenth of a frame per second, and then pretend ignorance when
> attempting to return their slagged GPU at Fry's.

Wrong as usual...

The Nvidia driver and ATI drivers aren't full of magical delay loops and
if there was a way to fry those cards easily in hardware the virus folks
would already be doing it. The reverse engineering teams know what is in
the existing code thank you. Creating new open source drivers from it is
however hard because of all the corner cases.

You will instead find that both vendors stopping providing Linux related
source code at about the point they got Xbox related contracts. A matter
which has been pointed out to various competition and legal authorities
and for now where it seems to lie.

Fortunately at the moment there is a simple cure - buy Intel hardware.
That also has the advantage that you are more likely to get help because
some of us only look at AMD processor related problems as part of
official work duties nowdays, and plan to do so until AMD (as owner
of ATI) behave.

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Michael K. Edwards

On 2/25/07, Pavel Machek <[EMAIL PROTECTED]> wrote:

Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks "void pop_server_starting(), void pop_server_stopping()", he
can get away with that.

But... how does situation change when Evil Linker does #include
 from his
binary-only part?


There is no such thing as a "GPL header file".  There is an original
work of authorship, that is, your POP server.  There is a modified
work of authorship (not exactly a "derivative work", but let's call it
an Annotated Edition in order to bring it into the "derivative works"
category), that is, your POP server as altered by the Evil Linker in a
coherent and readable way.  There is an independent work of
authorship, the Evil Linker's program.  And there is a claim that the
independent work of authorship infringes on the original author's
copyright in the POP server.

If the sole factual basis for that claim is that the Evil Linker's
program contains #include "what_you_said.h", then it's not going to
fly in court (IANAL, TINLA).  The #include directive itself is not
protectable expression, and anything that winds up in the Evil
Linker's binary is either a "method of operation" or "fair use" under
a "minimum practical amount of copying needed to accomplish a
sanctioned purpose" standard.  Interoperation, even competitive
interoperation and circumvention of partner licensing programs, is a
sanctioned purpose under US law.  You have to go pretty far out of
your way to find a case like Atari v. Nintendo in which the court
ruled that the competitor had been too lazy or venal in its reverse
engineering methodology not to be entitled to copy the bits needed to
interoperate.


I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.


Remember, I am not defending people who hack the kernel and then don't
release the source code to their hacked kernel.  (I'm not really
defending people who hack the kernel and write a closed-source
application locked to those hacks, either, although I am saying that
calling such tactics "illegal" or "GPL violation" is irrelevant and
wrong-headed.)  And when what they in fact did was to riffle shuffle
together two drivers from Linus's tarball and change the names of the
symbolic constants to match their hardware interface (itself doubtless
a half-assed clone of someone else's), there's no excuse for GPLing
the result.

But a 20KLoC 3-D graphics driver that happens to #include
 is not thereby a "derivative work" of the kernel,
no matter how many entrypoints are labeled EXPORT_SYMBOL_GPL or
provided as inline functions.  And under the Lexmark standard,
MODULE_LICENSE("GPL") with a disclaimer in the doco is by far the
sanest way to deal with the EXPORT_SYMBOL_GPL mind games, and likely
(IANAL, TINLA) to be endorsed by any court in the US and probably lots
of other places too.  Especially when the graphics chip maker explains
that keeping their driver source code closed isn't really an attempt
to hide their knowledge under a bushel basket.  It's a defensive
measure against having their retail margins destroyed by nitwits who
take out all the busy-wait loops and recompile with -O9 to get another
tenth of a frame per second, and then pretend ignorance when
attempting to return their slagged GPU at Fry's.

Cheers,
- Michael
-
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/


RE: GPL vs non-GPL device drivers

2007-02-25 Thread David Schwartz

> But... how does situation change when Evil Linker does #include
>  from his
> binary-only part?

Right, but *why* is he doing that? The answer: It is the most practical way
to write his driver.

> I believe situation in this case changes a lot... And that's what
> embedded people are doing; I do not think they are creating their own
> headers or their own inline functions where headers contain them.

They don't have to. You *cannot* use copyright to make ideas harder to
express. That's what patents are for.

All the people who make this linking argument seem to be completely missing
the entire *point* of copyright. A copyright protects the *one* way you
chose to express a particular idea. It cannot protect function. It cannot
make other ideas harder to express.

This is not some loophole or something. This is the most fundamental thing
about copyrights that there is. This is the reason they're so easy to get.
This is the reason they last so long. They *cannot* impede interoperation.
They cannot make other ideas harder to express. They can't even make the
very same idea you expressed harder to express.

Copyrights are not patents.

It is clear, at least in the United States, that something like "a kernel
driver to make  work with " is an idea. You cannot own all the most practical ways
to express that idea. When practical engineering concerns make one way (or
one group of ways) the most reasonable, you simply *cannot* own them all
with copyright.

DS


-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Pavel Machek
Hi!

> Actually, it's quite clear under US law what a derivative work is and
> what rights you need to distribute it, and equally clear that
> compiling code does not make a "translation" in a copyright sense.
> Read Micro Star v. Formgen -- it's good law and it's funny and
> readable.
> 
> I've drafted summaries from a couple of different angles since VJ
> requested a "translation into English", and I think this is the most
> coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
> written as an answer to a private query to this effect:  "I write a
> POP server and release it under the GPL.  The Evil Linker adds some
> hooks to my code, calls those hooks (along some of the existing ones)
> from his newly developed program, and only provides recipients of the
> binaries with source code for the modified POP server.  His code
> depends on, and only works with, this modified version of my POP
> server.  Doesn't he have to GPL his whole product, because he's
> combined his work with mine?"
> 
> This is a fundamental misconception.  A <> is not a "work

Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks "void pop_server_starting(), void pop_server_stopping()", he
can get away with that.

But... how does situation change when Evil Linker does #include
 from his
binary-only part?

I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Pavel Machek
Hi!

 Actually, it's quite clear under US law what a derivative work is and
 what rights you need to distribute it, and equally clear that
 compiling code does not make a translation in a copyright sense.
 Read Micro Star v. Formgen -- it's good law and it's funny and
 readable.
 
 I've drafted summaries from a couple of different angles since VJ
 requested a translation into English, and I think this is the most
 coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
 written as an answer to a private query to this effect:  I write a
 POP server and release it under the GPL.  The Evil Linker adds some
 hooks to my code, calls those hooks (along some of the existing ones)
 from his newly developed program, and only provides recipients of the
 binaries with source code for the modified POP server.  His code
 depends on, and only works with, this modified version of my POP
 server.  Doesn't he have to GPL his whole product, because he's
 combined his work with mine?
 
 This is a fundamental misconception.  A product is not a work

Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks void pop_server_starting(), void pop_server_stopping(), he
can get away with that.

But... how does situation change when Evil Linker does #include
pop3/gpl_header_file_with_some_inline_functions.h from his
binary-only part?

I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/


RE: GPL vs non-GPL device drivers

2007-02-25 Thread David Schwartz

 But... how does situation change when Evil Linker does #include
 pop3/gpl_header_file_with_some_inline_functions.h from his
 binary-only part?

Right, but *why* is he doing that? The answer: It is the most practical way
to write his driver.

 I believe situation in this case changes a lot... And that's what
 embedded people are doing; I do not think they are creating their own
 headers or their own inline functions where headers contain them.

They don't have to. You *cannot* use copyright to make ideas harder to
express. That's what patents are for.

All the people who make this linking argument seem to be completely missing
the entire *point* of copyright. A copyright protects the *one* way you
chose to express a particular idea. It cannot protect function. It cannot
make other ideas harder to express.

This is not some loophole or something. This is the most fundamental thing
about copyrights that there is. This is the reason they're so easy to get.
This is the reason they last so long. They *cannot* impede interoperation.
They cannot make other ideas harder to express. They can't even make the
very same idea you expressed harder to express.

Copyrights are not patents.

It is clear, at least in the United States, that something like a kernel
driver to make some particular version of Linux work with some particular
piece of hardware is an idea. You cannot own all the most practical ways
to express that idea. When practical engineering concerns make one way (or
one group of ways) the most reasonable, you simply *cannot* own them all
with copyright.

DS


-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Michael K. Edwards

On 2/25/07, Pavel Machek [EMAIL PROTECTED] wrote:

Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks void pop_server_starting(), void pop_server_stopping(), he
can get away with that.

But... how does situation change when Evil Linker does #include
pop3/gpl_header_file_with_some_inline_functions.h from his
binary-only part?


There is no such thing as a GPL header file.  There is an original
work of authorship, that is, your POP server.  There is a modified
work of authorship (not exactly a derivative work, but let's call it
an Annotated Edition in order to bring it into the derivative works
category), that is, your POP server as altered by the Evil Linker in a
coherent and readable way.  There is an independent work of
authorship, the Evil Linker's program.  And there is a claim that the
independent work of authorship infringes on the original author's
copyright in the POP server.

If the sole factual basis for that claim is that the Evil Linker's
program contains #include what_you_said.h, then it's not going to
fly in court (IANAL, TINLA).  The #include directive itself is not
protectable expression, and anything that winds up in the Evil
Linker's binary is either a method of operation or fair use under
a minimum practical amount of copying needed to accomplish a
sanctioned purpose standard.  Interoperation, even competitive
interoperation and circumvention of partner licensing programs, is a
sanctioned purpose under US law.  You have to go pretty far out of
your way to find a case like Atari v. Nintendo in which the court
ruled that the competitor had been too lazy or venal in its reverse
engineering methodology not to be entitled to copy the bits needed to
interoperate.


I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.


Remember, I am not defending people who hack the kernel and then don't
release the source code to their hacked kernel.  (I'm not really
defending people who hack the kernel and write a closed-source
application locked to those hacks, either, although I am saying that
calling such tactics illegal or GPL violation is irrelevant and
wrong-headed.)  And when what they in fact did was to riffle shuffle
together two drivers from Linus's tarball and change the names of the
symbolic constants to match their hardware interface (itself doubtless
a half-assed clone of someone else's), there's no excuse for GPLing
the result.

But a 20KLoC 3-D graphics driver that happens to #include
linux/whatever.h is not thereby a derivative work of the kernel,
no matter how many entrypoints are labeled EXPORT_SYMBOL_GPL or
provided as inline functions.  And under the Lexmark standard,
MODULE_LICENSE(GPL) with a disclaimer in the doco is by far the
sanest way to deal with the EXPORT_SYMBOL_GPL mind games, and likely
(IANAL, TINLA) to be endorsed by any court in the US and probably lots
of other places too.  Especially when the graphics chip maker explains
that keeping their driver source code closed isn't really an attempt
to hide their knowledge under a bushel basket.  It's a defensive
measure against having their retail margins destroyed by nitwits who
take out all the busy-wait loops and recompile with -O9 to get another
tenth of a frame per second, and then pretend ignorance when
attempting to return their slagged GPU at Fry's.

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Alan
 of other places too.  Especially when the graphics chip maker explains
 that keeping their driver source code closed isn't really an attempt
 to hide their knowledge under a bushel basket.  It's a defensive
 measure against having their retail margins destroyed by nitwits who
 take out all the busy-wait loops and recompile with -O9 to get another
 tenth of a frame per second, and then pretend ignorance when
 attempting to return their slagged GPU at Fry's.

Wrong as usual...

The Nvidia driver and ATI drivers aren't full of magical delay loops and
if there was a way to fry those cards easily in hardware the virus folks
would already be doing it. The reverse engineering teams know what is in
the existing code thank you. Creating new open source drivers from it is
however hard because of all the corner cases.

You will instead find that both vendors stopping providing Linux related
source code at about the point they got Xbox related contracts. A matter
which has been pointed out to various competition and legal authorities
and for now where it seems to lie.

Fortunately at the moment there is a simple cure - buy Intel hardware.
That also has the advantage that you are more likely to get help because
some of us only look at AMD processor related problems as part of
official work duties nowdays, and plan to do so until AMD (as owner
of ATI) behave.

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Michael K. Edwards

On 2/25/07, Alan [EMAIL PROTECTED] wrote:

 of other places too.  Especially when the graphics chip maker explains
 that keeping their driver source code closed isn't really an attempt
 to hide their knowledge under a bushel basket.  It's a defensive
 measure against having their retail margins destroyed by nitwits who
 take out all the busy-wait loops and recompile with -O9 to get another
 tenth of a frame per second, and then pretend ignorance when
 attempting to return their slagged GPU at Fry's.

Wrong as usual...


If this is an error, it's the first one _you've_ caught me in.  Or did
I miss something conformant to external reality in your earlier
critiques?


The Nvidia driver and ATI drivers aren't full of magical delay loops and
if there was a way to fry those cards easily in hardware the virus folks
would already be doing it. The reverse engineering teams know what is in
the existing code thank you. Creating new open source drivers from it is
however hard because of all the corner cases.


Several years ago I worked on a MIPS-based set-top prototype mated to
a graphics+HDTV board from a major PC 3-D vendor.  We had full
documentation and a fair amount of sample code under NDA.  We were on
the vendor's board spin 52 -- 52! and they'd sometimes spun the chip a
couple times internally between released boards -- before it could be
persuaded to do the documented thing with regard to video textures.
In the meantime, we frotzed a lot of boards and chips before we
decided to stick a triple-size fan to the damn thing with thermal
grease and to avoid taking any chances with new VRAM timings except in
the oversized chassis with the jet-engine fans.  Maybe things have
gotten better since then, but I doubt it.

Busy-wait loops were a rhetorical flourish, I grant you.  But software
interlocks on data movement that protect you against some corner
case you're unlikely to think of on your own are the norm, as is
software-assisted clock scaling guided by temperature sensors in half
a dozen places on chip and package.  You can drive enough watts
through a laptop GPU to fry an egg on it -- which is not kind to the
BGA bonds.  Yes, I have killed a laptop this way -- one that's
notorious for popping its GPU, but it's no accident that the last
thing I did to it was run a game demo that let me push my luck on the
texture quality.

It's also quite common, or used to be, for the enforcement of limits
on monitor sync timings to be done in software, and it's quite
possible to kill an underdesigned monitor or grossly exceed regulatory
emissions limits by overdriving its resolution and frame rate.  (I've
never actually blown one up myself, but I've pushed my luck
overdriving a laptop dock's DVI and gotten some lovely on-screen
sparklies and enough ultrasonics to set the neighbor's dog to
whining.)  Viruses that kill your monitor may be urban legend, but
it's a can of worms that a smart graphics vendor doesn't want to be
liable for opening.  The FCC also frowns on making it too easy for
hobbyists to turn a Class B device into a two-block-radius FM jammer.


You will instead find that both vendors stopping providing Linux related
source code at about the point they got Xbox related contracts. A matter
which has been pointed out to various competition and legal authorities
and for now where it seems to lie.


I know it's fun to blame everything on Redmond, but how about a
simpler explanation?  The technology and market for 3-D graphics is
now sufficiently mature to allow revenue maximization through market
segmentation -- in other words, charging some people more than others
for the same thing because they're willing and able to pay extra.  The
volumes are also high enough to test chips as they come out of fab and
bin them by maximum usable clock speed, just like Intel has done with
its CPUs for the last decade.  Blow a couple of dozen fuses to set a
chip ID, laser trim a couple of resistors to set a default clock
multiplier, and sell one for ten times what you get for the other.
It's the only way to survive in a mature competitive environment.

Now, suppose the silicon process for GPUs has stabilized to where chip
yields have greatly improved, and maybe 80% of the chips that work at
all are good enough to go in any but the top-of-the-line gamer
specials.  So where do they get the chips for a motherboard that sells
for $69 at Fry's?  They artificially bin them by target spec, blow
those fuses and trim those resistors, and charge what the market will
bear, niche by niche.  The driver picks up on the chip ID and limits
its in-system performance to the advertised spec, and everyone goes
home happy.

The graphics chip vendors are not utterly stupid.  They have seen what
has happened to the retail distribution of x86 CPUs, in which
overclocker types take six mid-range chips home, see which one they
can clock into the stratosphere for 24 hours without actually setting
the motherboard on fire (they don't mind a little toxic outgassing

Re: GPL vs non-GPL device drivers

2007-02-25 Thread Stephen Clark

Pavel Machek wrote:


Hi!

 


Actually, it's quite clear under US law what a derivative work is and
what rights you need to distribute it, and equally clear that
compiling code does not make a translation in a copyright sense.
Read Micro Star v. Formgen -- it's good law and it's funny and
readable.

I've drafted summaries from a couple of different angles since VJ
requested a translation into English, and I think this is the most
coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
written as an answer to a private query to this effect:  I write a
POP server and release it under the GPL.  The Evil Linker adds some
hooks to my code, calls those hooks (along some of the existing ones)
from his newly developed program, and only provides recipients of the
binaries with source code for the modified POP server.  His code
depends on, and only works with, this modified version of my POP
server.  Doesn't he have to GPL his whole product, because he's
combined his work with mine?

This is a fundamental misconception.  A product is not a work
   



Ok, but this is not realistic. I agree that if Evil Linker only adds
two hooks void pop_server_starting(), void pop_server_stopping(), he
can get away with that.

But... how does situation change when Evil Linker does #include
pop3/gpl_header_file_with_some_inline_functions.h from his
binary-only part?

I believe situation in this case changes a lot... And that's what
embedded people are doing; I do not think they are creating their own
headers or their own inline functions where headers contain them.
Pavel
 

The amount copied has to be significant. A few lines against the 
millions in the kernel would

not be enough to be copyright infringement.

--

They that give up essential liberty to obtain temporary safety, 
deserve neither liberty nor safety.  (Ben Franklin)


The course of history shows that as a government grows, liberty 
decreases.  (Thomas Jefferson)




-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Alan
 Busy-wait loops were a rhetorical flourish, I grant you.  

Thats a complicated fancy way of saying you were talking rubbish ?

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Pavel Machek
On Sun 2007-02-25 03:33:38, David Schwartz wrote:
 
  But... how does situation change when Evil Linker does #include
  pop3/gpl_header_file_with_some_inline_functions.h from his
  binary-only part?
 
 Right, but *why* is he doing that? The answer: It is the most practical way
 to write his driver.

Most practical way to get something Windows compatible is to pirate
Windows; I do not think that gives me permission to do so.

Similary, there are many ways to write inline functions present in
headers, and no, embedded developer being lazy does not mean they can
copy those functions into their proprietary module.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread D. Hazelton
On Sunday 25 February 2007 06:54, Michael K. Edwards wrote:
 On 2/25/07, Pavel Machek [EMAIL PROTECTED] wrote:
snip
 But a 20KLoC 3-D graphics driver that happens to #include
 linux/whatever.h is not thereby a derivative work of the kernel,
 no matter how many entrypoints are labeled EXPORT_SYMBOL_GPL or
 provided as inline functions.  And under the Lexmark standard,
 MODULE_LICENSE(GPL) with a disclaimer in the doco is by far the
 sanest way to deal with the EXPORT_SYMBOL_GPL mind games, and likely
 (IANAL, TINLA) to be endorsed by any court in the US and probably lots
 of other places too.  Especially when the graphics chip maker explains
 that keeping their driver source code closed isn't really an attempt
 to hide their knowledge under a bushel basket.  It's a defensive
 measure against having their retail margins destroyed by nitwits who
 take out all the busy-wait loops and recompile with -O9 to get another
 tenth of a frame per second, and then pretend ignorance when
 attempting to return their slagged GPU at Fry's.

At that point, Mike, you are treading on *very* thin ice. With Intel having 
released the complete source to their chipsets and with the number of totally 
free 3D drivers that don't slag GPU's...

However - if the hardware is really that fickle then why is it on the market? 
Yes, it can run hot enough to slag itself - all modern CPU's run the same 
risk. Yet people, mostly the Power Gamers, will push a CPU beyond their 
rated spec's and have it riding the edge of thermal breakdown. Because of the 
nature of the 3D accelerator market most manufacturers (of the chips 
themselves) have already pushed their chips to that thermal edge, and some of 
the makers of the boards will even provide the end user means to push the 
chips even further.

However, even *with* some hardware manufacturers providing a way for the 
end-user to do it, pushing the componets to the edge of thermal breakdown (or 
beyond and keeping them in check through an active cooling system) is 
not normal and expected use. As well, if the that is the argument that 
NVidia and ATI use (that they are worried about people recompiling the code 
with busy-loops stripped out) then they don't know the Open Source community 
well. In general the people that are most likely to recompile the driver with 
the busy-loops removed don't run Open Source systems - they run Windows. 
Those people are called competetive gamers and 99% of the games they play 
are only available for Windows.

What I'm trying to say is: Just like the It gives away too much information 
on our IP claim, the People will recompile it with code needed to keep it 
from destroying itself claim is bunk. Even moreso if their code is 
documented well enough that the purpose of the busy-wait loop is clear.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread Trent Waddington

On 2/26/07, Michael K. Edwards [EMAIL PROTECTED] wrote:

I know it's fun to blame everything on Redmond, but how about a
simpler explanation?


Says the master of conspiracy.

Trent
-
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/


RE: GPL vs non-GPL device drivers

2007-02-25 Thread David Schwartz

  Right, but *why* is he doing that? The answer: It is the most
  practical way
  to write his driver.

 Most practical way to get something Windows compatible is to pirate
 Windows; I do not think that gives me permission to do so.

This is comparing apples to oranges because Windows has an EULA. EULAs,
shrink-wraps, or the like change everything.

However, your statement is self-contradictory. By definition, to pirate
something is not to take what is practically needed to make it interoperate
with something else.

My point is that taking what you practically need to make something
interoperate with something else is *not* pirating. It is *not* taking
protected content, it is taking function.

How hard is this to understand -- you *cannot* use copyright to make any
ideas harder to express. A kernel driver to make a particular piece of
hardware work with a particular version of Linux *IS* an idea. You cannot
own the most practical ways to express an idea -- you can only own the one
way you chose to express that particular idea.

 Similary, there are many ways to write inline functions present in
 headers, and no, embedded developer being lazy does not mean they can
 copy those functions into their proprietary module.

Yes, it does. Have you read Lexmark v. Static Controls? You can take what
you need to interoperate.

DS


-
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/


Re: GPL vs non-GPL device drivers

2007-02-25 Thread D. Hazelton
On Sunday 25 February 2007 19:47, David Schwartz wrote:
snip

  Similary, there are many ways to write inline functions present in
  headers, and no, embedded developer being lazy does not mean they can
  copy those functions into their proprietary module.

 Yes, it does. Have you read Lexmark v. Static Controls? You can take what
 you need to interoperate.

This is apples and oranges, to use your idiom. In that case Lexmark had the 
code in the toner cartridges had to have a specific SHA1 hash in order for 
the printer to recognize them. Because the only way, then, to produce a 
functional toner cartridge for the printer was to *copy* that code *exactly*. 
In the case of a system where this is not the case, then you are free to 
write your own interface functions. If Lexmark had *not* been using a SHA1 
hash to validate that the cartridge was produced by them (and that is the 
real reason - Lexmark wanted to lock users of their printers into buying new 
toner cartridges from them) the case would have gone against Static Controls. 
The Lexmark v Static Controls decision applies only to interfaces where there 
is only, literally, one way to do it. What this means is that, yes, any use 
of the code in a GPL'd product that could be written in another manner is not 
covered by the interoperability standard that Lexmark v Static Controls 
describes. (No argument here, people: Lexmark v. Static Controls basically 
says Since the only way for this replacement toner cartridge to work was to 
have the 'Toner Loading Program' exactly copied from one of the cartridges 
produced by Lexmark doing such is fair use. All application of this 
precedent to other things must show the exact same thing - namely that the 
*one* and *only* way for something you have designed/written to fulfill its 
purpose is to rely on a copy of a copyrighted work.  This ruling *only* 
applies to making computers, peripherals or parts of those peripherals and 
the copyrighted item that makes it interoperable.

Lexmark v. Static Controls does not give people carte blanche to use 
interfaces to programs that could be re-implemented by them without causing 
the output to stop functioning. In the given example the work including the 
GPL'd header file and using its functions is in violation of the GPL if not 
released under the GPL but is distributed. Why? Because unless there was some 
form of lock-in making those functions a requirement for interoperability 
the Evil Hacker could have written and used his own versions and his 
plugin/program would still have been interoperable.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-24 Thread Adrian Bunk
On Thu, Feb 22, 2007 at 11:45:22AM -0500, Theodore Tso wrote:
>...
> The only way GPL'ed code can be become copyrighted by the FSF is if
> you explicitly sign a copyright statement
>...
 
And even this is only possible if permitted by copyright law.

E.g. German copyright law explicitely states that copyright is not 
transferable except through inheritage. [1]

And German copyright law says that if you are granting exclusive usage 
rights, you must get an appropriate payment. [2]

Often much might depend on which copyright law applies in a specific 
case...

>   - Ted

cu
Adrian

[1] http://bundesrecht.juris.de/urhg/__29.html
[2] http://bundesrecht.juris.de/urhg/__32.html

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

-
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/


Re: GPL vs non-GPL device drivers

2007-02-24 Thread Adrian Bunk
On Thu, Feb 22, 2007 at 11:45:22AM -0500, Theodore Tso wrote:
...
 The only way GPL'ed code can be become copyrighted by the FSF is if
 you explicitly sign a copyright statement
...
 
And even this is only possible if permitted by copyright law.

E.g. German copyright law explicitely states that copyright is not 
transferable except through inheritage. [1]

And German copyright law says that if you are granting exclusive usage 
rights, you must get an appropriate payment. [2]

Often much might depend on which copyright law applies in a specific 
case...

   - Ted

cu
Adrian

[1] http://bundesrecht.juris.de/urhg/__29.html
[2] http://bundesrecht.juris.de/urhg/__32.html

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, Alan <[EMAIL PROTECTED]> wrote:

> Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
> today?  Tell me, how many of what sort of users do you support

Solaris (NTL - very large ISP/Telco), Dec server 5000 (for fun), Irix (and
linux cross for Irix removal), MIPS embedded (including the port to Linux
of Algorithmics toolchain) for Sonix then 3COM routers.


My list of GNUs maintained is about the same:  SunOS 4.x, Solaris 2.x,
IRIX, ConvexOS, embedded MIPS and ARM and x86.  I've used, but didn't
maintain, GCC for embedded PowerPC and m68k, and until I found a
distro I could more or less trust to be point fixable, I did my own
desktop/server Linux toolchains for x86, PowerPC, and x86_64.  The
only one for which I resorted to coughing up the university's money to
the FSF was IRIX, and that's because it had to reach functional parity
with the Sun and Convex boxes pronto.


It's not a hard problem. gcc 2.x wasn't too hot on MIPS but it worked
although the Irix compiler generated vastly better code (and AFAIK still
does).


It worked until you tried a 64-bit target or stressed the floating
point.  I had one of the first R4400s that ever left SGI, in an Indigo
with the IndigoVideo board when it was still in alpha.  Part of the
horse-trade between the university and the start-up I worked for was
that they got to run batch jobs on the thing when I wasn't physically
at the keyboard.  I had built several experimental toolchains for the
thing but concluded rapidly that I didn't want to tech-support that
shit.  Best $5K of someone else's money I ever spent.


There are folks who maintain cross devel chains for just about every
Linux platform specifically for testing and while it isn't a small job
they do seem to be coping quite happily.


Er, I'm one of them.  :-)  When the ARM-based device I'm currently
working on first ships as an out-of-form-factor prototype to OEM
customers, it will be accompanied by a complete toolchain, kernel, and
userland, built from scratch using crosstool and ptxdist and extensive
patches I wrote, all of them to be contributed upstream because I
convinced my client that it's the right thing to do.  This includes
the latest upstream editions of each userland component, a gdbserver
that has been tested on multi-threaded soft-float NPTL binaries, the
first (public) ltrace to work correctly on Linux/ARM in at least three
years, the first (public) strace to understand ALSA ioctls, and
infrastructure for unit testing and system latency analysis.

It will be delivered as a set of git repositories with the complete
development history and tracking branches for outside projects, and
the only bits that aren't open source will be those encumbered by
inescapable trade secret agreements with chip vendors.  With the
exception of those closed binaries, everything from soup to nuts is
exactly reproducible from source on any Linux distro with a moderately
current native toolchain and autotools.  Before the first unit ships
retail, these git repositories will be carefully scrubbed of
encumbered material and opened to the public.  Pull one git repository
and run one script, and a few hours later you have your own JFFS2
image that you can burn to flash using facilities we will leave in
U-Boot for end-users' benefit.

Absolutely everything in the system can be point-fixed and recompiled
by the end user, with results as predictable and reproducible as I
know how to make them for myself.  Updates from third-party upstreams
can be merged using the tools that I believe to be best-in-class for
the purpose and use myself, daily.  No binary ever ships without
passing through an autobuild and unit test framework that I provide as
part of the end user source code release.  That's my personal standard
of release quality.  Now tell me, how does that compare to your
employer's?


> CodeSourcery and MontaVista and Red Hat stay in business?  Not with
> the quality of their code or their customer service, I'll tell you
> that -- although Mark Mitchell is probably the best release manager

Lots of people would disagree with you about that (and independant
surveys would back the disagreement), like they would disagree with you
about most things.


I have never particularly feared being in the minority, as long as I'm
right.  :-)  But seriously, if you haven't heard the complaints about
unreproducibility of Red Hat toolchains going back to the "GCC 2.96"
debacle, you haven't been listening -- and MontaVista became notorious
in the industry for deliberately mucking with kernel APIs as a vendor
lock-in tactic.  (They appear to have reformed substantially since the
2.4.x days.)  I don't know Mark personally but he appears to be as
open about CodeSourcery's processes and priorities as any toolchain
vendor has ever been, and GCC 4.1.2 looks like it's going to be as
stable as any upstream GCC release has ever been and perform decently
as well, so I don't have much to complain about in that department.

Re: GPL vs non-GPL device drivers

2007-02-22 Thread Randy Dunlap
On Fri, 23 Feb 2007 00:18:26 + Alan wrote:

> > me off, and in the meantime, you know where to find your keyboard's
> > "stick my fingers in my ears and shout la-la-la-I-can't-hear-you" key.
> >  :-)
> 
> I was hoping you'd take the pseudo-legal noise elsewhere.

Yes.  I find it interesting, but it should be on [EMAIL PROTECTED]
instead of here.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
> Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
> today?  Tell me, how many of what sort of users do you support

Solaris (NTL - very large ISP/Telco), Dec server 5000 (for fun), Irix (and
linux cross for Irix removal), MIPS embedded (including the port to Linux
of Algorithmics toolchain) for Sonix then 3COM routers.

It's not a hard problem. gcc 2.x wasn't too hot on MIPS but it worked
although the Irix compiler generated vastly better code (and AFAIK still
does).

There are folks who maintain cross devel chains for just about every
Linux platform specifically for testing and while it isn't a small job
they do seem to be coping quite happily.

> CodeSourcery and MontaVista and Red Hat stay in business?  Not with
> the quality of their code or their customer service, I'll tell you
> that -- although Mark Mitchell is probably the best release manager

Lots of people would disagree with you about that (and independant
surveys would back the disagreement), like they would disagree with you
about most things.

> that any GNU project has ever had.

> me off, and in the meantime, you know where to find your keyboard's
> "stick my fingers in my ears and shout la-la-la-I-can't-hear-you" key.
>  :-)

I was hoping you'd take the pseudo-legal noise elsewhere.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, Alan <[EMAIL PROTECTED]> wrote:

> compiler people caught on to the economic opportunity.  Ever pay $5K
> for a CD full of GNU binaries for a commercial UNIX?  I did, after

No because I just downloaded them. Much easier and since they are GPL I
was allowed to do so, then rebuilt them all which took about 30 minutes
of brain time and a day of CPU time.


Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
today?  Tell me, how many of what sort of users do you support
singlehandedly in an environment where you are a minority architecture
and everyone else takes the GNU tools for granted?  God knows I've got
better things to do with my time than roll the compiler-flag dice
again and again trying to get a sketchy GCC port not to ICE or, worse,
generate subtly broken code.  If it's so bloody easy, how do
CodeSourcery and MontaVista and Red Hat stay in business?  Not with
the quality of their code or their customer service, I'll tell you
that -- although Mark Mitchell is probably the best release manager
that any GNU project has ever had.





Oh, please.  Steve Ballmer doesn't waste his time trying to explain to
overpaid GNU/Linux Morlocks (among which I number myself) how the
legal and economic underpinnings of their industry work and why they
shouldn't RAPE THEMSELVES playing stupid EXPORT_SYMBOL_GPL games and
cryptographically signing kernel modules.  But don't worry -- neither
do I beyond a couple of weeks after something really dunderheaded sets
me off, and in the meantime, you know where to find your keyboard's
"stick my fingers in my ears and shout la-la-la-I-can't-hear-you" key.
:-)

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, D. Hazelton <[EMAIL PROTECTED]> wrote:

> If you take the microsoft windows source code and compile it yourself
> believe me you will get sued if you ship the resulting binaries and you
> will lose in court.


"misappropriation of trade secrets" as well as copyright infringement


But that's because it is *WINDOWS*, which, unless specifically granted to you,
does not include a transfer of the right to distribute in *ANY* form. Every
PC manufacturer that wants to distribute Windows on new machines they produce
*MUST* sign an agreement with M$. As I have never seen any of those
agreements I cannot state what the terms are and whether they are different
for each company holding such a license.


contract in personam, creating causes of action for breach of contract
(for which remedies of specific performance are available) and
strengthening the case for misappropriation of trade secrets


And unless you've signed a licensing agreement over the source code to
Windows, you're more than likely to have another lawsuit on your hands for
possessing it.


Not for possessing it.  For acquiring it unlawfully, and for doing
things with it that violate M$ copyright.



> I would also note that the FSF makes no claim about dynamic v static
> linking, merely about derivative works - which is the boundary the law is
> interested in. Indeed the GPLv2 was written in the days where dynamic
> linking was quite novel which is one reason the LGPL talks about


The FSF makes lots of such claims, all the time, and Eben Moglen uses
them to finesse his letter-of-opinion / affidavit racket, along with
the fork/exec fetish.  Fluendo.  Vidomi.  XCode.  Tornado.  NeXT.
Progress Software.


> "For example, if you distribute copies of the library, whether gratis
>  or for a fee, you must give the recipients all the rights that we gave
>  you.  You must make sure that they, too, receive or can get the source
>  code.  If you link a program with the library, you must provide
>  complete object files to the recipients so that they can relink them
>  with the library, after making changes to the library and recompiling
>  it.  And you must show them these terms so they know their rights."

Eh? Complete *object* files so that after making changes and recompiling they
can relink it? Umm... I don't know about you, but that makes me laugh. What
is the purpose of providing "Complete Object Files" to everyone if they are
just going to recompile and relink the library?


Complete object files for the rest of the non-GPL application.  This
applies principally to static linking.  It also makes it much easier
to reverse engineer the application, because unless the person
jockeying the linker is really, really good, all of the interfaces
between the application components are visible with nm and objdump,
and you can use tools like ltrace to watch the calling sequences
between modules.  Selective symbol stripping and obfuscation on
partially linked binaries takes skill.


> Flex is more complex because the resulting binary contains both compiled
> work of yours and a support library of FSF owned code (-lfl).


No, flex is simpler because libfl is obviously a separate work of
authorship with a stable external interface, and the application that
links against it is not a derivative work of any of the creative
expression inside libfl.


Copyright *doesn't* extend to compiled code. It cannot, because compiled code
is a machine generated translation. A machine generated translation isn't the
product of a creative process. And you can also provide all the routines
normally provided by the support library. This means that the support library
is *NOT* a necessary part of the system.


That's rubbish.  Copyright in compiled code is very nearly identical
to copyright in the source code from which it was generated; see
references in Lexmark, especially the seminal Altai case.  Copyright
in silicon is _not_ identical to copyright in the RTL from which it
was synthesized -- the term of protection for a "mask work" is limited
to 10 years -- 2 if it's not registered properly.  This prima facie
bizarre situation reflects the difference in national origin and
lobbying power between software and hardware makers, as well as the
greater difficulty of extracting the theory of operation of a complex
chip using an electron microscope.  The chip design oligopoly is bound
by a web of contractual covenants not to do this anyway, and they like
being able to snap up key people from upstart maverick companies and
rip off their designs without pesky legal interference.


> The non
> computing analogy here is the difference between using a paint program to
> create a work, and using a paint program to create a work but also
> including other artwork (eg clipart).


Not really.  Using stock images to illustrate a manuscript requires
license to copy and distribute them but rarely, if ever, creates a
derivative work.


Yes, but in both cases the result is *CLEARLY* the 

Re: GPL vs non-GPL device drivers

2007-02-22 Thread D. Hazelton
On Thursday 22 February 2007 09:10, Alan wrote:
> > As a side note: The distinct wording of the GPL actually *invalidates*
> > the GNU/FSF claim that dynamically linking a work with, say, the readline
> > library,  means the work is a derivative of said library. The GPL states
> > (in
>
> Not that I can see no, but you could take this to a list with lawyers not
> programmers on and improve life for both parties

See Section/clause 0 of the GPL. 

> > clause 0) that the license only covers copying, modification and
> > distribution. Unless they are confusing "Linking" with "copying" or
> > "creating a derivative work" the claim is invalid - because, as it has
> > been shown, a mechanical process such as compilation or linking *cannot*
> > create a derivative work.
>
> If you take the microsoft windows source code and compile it yourself
> believe me you will get sued if you ship the resulting binaries and you
> will lose in court.

But that's because it is *WINDOWS*, which, unless specifically granted to you, 
does not include a transfer of the right to distribute in *ANY* form. Every 
PC manufacturer that wants to distribute Windows on new machines they produce 
*MUST* sign an agreement with M$. As I have never seen any of those 
agreements I cannot state what the terms are and whether they are different 
for each company holding such a license.

And unless you've signed a licensing agreement over the source code to 
Windows, you're more than likely to have another lawsuit on your hands for 
possessing it. 


> I would also note that the FSF makes no claim about dynamic v static
> linking, merely about derivative works - which is the boundary the law is
> interested in. Indeed the GPLv2 was written in the days where dynamic
> linking was quite novel which is one reason the LGPL talks about

Granted.

> "For example, if you distribute copies of the library, whether gratis
>  or for a fee, you must give the recipients all the rights that we gave
>  you.  You must make sure that they, too, receive or can get the source
>  code.  If you link a program with the library, you must provide
>  complete object files to the recipients so that they can relink them
>  with the library, after making changes to the library and recompiling
>  it.  And you must show them these terms so they know their rights."

Eh? Complete *object* files so that after making changes and recompiling they 
can relink it? Umm... I don't know about you, but that makes me laugh. What 
is the purpose of providing "Complete Object Files" to everyone if they are 
just going to recompile and relink the library?

Yes, I know this quite likely refers to any object files (or other binaries) 
that are part of the library but not part of the source. (and *are* required 
for the library to be completely functional)

> and says nothing about dynamic/static linking.
>
> > Related to that... Though a parser generated by Bison and a tokenizer
> > generated by Flex both contain large chunks of GPL'd code, their
> > inclusion in the source file that is to be compiled is mechanical - the
> > true unique work is in writing the file that is processed by the tool to
> > produce the output.
>
> Flex is more complex because the resulting binary contains both compiled
> work of yours and a support library of FSF owned code (-lfl). 

Copyright *doesn't* extend to compiled code. It cannot, because compiled code 
is a machine generated translation. A machine generated translation isn't the 
product of a creative process. And you can also provide all the routines 
normally provided by the support library. This means that the support library 
is *NOT* a necessary part of the system.

> The non 
> computing analogy here is the difference between using a paint program to
> create a work, and using a paint program to create a work but also
> including other artwork (eg clipart). 

Yes, but in both cases the result is *CLEARLY* the result of a creative 
process, and said clipart, unless it is in the form of an entirely machine 
generated image, is a separate work (and one resulting from a creative 
process) that you are using under license. (Unless said clipart was released 
into the public domain)

> The same is true of the GCC compiler 
> as it merges your work with supporting library helper code modules which
> are themselves creative works. 

Again you are confusing a mechanical translation process with a creative 
process. But it doesn't matter, in this case. The binary form of a program 
*technically* falls under the copyright on the source code - a mechanical 
process that translates a copyrighted work into another form *cannot* remove 
the original copyright.

But said modules have clearly defined and limited purposes.

> Clearly you could replace those helper 
> modules with your own work and the result would be different.

Yes.  And you've noted that yes, they can be replaced. Which means that they 
are also not a necessary part of the system. 

Claiming that any 

Re: GPL vs non-GPL device drivers

2007-02-22 Thread D. Hazelton
On Thursday 22 February 2007 11:45, Theodore Tso wrote:


> But saying that just by licensing your code under the GPL means that
> the FSF owns your code?  That's just crazy talk.
>
>   - Ted

Actually, I've replied with private messages to several mails that arrived in 
reply to this explaining that the copyright clause I noted does, in fact, 
refer to the person releasing the code and the FSF. However, because it is 
located in the preamble and outside the terms of the license it has no legal 
bearing. As I've noted in those private mails, I pointed it out because I 
could see the FSF (in the person of Eben Moglen (or another attorney)) using 
it in a strong-arm tactic to gain copyright to the code.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Theodore Tso
On Wed, Feb 21, 2007 at 11:17:16PM -0500, D. Hazelton wrote:
> Since I tailor the license I apply to code I produce to meet the needs of the 
> person or entity I am writing it for, I've never run into this. In truth, the 
> LGPL is, IMHO, a piece of garbage. (as is the GPL - if you release code under 
> the GPL you no longer have a legal right to it. Note the following text that 
> appears in the GPL:
> 
> "  We protect your rights with two steps: (1) copyright the software, and
> (2) offer you this license which gives you legal permission to copy,
> distribute and/or modify the software."
> --IE: Once you release the code under the GPL, it becomes the *copyrighted* 
> *property* of the FSF and you are just another person that the GPL is applied 
> to. 

That's simply not true.  If you release the code under the GPL, you
are still the copyright holder.  You are simply using the terms of the
GPL to allow what *others* can do with your code.  So you are always
free to make it available under another license, including a
propietary one.  For example, way back when I was the only author of
all of the e2fsprogs code, I once sold a license allowing to allow the
PartitionMagic program to use portions of the e2fsprogs codebase in
their propietary Windows product; it help pay for the downpayment of
my house, too...

Now, if other people contribute code to your project, and you accept
it without a copyright assignment, then their code is generally
presumed to be implicitly licensed under the same license as the
original program, and so that would presumably restrict your ability
to relicense the project without getting their permission as well,
since some of the code or documentation is theirs.

The only way GPL'ed code can be become copyrighted by the FSF is if
you explicitly sign a copyright statement (and before you do that,
take a very close look at the FSF copyright assignment letter, and if
you don't know what "indemnify" menas, and have any kind of
significant assets, such as a house, or anticipate having significant
assets in the future, run, don't walk, to a lawyer and talk to them
first), or if you explicitly release the code into the public domain
and then they grab it and make some changes which are copyrighted by
the FSF.   

But saying that just by licensing your code under the GPL means that
the FSF owns your code?  That's just crazy talk.

- Ted
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
> compiler people caught on to the economic opportunity.  Ever pay $5K
> for a CD full of GNU binaries for a commercial UNIX?  I did, after

No because I just downloaded them. Much easier and since they are GPL I
was allowed to do so, then rebuilt them all which took about 30 minutes
of brain time and a day of CPU time.


-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
> As a side note: The distinct wording of the GPL actually *invalidates* the 
> GNU/FSF claim that dynamically linking a work with, say, the readline 
> library,  means the work is a derivative of said library. The GPL states (in 

Not that I can see no, but you could take this to a list with lawyers not
programmers on and improve life for both parties

> clause 0) that the license only covers copying, modification and 
> distribution. Unless they are confusing "Linking" with "copying" or "creating 
> a derivative work" the claim is invalid - because, as it has been shown, a 
> mechanical process such as compilation or linking *cannot* create a 
> derivative work.

If you take the microsoft windows source code and compile it yourself
believe me you will get sued if you ship the resulting binaries and you
will lose in court.

Copyright law deals with the right to copy hence the name. Generally
speaking your right to use a work you have a copy of isn't constrained
(and isn't constrainable) by pure copyright, only by contract. The author
of a book for example has no power to stop you boiling the book if you
don't like it, or using it as bog paper. 

I would also note that the FSF makes no claim about dynamic v static
linking, merely about derivative works - which is the boundary the law is
interested in. Indeed the GPLv2 was written in the days where dynamic
linking was quite novel which is one reason the LGPL talks about

"For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you.  You must make sure that they, too, receive or can get the source
 code.  If you link a program with the library, you must provide
 complete object files to the recipients so that they can relink them
 with the library, after making changes to the library and recompiling
 it.  And you must show them these terms so they know their rights."

and says nothing about dynamic/static linking.

> Related to that... Though a parser generated by Bison and a tokenizer
> generated by Flex both contain large chunks of GPL'd code, their inclusion in 
> the source file that is to be compiled is mechanical - the true unique work 
> is in writing the file that is processed by the tool to produce the output. 

Flex is more complex because the resulting binary contains both compiled
work of yours and a support library of FSF owned code (-lfl). The non
computing analogy here is the difference between using a paint program to
create a work, and using a paint program to create a work but also
including other artwork (eg clipart). The same is true of the GCC compiler
as it merges your work with supporting library helper code modules which
are themselves creative works. Clearly you could replace those helper
modules with your own work and the result would be different.

A better example for your case might be indent where the program
processes your work mechanically and produces an output that doesn't
contain any other creative works, or most of intltools which merges
translations mechanically. (the merge code is sometimes a little creative
but thats in the sense of being a nuisance not in the legal sense of
creative work)

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Jon K Hellan

D. Hazelton wrote:
(as is the GPL - if you release code under
the GPL you no longer have a legal right to it. Note the following text that 
appears in the GPL:


"  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software."
--IE: Once you release the code under the GPL, it becomes the *copyrighted* 
*property* of the FSF and you are just another person that the GPL is applied 
to. 


"We" means "whoever is issuing" the license. I.e. you, if it's your 
work, and you didn't reassign it to somebody else.


Jon KÃ¥re
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Jon K Hellan

D. Hazelton wrote:
(as is the GPL - if you release code under
the GPL you no longer have a legal right to it. Note the following text that 
appears in the GPL:


  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
--IE: Once you release the code under the GPL, it becomes the *copyrighted* 
*property* of the FSF and you are just another person that the GPL is applied 
to. 


We means whoever is issuing the license. I.e. you, if it's your 
work, and you didn't reassign it to somebody else.


Jon KÃ¥re
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
 As a side note: The distinct wording of the GPL actually *invalidates* the 
 GNU/FSF claim that dynamically linking a work with, say, the readline 
 library,  means the work is a derivative of said library. The GPL states (in 

Not that I can see no, but you could take this to a list with lawyers not
programmers on and improve life for both parties

 clause 0) that the license only covers copying, modification and 
 distribution. Unless they are confusing Linking with copying or creating 
 a derivative work the claim is invalid - because, as it has been shown, a 
 mechanical process such as compilation or linking *cannot* create a 
 derivative work.

If you take the microsoft windows source code and compile it yourself
believe me you will get sued if you ship the resulting binaries and you
will lose in court.

Copyright law deals with the right to copy hence the name. Generally
speaking your right to use a work you have a copy of isn't constrained
(and isn't constrainable) by pure copyright, only by contract. The author
of a book for example has no power to stop you boiling the book if you
don't like it, or using it as bog paper. 

I would also note that the FSF makes no claim about dynamic v static
linking, merely about derivative works - which is the boundary the law is
interested in. Indeed the GPLv2 was written in the days where dynamic
linking was quite novel which is one reason the LGPL talks about

For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you.  You must make sure that they, too, receive or can get the source
 code.  If you link a program with the library, you must provide
 complete object files to the recipients so that they can relink them
 with the library, after making changes to the library and recompiling
 it.  And you must show them these terms so they know their rights.

and says nothing about dynamic/static linking.

 Related to that... Though a parser generated by Bison and a tokenizer
 generated by Flex both contain large chunks of GPL'd code, their inclusion in 
 the source file that is to be compiled is mechanical - the true unique work 
 is in writing the file that is processed by the tool to produce the output. 

Flex is more complex because the resulting binary contains both compiled
work of yours and a support library of FSF owned code (-lfl). The non
computing analogy here is the difference between using a paint program to
create a work, and using a paint program to create a work but also
including other artwork (eg clipart). The same is true of the GCC compiler
as it merges your work with supporting library helper code modules which
are themselves creative works. Clearly you could replace those helper
modules with your own work and the result would be different.

A better example for your case might be indent where the program
processes your work mechanically and produces an output that doesn't
contain any other creative works, or most of intltools which merges
translations mechanically. (the merge code is sometimes a little creative
but thats in the sense of being a nuisance not in the legal sense of
creative work)

Alan
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
 compiler people caught on to the economic opportunity.  Ever pay $5K
 for a CD full of GNU binaries for a commercial UNIX?  I did, after

No because I just downloaded them. Much easier and since they are GPL I
was allowed to do so, then rebuilt them all which took about 30 minutes
of brain time and a day of CPU time.

Balmer impersonation deleted
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Theodore Tso
On Wed, Feb 21, 2007 at 11:17:16PM -0500, D. Hazelton wrote:
 Since I tailor the license I apply to code I produce to meet the needs of the 
 person or entity I am writing it for, I've never run into this. In truth, the 
 LGPL is, IMHO, a piece of garbage. (as is the GPL - if you release code under 
 the GPL you no longer have a legal right to it. Note the following text that 
 appears in the GPL:
 
   We protect your rights with two steps: (1) copyright the software, and
 (2) offer you this license which gives you legal permission to copy,
 distribute and/or modify the software.
 --IE: Once you release the code under the GPL, it becomes the *copyrighted* 
 *property* of the FSF and you are just another person that the GPL is applied 
 to. 

That's simply not true.  If you release the code under the GPL, you
are still the copyright holder.  You are simply using the terms of the
GPL to allow what *others* can do with your code.  So you are always
free to make it available under another license, including a
propietary one.  For example, way back when I was the only author of
all of the e2fsprogs code, I once sold a license allowing to allow the
PartitionMagic program to use portions of the e2fsprogs codebase in
their propietary Windows product; it help pay for the downpayment of
my house, too...

Now, if other people contribute code to your project, and you accept
it without a copyright assignment, then their code is generally
presumed to be implicitly licensed under the same license as the
original program, and so that would presumably restrict your ability
to relicense the project without getting their permission as well,
since some of the code or documentation is theirs.

The only way GPL'ed code can be become copyrighted by the FSF is if
you explicitly sign a copyright statement (and before you do that,
take a very close look at the FSF copyright assignment letter, and if
you don't know what indemnify menas, and have any kind of
significant assets, such as a house, or anticipate having significant
assets in the future, run, don't walk, to a lawyer and talk to them
first), or if you explicitly release the code into the public domain
and then they grab it and make some changes which are copyrighted by
the FSF.   

But saying that just by licensing your code under the GPL means that
the FSF owns your code?  That's just crazy talk.

- Ted
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread D. Hazelton
On Thursday 22 February 2007 11:45, Theodore Tso wrote:
snip

 But saying that just by licensing your code under the GPL means that
 the FSF owns your code?  That's just crazy talk.

   - Ted

Actually, I've replied with private messages to several mails that arrived in 
reply to this explaining that the copyright clause I noted does, in fact, 
refer to the person releasing the code and the FSF. However, because it is 
located in the preamble and outside the terms of the license it has no legal 
bearing. As I've noted in those private mails, I pointed it out because I 
could see the FSF (in the person of Eben Moglen (or another attorney)) using 
it in a strong-arm tactic to gain copyright to the code.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread D. Hazelton
On Thursday 22 February 2007 09:10, Alan wrote:
  As a side note: The distinct wording of the GPL actually *invalidates*
  the GNU/FSF claim that dynamically linking a work with, say, the readline
  library,  means the work is a derivative of said library. The GPL states
  (in

 Not that I can see no, but you could take this to a list with lawyers not
 programmers on and improve life for both parties

See Section/clause 0 of the GPL. 

  clause 0) that the license only covers copying, modification and
  distribution. Unless they are confusing Linking with copying or
  creating a derivative work the claim is invalid - because, as it has
  been shown, a mechanical process such as compilation or linking *cannot*
  create a derivative work.

 If you take the microsoft windows source code and compile it yourself
 believe me you will get sued if you ship the resulting binaries and you
 will lose in court.

But that's because it is *WINDOWS*, which, unless specifically granted to you, 
does not include a transfer of the right to distribute in *ANY* form. Every 
PC manufacturer that wants to distribute Windows on new machines they produce 
*MUST* sign an agreement with M$. As I have never seen any of those 
agreements I cannot state what the terms are and whether they are different 
for each company holding such a license.

And unless you've signed a licensing agreement over the source code to 
Windows, you're more than likely to have another lawsuit on your hands for 
possessing it. 

snip
 I would also note that the FSF makes no claim about dynamic v static
 linking, merely about derivative works - which is the boundary the law is
 interested in. Indeed the GPLv2 was written in the days where dynamic
 linking was quite novel which is one reason the LGPL talks about

Granted.

 For example, if you distribute copies of the library, whether gratis
  or for a fee, you must give the recipients all the rights that we gave
  you.  You must make sure that they, too, receive or can get the source
  code.  If you link a program with the library, you must provide
  complete object files to the recipients so that they can relink them
  with the library, after making changes to the library and recompiling
  it.  And you must show them these terms so they know their rights.

Eh? Complete *object* files so that after making changes and recompiling they 
can relink it? Umm... I don't know about you, but that makes me laugh. What 
is the purpose of providing Complete Object Files to everyone if they are 
just going to recompile and relink the library?

Yes, I know this quite likely refers to any object files (or other binaries) 
that are part of the library but not part of the source. (and *are* required 
for the library to be completely functional)

 and says nothing about dynamic/static linking.

  Related to that... Though a parser generated by Bison and a tokenizer
  generated by Flex both contain large chunks of GPL'd code, their
  inclusion in the source file that is to be compiled is mechanical - the
  true unique work is in writing the file that is processed by the tool to
  produce the output.

 Flex is more complex because the resulting binary contains both compiled
 work of yours and a support library of FSF owned code (-lfl). 

Copyright *doesn't* extend to compiled code. It cannot, because compiled code 
is a machine generated translation. A machine generated translation isn't the 
product of a creative process. And you can also provide all the routines 
normally provided by the support library. This means that the support library 
is *NOT* a necessary part of the system.

 The non 
 computing analogy here is the difference between using a paint program to
 create a work, and using a paint program to create a work but also
 including other artwork (eg clipart). 

Yes, but in both cases the result is *CLEARLY* the result of a creative 
process, and said clipart, unless it is in the form of an entirely machine 
generated image, is a separate work (and one resulting from a creative 
process) that you are using under license. (Unless said clipart was released 
into the public domain)

 The same is true of the GCC compiler 
 as it merges your work with supporting library helper code modules which
 are themselves creative works. 

Again you are confusing a mechanical translation process with a creative 
process. But it doesn't matter, in this case. The binary form of a program 
*technically* falls under the copyright on the source code - a mechanical 
process that translates a copyrighted work into another form *cannot* remove 
the original copyright.

But said modules have clearly defined and limited purposes.

 Clearly you could replace those helper 
 modules with your own work and the result would be different.

Yes.  And you've noted that yes, they can be replaced. Which means that they 
are also not a necessary part of the system. 

Claiming that any library (that can be replaced), either dynamically or 
statically 

Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, D. Hazelton [EMAIL PROTECTED] wrote:

 If you take the microsoft windows source code and compile it yourself
 believe me you will get sued if you ship the resulting binaries and you
 will lose in court.


misappropriation of trade secrets as well as copyright infringement


But that's because it is *WINDOWS*, which, unless specifically granted to you,
does not include a transfer of the right to distribute in *ANY* form. Every
PC manufacturer that wants to distribute Windows on new machines they produce
*MUST* sign an agreement with M$. As I have never seen any of those
agreements I cannot state what the terms are and whether they are different
for each company holding such a license.


contract in personam, creating causes of action for breach of contract
(for which remedies of specific performance are available) and
strengthening the case for misappropriation of trade secrets


And unless you've signed a licensing agreement over the source code to
Windows, you're more than likely to have another lawsuit on your hands for
possessing it.


Not for possessing it.  For acquiring it unlawfully, and for doing
things with it that violate M$ copyright.


snip
 I would also note that the FSF makes no claim about dynamic v static
 linking, merely about derivative works - which is the boundary the law is
 interested in. Indeed the GPLv2 was written in the days where dynamic
 linking was quite novel which is one reason the LGPL talks about


The FSF makes lots of such claims, all the time, and Eben Moglen uses
them to finesse his letter-of-opinion / affidavit racket, along with
the fork/exec fetish.  Fluendo.  Vidomi.  XCode.  Tornado.  NeXT.
Progress Software.


 For example, if you distribute copies of the library, whether gratis
  or for a fee, you must give the recipients all the rights that we gave
  you.  You must make sure that they, too, receive or can get the source
  code.  If you link a program with the library, you must provide
  complete object files to the recipients so that they can relink them
  with the library, after making changes to the library and recompiling
  it.  And you must show them these terms so they know their rights.

Eh? Complete *object* files so that after making changes and recompiling they
can relink it? Umm... I don't know about you, but that makes me laugh. What
is the purpose of providing Complete Object Files to everyone if they are
just going to recompile and relink the library?


Complete object files for the rest of the non-GPL application.  This
applies principally to static linking.  It also makes it much easier
to reverse engineer the application, because unless the person
jockeying the linker is really, really good, all of the interfaces
between the application components are visible with nm and objdump,
and you can use tools like ltrace to watch the calling sequences
between modules.  Selective symbol stripping and obfuscation on
partially linked binaries takes skill.


 Flex is more complex because the resulting binary contains both compiled
 work of yours and a support library of FSF owned code (-lfl).


No, flex is simpler because libfl is obviously a separate work of
authorship with a stable external interface, and the application that
links against it is not a derivative work of any of the creative
expression inside libfl.


Copyright *doesn't* extend to compiled code. It cannot, because compiled code
is a machine generated translation. A machine generated translation isn't the
product of a creative process. And you can also provide all the routines
normally provided by the support library. This means that the support library
is *NOT* a necessary part of the system.


That's rubbish.  Copyright in compiled code is very nearly identical
to copyright in the source code from which it was generated; see
references in Lexmark, especially the seminal Altai case.  Copyright
in silicon is _not_ identical to copyright in the RTL from which it
was synthesized -- the term of protection for a mask work is limited
to 10 years -- 2 if it's not registered properly.  This prima facie
bizarre situation reflects the difference in national origin and
lobbying power between software and hardware makers, as well as the
greater difficulty of extracting the theory of operation of a complex
chip using an electron microscope.  The chip design oligopoly is bound
by a web of contractual covenants not to do this anyway, and they like
being able to snap up key people from upstart maverick companies and
rip off their designs without pesky legal interference.


 The non
 computing analogy here is the difference between using a paint program to
 create a work, and using a paint program to create a work but also
 including other artwork (eg clipart).


Not really.  Using stock images to illustrate a manuscript requires
license to copy and distribute them but rarely, if ever, creates a
derivative work.


Yes, but in both cases the result is *CLEARLY* the result of a creative
process, 

Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, Alan [EMAIL PROTECTED] wrote:

 compiler people caught on to the economic opportunity.  Ever pay $5K
 for a CD full of GNU binaries for a commercial UNIX?  I did, after

No because I just downloaded them. Much easier and since they are GPL I
was allowed to do so, then rebuilt them all which took about 30 minutes
of brain time and a day of CPU time.


Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
today?  Tell me, how many of what sort of users do you support
singlehandedly in an environment where you are a minority architecture
and everyone else takes the GNU tools for granted?  God knows I've got
better things to do with my time than roll the compiler-flag dice
again and again trying to get a sketchy GCC port not to ICE or, worse,
generate subtly broken code.  If it's so bloody easy, how do
CodeSourcery and MontaVista and Red Hat stay in business?  Not with
the quality of their code or their customer service, I'll tell you
that -- although Mark Mitchell is probably the best release manager
that any GNU project has ever had.


Balmer impersonation deleted


Oh, please.  Steve Ballmer doesn't waste his time trying to explain to
overpaid GNU/Linux Morlocks (among which I number myself) how the
legal and economic underpinnings of their industry work and why they
shouldn't RAPE THEMSELVES playing stupid EXPORT_SYMBOL_GPL games and
cryptographically signing kernel modules.  But don't worry -- neither
do I beyond a couple of weeks after something really dunderheaded sets
me off, and in the meantime, you know where to find your keyboard's
stick my fingers in my ears and shout la-la-la-I-can't-hear-you key.
:-)

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Alan
 Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
 today?  Tell me, how many of what sort of users do you support

Solaris (NTL - very large ISP/Telco), Dec server 5000 (for fun), Irix (and
linux cross for Irix removal), MIPS embedded (including the port to Linux
of Algorithmics toolchain) for Sonix then 3COM routers.

It's not a hard problem. gcc 2.x wasn't too hot on MIPS but it worked
although the Irix compiler generated vastly better code (and AFAIK still
does).

There are folks who maintain cross devel chains for just about every
Linux platform specifically for testing and while it isn't a small job
they do seem to be coping quite happily.

 CodeSourcery and MontaVista and Red Hat stay in business?  Not with
 the quality of their code or their customer service, I'll tell you
 that -- although Mark Mitchell is probably the best release manager

Lots of people would disagree with you about that (and independant
surveys would back the disagreement), like they would disagree with you
about most things.

 that any GNU project has ever had.

 me off, and in the meantime, you know where to find your keyboard's
 stick my fingers in my ears and shout la-la-la-I-can't-hear-you key.
  :-)

I was hoping you'd take the pseudo-legal noise elsewhere.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Randy Dunlap
On Fri, 23 Feb 2007 00:18:26 + Alan wrote:

  me off, and in the meantime, you know where to find your keyboard's
  stick my fingers in my ears and shout la-la-la-I-can't-hear-you key.
   :-)
 
 I was hoping you'd take the pseudo-legal noise elsewhere.

Yes.  I find it interesting, but it should be on [EMAIL PROTECTED]
instead of here.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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/


Re: GPL vs non-GPL device drivers

2007-02-22 Thread Michael K. Edwards

On 2/22/07, Alan [EMAIL PROTECTED] wrote:

 Oh yeah?  For IRIX in 1991?  Or for that matter, for Linux/ARM EABI
 today?  Tell me, how many of what sort of users do you support

Solaris (NTL - very large ISP/Telco), Dec server 5000 (for fun), Irix (and
linux cross for Irix removal), MIPS embedded (including the port to Linux
of Algorithmics toolchain) for Sonix then 3COM routers.


My list of GNUs maintained is about the same:  SunOS 4.x, Solaris 2.x,
IRIX, ConvexOS, embedded MIPS and ARM and x86.  I've used, but didn't
maintain, GCC for embedded PowerPC and m68k, and until I found a
distro I could more or less trust to be point fixable, I did my own
desktop/server Linux toolchains for x86, PowerPC, and x86_64.  The
only one for which I resorted to coughing up the university's money to
the FSF was IRIX, and that's because it had to reach functional parity
with the Sun and Convex boxes pronto.


It's not a hard problem. gcc 2.x wasn't too hot on MIPS but it worked
although the Irix compiler generated vastly better code (and AFAIK still
does).


It worked until you tried a 64-bit target or stressed the floating
point.  I had one of the first R4400s that ever left SGI, in an Indigo
with the IndigoVideo board when it was still in alpha.  Part of the
horse-trade between the university and the start-up I worked for was
that they got to run batch jobs on the thing when I wasn't physically
at the keyboard.  I had built several experimental toolchains for the
thing but concluded rapidly that I didn't want to tech-support that
shit.  Best $5K of someone else's money I ever spent.


There are folks who maintain cross devel chains for just about every
Linux platform specifically for testing and while it isn't a small job
they do seem to be coping quite happily.


Er, I'm one of them.  :-)  When the ARM-based device I'm currently
working on first ships as an out-of-form-factor prototype to OEM
customers, it will be accompanied by a complete toolchain, kernel, and
userland, built from scratch using crosstool and ptxdist and extensive
patches I wrote, all of them to be contributed upstream because I
convinced my client that it's the right thing to do.  This includes
the latest upstream editions of each userland component, a gdbserver
that has been tested on multi-threaded soft-float NPTL binaries, the
first (public) ltrace to work correctly on Linux/ARM in at least three
years, the first (public) strace to understand ALSA ioctls, and
infrastructure for unit testing and system latency analysis.

It will be delivered as a set of git repositories with the complete
development history and tracking branches for outside projects, and
the only bits that aren't open source will be those encumbered by
inescapable trade secret agreements with chip vendors.  With the
exception of those closed binaries, everything from soup to nuts is
exactly reproducible from source on any Linux distro with a moderately
current native toolchain and autotools.  Before the first unit ships
retail, these git repositories will be carefully scrubbed of
encumbered material and opened to the public.  Pull one git repository
and run one script, and a few hours later you have your own JFFS2
image that you can burn to flash using facilities we will leave in
U-Boot for end-users' benefit.

Absolutely everything in the system can be point-fixed and recompiled
by the end user, with results as predictable and reproducible as I
know how to make them for myself.  Updates from third-party upstreams
can be merged using the tools that I believe to be best-in-class for
the purpose and use myself, daily.  No binary ever ships without
passing through an autobuild and unit test framework that I provide as
part of the end user source code release.  That's my personal standard
of release quality.  Now tell me, how does that compare to your
employer's?


 CodeSourcery and MontaVista and Red Hat stay in business?  Not with
 the quality of their code or their customer service, I'll tell you
 that -- although Mark Mitchell is probably the best release manager

Lots of people would disagree with you about that (and independant
surveys would back the disagreement), like they would disagree with you
about most things.


I have never particularly feared being in the minority, as long as I'm
right.  :-)  But seriously, if you haven't heard the complaints about
unreproducibility of Red Hat toolchains going back to the GCC 2.96
debacle, you haven't been listening -- and MontaVista became notorious
in the industry for deliberately mucking with kernel APIs as a vendor
lock-in tactic.  (They appear to have reformed substantially since the
2.4.x days.)  I don't know Mark personally but he appears to be as
open about CodeSourcery's processes and priorities as any toolchain
vendor has ever been, and GCC 4.1.2 looks like it's going to be as
stable as any upstream GCC release has ever been and perform decently
as well, so I don't have much to complain about in that department.
YMMV.


I was 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, D. Hazelton <[EMAIL PROTECTED]> wrote:

Actually, on re-reading the GPL, I see exactly why they made that pair of
exceptions. Where it's quite evident that a small to mid scale parsers that
could have been written *without* the use of Bison is clearly a
non-derivative work - Bison was not required, but was used as a mean of
expediency. When you reach a large scale parser, such as one that meets all
requirements to act as the parser for an ANSI C99 compiler, Bison stops being
expedient - it'd likely take just as much time to hand craft the parser as it
would to debug the Bison input. However, it makes maintaining the parser
easier.


I repeat, that is not what "derivative work" means.  Do not try to
reason about the phrase "derivative work" without reference to its
definition in statute and its legal history in appellate decisions.
You will get it wrong every time.  You have not "recast, transformed,
or adapted" the _creative_expression_ in Bison or Flex in the course
of using it; so whether or not you have infringed the FSF's copyright,
you have NOT created a "derivative work".

If Bison and Flex were offered under the "bare" GPL, and you used them
to build a parser, and the FSF sued you for offering that parser to
other people on terms other than the GPL's, you don't defend by
claiming license under the GPL with regard to your parser.  You attack
the claim of "copying" itself by saying that the _creative_expression_
copied from Bison/Flex into your parser is "de minimis" under the
Altai Abstraction-Filtration-Comparison test.  You also point out
that, even if it weren't "de minimis", it's "fair use"; that's a
complex four-factor test, but the main thing is that you're not
interfering with the FSF's ability to monetize its copyright in
Bison/Flex.

If you have any sense, you will strenuously argue that the various
"special exceptions" for things like Bison/Flex and GNU Classpath are
_not_ part of the offer of contract contained in the GPL, any more
than the Preamble is.  They're declarations of intent on the part of
the copyright holder, and can be used to _estop_ the FSF from making
the copyright infringement claim against you in court in the first
place.  They promised you they wouldn't, not as part of the contract
terms, but as part of the inducement to form a contract with them by
acceptance through conduct.


But the fact is that it's the small to medium scale parsers that have a lower
ratio of original to GPL'd code that are at risk of being declared derivative
works. All of this because the GPL contains the following text in section 0:
"The act of running the Program is not restricted, and the output from the
Program is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does."


I'm sorry, but that "ratio test" has nothing to do with whether
something is a derivative work or not.  It comes up mostly in
evaluating a "fair use" defense, and it's the ratio of the amount of
creative expression _copied_ to the amount of creative expression in
the _original_work_ that matters.  Just because you're writing a
49-volume encyclopedia does not give you the right to copy two thirds
of my one-page essay.  Those weasel-words about "depending on what the
Program does" are nonsense.  It depends on what _creative_expression_
from the Program winds up in the output.


That clause, to me, seems specifically tailored to cover programs such as
Bison and Flex. (and is the reason that I try to use Byacc and when I need
to, write tokenizers by hand) This frankly stinks of attempts to cover all
possible code. (I actually started studying Copyright law in my free time
because I was wondering how legal the GPL was and was also puzzled by some
major online entities actually complaining about it)


I've written tokenizers in at least six different languages to date,
including Fortran.  It's a pain in the butt.  The last thing I want to
be worrying about when I write a tokenizer is whether somebody else's
peanut butter is winding up in my chocolate.  So I will only use a
tool which, like bison and flex, is accompanied by a promise not to
claim that its output infringes the tool author's copyright or is
otherwise encumbered in any way.  M$ VC++ is actually more trustworthy
in that respect than G++.  If you don't believe (as I do) that it is
arrant nonsense to claim that the use of interface headers or linking
of any kind creates a derivative work, then you must believe that any
programs compiled with G++ can only be distributed under the terms of
the GPL.  libstdc++ is GPL, not LGPL.


Since I tailor the license I apply to code I produce to meet the needs of the
person or entity I am writing it for, I've never run into this.


That's kind of silly.  I use the GPL for my own from-scratch programs
all the time.  It's quite a sensible set of terms for source code
created as a side effect of a 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Trent Waddington

On 2/22/07, D. Hazelton <[EMAIL PROTECTED]> wrote:

"  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software."
--IE: Once you release the code under the GPL, it becomes the *copyrighted*
*property* of the FSF and you are just another person that the GPL is applied
to.


Put *down* the crack pipe.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread D. Hazelton
On Wednesday 21 February 2007 21:05, Michael K. Edwards wrote:
> On 2/21/07, D. Hazelton <[EMAIL PROTECTED]> wrote:

> > Related to that... Though a parser generated by Bison and a tokenizer
> > generated by Flex both contain large chunks of GPL'd code, their
> > inclusion in the source file that is to be compiled is mechanical - the
> > true unique work is in writing the file that is processed by the tool to
> > produce the output. Since the aggregation of the GPL'd code into the
> > output source is done mechanically - via mechanical translation (which is
> > what compilation is as well) - the result is *not* and under US copyright
> > law *cannot* be a derivative work. What this means is that the GNU/FSF
> > "special" terms applied to parsers generated by Bison and tokenizers
> > generated by Flex is unnecessary - they are granting you a right you
> > already have.
>
> Half true.  It's not a derivative work exactly, but it could
> conceivably be held to infringe against the copyright in Flex/Bison,
> if you could prove that the amount of _creative_expression_ copied
> into the output exceeds a "de minimis" standard and doesn't constitute
> a "fair use".  Those nifty photomosaics would probably infringe
> against the photographers' copyright in the photos they're made up of,
> if they weren't licensed through the graphic industry's "stock photo
> archive" mechanism.  You could probably defend on "fair use" with
> respect to Flex/Bison and the vanilla GPL, since the fact that I can
> get some random program with a parser in it from you without needing
> my own copy of bison doesn't cost the FSF anything.  But it's a
> gamble, especially if that random program competes with something the
> FSF makes $$$ off of; and I'd want that extra bit of estoppel in my
> back pocket.

Actually, on re-reading the GPL, I see exactly why they made that pair of 
exceptions. Where it's quite evident that a small to mid scale parsers that 
could have been written *without* the use of Bison is clearly a 
non-derivative work - Bison was not required, but was used as a mean of 
expediency. When you reach a large scale parser, such as one that meets all 
requirements to act as the parser for an ANSI C99 compiler, Bison stops being 
expedient - it'd likely take just as much time to hand craft the parser as it 
would to debug the Bison input. However, it makes maintaining the parser 
easier.

But the fact is that it's the small to medium scale parsers that have a lower 
ratio of original to GPL'd code that are at risk of being declared derivative 
works. All of this because the GPL contains the following text in section 0:
"The act of running the Program is not restricted, and the output from the 
Program is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does."

That clause, to me, seems specifically tailored to cover programs such as 
Bison and Flex. (and is the reason that I try to use Byacc and when I need 
to, write tokenizers by hand) This frankly stinks of attempts to cover all 
possible code. (I actually started studying Copyright law in my free time 
because I was wondering how legal the GPL was and was also puzzled by some 
major online entities actually complaining about it)

> The LGPL is a very different story.  It's not just GPL with extra
> estoppel, it's a booby trap.  It goes a lot farther to put over its
> own perverse definition of "derivative work", and it tries to compel
> you to provide all the "data and utility programs needed for
> reproducing the executable from it".  I don't use the LGPL for my own
> work, I wouldn't touch it with a ten-foot pole if it didn't have the
> "GPL upgrade" clause in it, and I advise my employers and consulting
> clients to go through the "GPL (v2 only!) upgrade" rigmarole with
> respect to anything they so much as recompile.  They don't all take
> that advice, but that's not my problem.

Since I tailor the license I apply to code I produce to meet the needs of the 
person or entity I am writing it for, I've never run into this. In truth, the 
LGPL is, IMHO, a piece of garbage. (as is the GPL - if you release code under 
the GPL you no longer have a legal right to it. Note the following text that 
appears in the GPL:

"  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software."
--IE: Once you release the code under the GPL, it becomes the *copyrighted* 
*property* of the FSF and you are just another person that the GPL is applied 
to. This means that if you later change your mind and decide to revoke the 
GPL on your code and replace it with say, the Larry Wall's "Artistic License" 
you are breaking the terms of the GPL and therefore lose all rights to modify 
and distribute your code.

A similar clause appears in the LGPL:
"We 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, D. Hazelton <[EMAIL PROTECTED]> wrote:

On Wednesday 21 February 2007 19:28, Michael K. Edwards wrote:
> I think you just misread.  I said that the Evil Linker has cheerfully
> shipped the source code of the modified POP server.  He may not have
> given you the compiler he compiled it with, wihout which the source
> code is a nice piece of literature but of no engineering utility; but
> that's the situation the GPL is DESIGNED TO PRODUCE.

Actually, if memory serves, when you license a work under the GPL, part of the
terms is that you have to provide the source and any scripts needed to
produce a functioning executable.


Absolutely.  But not the toolchain, just the "scripts".  This is part
historical, since after all GNU got started when Sun started to
monetize its toolchain independently of its O/S, RMS got annoyed
enough to kick off another cloning project, and more competent
compiler people caught on to the economic opportunity.  Ever pay $5K
for a CD full of GNU binaries for a commercial UNIX?  I did, after
deciding that getting all their shit to compile was more Morlock-work
than I was up to.  So like I say, it's part historical -- RMS didn't
want to owe me a copy of Sun's toolchain along with that CD -- but
it's no accident that it's still in there, because THAT'S HOW CYGNUS
MADE MEGABUCKS.


As a side note: The distinct wording of the GPL actually *invalidates* the
GNU/FSF claim that dynamically linking a work with, say, the readline
library,  means the work is a derivative of said library. The GPL states (in
clause 0) that the license only covers copying, modification and
distribution. Unless they are confusing "Linking" with "copying" or "creating
a derivative work" the claim is invalid - because, as it has been shown, a
mechanical process such as compilation or linking *cannot* create a
derivative work.


Of course.  The FSF smokescreen around "derivative work" exists not
only to frighten potential commercial users of GPL libraries but to
squelch people like Eric A. Young (principal OpenSSL author) who have
the presumption to retain their own copyrights.  Eric has a quite
solid case (IMHO, IANAL) against the FSF and Eben Moglen personally
under at least three different U. S. antitrust and racketeering laws,
and it would be really entertaining to watch him take it up.


Related to that... Though a parser generated by Bison and a tokenizer
generated by Flex both contain large chunks of GPL'd code, their inclusion in
the source file that is to be compiled is mechanical - the true unique work
is in writing the file that is processed by the tool to produce the output.
Since the aggregation of the GPL'd code into the output source is done
mechanically - via mechanical translation (which is what compilation is as
well) - the result is *not* and under US copyright law *cannot* be a
derivative work. What this means is that the GNU/FSF "special" terms applied
to parsers generated by Bison and tokenizers generated by Flex is
unnecessary - they are granting you a right you already have.


Half true.  It's not a derivative work exactly, but it could
conceivably be held to infringe against the copyright in Flex/Bison,
if you could prove that the amount of _creative_expression_ copied
into the output exceeds a "de minimis" standard and doesn't constitute
a "fair use".  Those nifty photomosaics would probably infringe
against the photographers' copyright in the photos they're made up of,
if they weren't licensed through the graphic industry's "stock photo
archive" mechanism.  You could probably defend on "fair use" with
respect to Flex/Bison and the vanilla GPL, since the fact that I can
get some random program with a parser in it from you without needing
my own copy of bison doesn't cost the FSF anything.  But it's a
gamble, especially if that random program competes with something the
FSF makes $$$ off of; and I'd want that extra bit of estoppel in my
back pocket.

The LGPL is a very different story.  It's not just GPL with extra
estoppel, it's a booby trap.  It goes a lot farther to put over its
own perverse definition of "derivative work", and it tries to compel
you to provide all the "data and utility programs needed for
reproducing the executable from it".  I don't use the LGPL for my own
work, I wouldn't touch it with a ten-foot pole if it didn't have the
"GPL upgrade" clause in it, and I advise my employers and consulting
clients to go through the "GPL (v2 only!) upgrade" rigmarole with
respect to anything they so much as recompile.  They don't all take
that advice, but that's not my problem.


Anyway, it's been fun watching this thread. If I've made a mistake somewhere
in there, let me know - IANAL and I am just starting to really get into the
meat of Copyright and related laws in independant study.


Ditto.  If you see a mistake in something I write, please please
pretty please point it out, in public -- I am not a lawyer, absolutely
everything I say could be wrong, and I don't really 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread D. Hazelton
On Wednesday 21 February 2007 19:28, Michael K. Edwards wrote:
> I think you just misread.  I said that the Evil Linker has cheerfully
> shipped the source code of the modified POP server.  He may not have
> given you the compiler he compiled it with, wihout which the source
> code is a nice piece of literature but of no engineering utility; but
> that's the situation the GPL is DESIGNED TO PRODUCE.

Actually, if memory serves, when you license a work under the GPL, part of the 
terms is that you have to provide the source and any scripts needed to 
produce a functioning executable.

*checks a local copy of GPLv2 for the exact wording*

Third clause of the license:
"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."

So yes, someone could produce a work that compiles on a specific compiler, but 
there is then nothing stopping someone from fixing the problems that cause it 
to not compile using another compiler and releasing that source code - 
distributing it as a patch, AFAICT, falls outside coverage by the GPLv2. The 
build tool-chain, libraries and other works that are not a direct part of the 
program produced by compilation of the source code. (the wording of the GPL 
is: "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.")

As a side note: The distinct wording of the GPL actually *invalidates* the 
GNU/FSF claim that dynamically linking a work with, say, the readline 
library,  means the work is a derivative of said library. The GPL states (in 
clause 0) that the license only covers copying, modification and 
distribution. Unless they are confusing "Linking" with "copying" or "creating 
a derivative work" the claim is invalid - because, as it has been shown, a 
mechanical process such as compilation or linking *cannot* create a 
derivative work.

Related to that... Though a parser generated by Bison and a tokenizer 
generated by Flex both contain large chunks of GPL'd code, their inclusion in 
the source file that is to be compiled is mechanical - the true unique work 
is in writing the file that is processed by the tool to produce the output. 
Since the aggregation of the GPL'd code into the output source is done 
mechanically - via mechanical translation (which is what compilation is as 
well) - the result is *not* and under US copyright law *cannot* be a 
derivative work. What this means is that the GNU/FSF "special" terms applied 
to parsers generated by Bison and tokenizers generated by Flex is 
unnecessary - they are granting you a right you already have.

Anyway, it's been fun watching this thread. If I've made a mistake somewhere 
in there, let me know - IANAL and I am just starting to really get into the 
meat of Copyright and related laws in independant study.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

I think you just misread.  I said that the Evil Linker has cheerfully
shipped the source code of the modified POP server.  He may not have
given you the compiler he compiled it with, wihout which the source
code is a nice piece of literature but of no engineering utility; but
that's the situation the GPL is DESIGNED TO PRODUCE.

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, Nuno Silva <[EMAIL PROTECTED]> wrote:

I can see that your argument is all about the defenition of a
"derivative work".


Far from it.  Try reading to the end.


We all know that #include  is mostly non copyrightable, so I
mostly agree that some - very very simple - modules may not need to
include the source when distributing the resulting module.ko. (need =
from a legal standpoint... The intended spirit of the GPL is another story)


The "intended spirit of the GPL" is very different from what you think
it is, as $674 million of Red Hat stock can testify.  It is also
utterly irrelevant except when the circumstances surrounding someone's
acceptance of the GPL indicate that the two parties negotiated more or
less directly before settling on its terms.


In this context what do you think about porting Linux to another arch?
Does the people porting the OS needs to distribute the source with the
[compiled] kernel?


Of course.  They're distributing a derivative work of the kernel, or
perhaps even (for legal purposes) distributing Linus's work of
authorship with trivial editorial changes that do not create a new
copyrightable work.  They need license to do so, and the only license
on offer is GPL v2, which conditions the license on distribution of
source code.

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread David Lang

On Wed, 21 Feb 2007, Michael K. Edwards wrote:


But wait, you say -- the Evil Linker modified, copied, and distributed
my POP server too!  That makes him subject to the terms of the GPL.
And you're right; but to understand what that means, you're going to
need to understand how a lawsuit for copyright infringement works.
The very, very, very concise version is:




I understand why you say that the Evil Linker's program isn't covered by the 
GPL, but your argument makes it sound like the modified POP server doesn't need 
to have it's source released. This I don't understand, it contains the origional 
source code, so what right does Evil Linker have to distribute it (or a modified 
version).


you are comeing dangerously close to saying that the GPL is meaningless and 
putting something under it is the same as putting it under public domain. There 
is case law now that says that this isn't the case (although I agree that it's 
not nearly as broad as it's proponents would like it to be)


David Lang
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Nuno Silva
Michael K. Edwards wrote:
> Actually, it's quite clear under US law what a derivative work is and
> what rights you need to distribute it, and equally clear that
> compiling code does not make a "translation" in a copyright sense.
> Read Micro Star v. Formgen -- it's good law and it's funny and
> readable.

Hello.

[Sorry for deleting the rest of the email but it was quite large]

I can see that your argument is all about the defenition of a
"derivative work".

We all know that #include  is mostly non copyrightable, so I
mostly agree that some - very very simple - modules may not need to
include the source when distributing the resulting module.ko. (need =
from a legal standpoint... The intended spirit of the GPL is another story)

In this context what do you think about porting Linux to another arch?
Does the people porting the OS needs to distribute the source with the
[compiled] kernel?

(Yes, it's a trick question)

IANAL too.

Regards,
Nuno Silva

-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

Actually, it's quite clear under US law what a derivative work is and
what rights you need to distribute it, and equally clear that
compiling code does not make a "translation" in a copyright sense.
Read Micro Star v. Formgen -- it's good law and it's funny and
readable.

I've drafted summaries from a couple of different angles since VJ
requested a "translation into English", and I think this is the most
coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
written as an answer to a private query to this effect:  "I write a
POP server and release it under the GPL.  The Evil Linker adds some
hooks to my code, calls those hooks (along some of the existing ones)
from his newly developed program, and only provides recipients of the
binaries with source code for the modified POP server.  His code
depends on, and only works with, this modified version of my POP
server.  Doesn't he have to GPL his whole product, because he's
combined his work with mine?"

This is a fundamental misconception.  A <> is not a "work
of authorship".  Copyright is about "works of authorship" and cannot
be used to allow or disallow behavior based on whether you have
<> two things at an engineering level to make a product.  A
contract can be used to allow or disallow, and assign penalties to,
all sorts of things, and the GPL is an "offer of contract"; but its
plain text does _not_ disallow this <> -- largely because
the drafter was trying to put one over on you and me by pretending that
he could do that without recourse to contract law.

The fact that your Evil Linker's program will not do anything
interesting without your program is no more relevant than the fact
that Borland's spreadsheet program will not do anything interesting
without a spreadsheet document loaded.  Borland's interest lay in
making their macro language compatible with Lotus's so that users
didn't have to rewrite their documents from scratch.  The Evil
Linker's interest lies in making their program compatible with other
clients of your POP server so they don't have to rewrite your POP
server from scratch.  Borland won in court, and so will the Evil
Linker.  IANAL, TINLA.

Now, Borland _almost_ lost at the Supreme Court level.  Why?  Because
while they had a good case that it wasn't practical to copy the 1-2-3
macro language without copying its entire user interface, that gets
awfully close to the sort of expression that copyright is supposed to
protect.  You can take a picture of a skyscraper and sell copies of
that picture, not because it isn't in some sense an infringement on
the architect's copyright, but because it's "fair use" -- mostly
because it doesn't interfere with the architect's ability to make
money licensing _architectural_ replicas of her work.  When you take a
screenshot of a spreadsheet, you're on safe ground; but if you use
that screenshot to clone the spreadsheet, you're pushing your luck.

Borland won, sort of, when the Supremes split 4-4 (one was out sick or
recused or something).  If you want to know why, you can get hold of a
transcript of the oral argument before the Supreme Court, which is
mostly in plain English and about half debate between the Justices
about where they ought to draw the line.  For an example where
screenshots can be over the line, and where even unlicensed
distribution of data files can be held to infringe the copyright on
the program that reads them, read Micro Star v. Formgen (9th Circuit).
That involved a very different theory though, infringement on the
"characters and mise en scene" of a fictional work (Duke Nukem 3D),
and will not avail you against the Evil Linker.  All of this stuff is
covered in Lexmark v. Static Control (6th Circuit, cert. denied) --
the law of the land throughout the U. S. of A.

But wait, you say -- the Evil Linker modified, copied, and distributed
my POP server too!  That makes him subject to the terms of the GPL.
And you're right; but to understand what that means, you're going to
need to understand how a lawsuit for copyright infringement works.
The very, very, very concise version is:

You claim "copyright infringement".
He claims "copyright license" -- "acceptance through conduct" of a
"valid offer of contract".
You claim conduct outside the "scope of the license".
He claims the terms about distributing modified versions together with
source code are "covenants of return performance", which he duly
performed.
You claim the license covers the whole <>,
including his application.
He points out that <> is explicitly defined
in GPL Section 0 to be a "derivative work under copyright law", and
that while the paraphrase following this overstates the extent of the
"derivative works" category, a raft of case law says that his program
is not a "derivative work" of yours.  Furthermore, it would be
"contrary to the public interest" to allow a "contract of adhesion in
rem" to disallow the "universal industry practice" of <>,
for engineering purposes, many differently licensed works on 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Helge Hafting

Jan-Benedict Glaw wrote:

On Tue, 2007-02-20 15:36:56 +0100, Helge Hafting <[EMAIL PROTECTED]> wrote:
  

If you have a need for "secret" source code, stuff most of it
in userspace.  Make the drivers truly minimal; perhaps their
open/closed status won't matter that much when the bulk
of the code and the cleverness is kept safe in userspace.

Note that keeping drivers small this way is the recommended
way of working anyway. It isn't merely a way to keep your
code away from the GPL - you always want a small kernel.



Keeping the legal stuff out of sight for a second, this'll solve the
"problem" for the embedded developer, but surely not for the Linux
community. Would you ever expect that eg. the thin GPL layer used by
ATI/NVidia would be merged iff the rest would run in userland?
  

A thin layer - no.  To get merged, a driver would have to
be of good quality.  I didn't think like that - I was thinking of
embedded developers that sometimes implement the
entire embedded application inside their device driver.

Which is crazy from a linux design standpoint, but sometimes
reasonable for an embedded developer when the sole purpose of
the embedded computer is to control the single "device" and
perhaps a little display with a couple of buttons.
The "app" part might not be that much
bigger than the device driver itself - it is then tempting to
cut some corners and put all in one place.

Of course this kind of "driver" ends up containing everything,
and nobody wants to GPL that.  Separating driver and app(s)
properly lets them keep a proprietary app, and a driver or two
that might be small and simple enough to be released.

It's just a workaround for the
linking-the-object-file-into-the-kernel-image problem, but after all,
it doesn't lead to a working driver being freely available.

MfG, JBG


Good point.  Fortunately, most devices are much simpler than
a card with accelerated 3D-graphichs.

Helge Hafting




-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Helge Hafting

Jan-Benedict Glaw wrote:

On Tue, 2007-02-20 15:36:56 +0100, Helge Hafting [EMAIL PROTECTED] wrote:
  

If you have a need for secret source code, stuff most of it
in userspace.  Make the drivers truly minimal; perhaps their
open/closed status won't matter that much when the bulk
of the code and the cleverness is kept safe in userspace.

Note that keeping drivers small this way is the recommended
way of working anyway. It isn't merely a way to keep your
code away from the GPL - you always want a small kernel.



Keeping the legal stuff out of sight for a second, this'll solve the
problem for the embedded developer, but surely not for the Linux
community. Would you ever expect that eg. the thin GPL layer used by
ATI/NVidia would be merged iff the rest would run in userland?
  

A thin layer - no.  To get merged, a driver would have to
be of good quality.  I didn't think like that - I was thinking of
embedded developers that sometimes implement the
entire embedded application inside their device driver.

Which is crazy from a linux design standpoint, but sometimes
reasonable for an embedded developer when the sole purpose of
the embedded computer is to control the single device and
perhaps a little display with a couple of buttons.
The app part might not be that much
bigger than the device driver itself - it is then tempting to
cut some corners and put all in one place.

Of course this kind of driver ends up containing everything,
and nobody wants to GPL that.  Separating driver and app(s)
properly lets them keep a proprietary app, and a driver or two
that might be small and simple enough to be released.

It's just a workaround for the
linking-the-object-file-into-the-kernel-image problem, but after all,
it doesn't lead to a working driver being freely available.

MfG, JBG


Good point.  Fortunately, most devices are much simpler than
a card with accelerated 3D-graphichs.

Helge Hafting




-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

Actually, it's quite clear under US law what a derivative work is and
what rights you need to distribute it, and equally clear that
compiling code does not make a translation in a copyright sense.
Read Micro Star v. Formgen -- it's good law and it's funny and
readable.

I've drafted summaries from a couple of different angles since VJ
requested a translation into English, and I think this is the most
coherent (and least foaming-at-the-mouth) I've crafted yet.  It was
written as an answer to a private query to this effect:  I write a
POP server and release it under the GPL.  The Evil Linker adds some
hooks to my code, calls those hooks (along some of the existing ones)
from his newly developed program, and only provides recipients of the
binaries with source code for the modified POP server.  His code
depends on, and only works with, this modified version of my POP
server.  Doesn't he have to GPL his whole product, because he's
combined his work with mine?

This is a fundamental misconception.  A product is not a work
of authorship.  Copyright is about works of authorship and cannot
be used to allow or disallow behavior based on whether you have
combined two things at an engineering level to make a product.  A
contract can be used to allow or disallow, and assign penalties to,
all sorts of things, and the GPL is an offer of contract; but its
plain text does _not_ disallow this combination -- largely because
the drafter was trying to put one over on you and me by pretending that
he could do that without recourse to contract law.

The fact that your Evil Linker's program will not do anything
interesting without your program is no more relevant than the fact
that Borland's spreadsheet program will not do anything interesting
without a spreadsheet document loaded.  Borland's interest lay in
making their macro language compatible with Lotus's so that users
didn't have to rewrite their documents from scratch.  The Evil
Linker's interest lies in making their program compatible with other
clients of your POP server so they don't have to rewrite your POP
server from scratch.  Borland won in court, and so will the Evil
Linker.  IANAL, TINLA.

Now, Borland _almost_ lost at the Supreme Court level.  Why?  Because
while they had a good case that it wasn't practical to copy the 1-2-3
macro language without copying its entire user interface, that gets
awfully close to the sort of expression that copyright is supposed to
protect.  You can take a picture of a skyscraper and sell copies of
that picture, not because it isn't in some sense an infringement on
the architect's copyright, but because it's fair use -- mostly
because it doesn't interfere with the architect's ability to make
money licensing _architectural_ replicas of her work.  When you take a
screenshot of a spreadsheet, you're on safe ground; but if you use
that screenshot to clone the spreadsheet, you're pushing your luck.

Borland won, sort of, when the Supremes split 4-4 (one was out sick or
recused or something).  If you want to know why, you can get hold of a
transcript of the oral argument before the Supreme Court, which is
mostly in plain English and about half debate between the Justices
about where they ought to draw the line.  For an example where
screenshots can be over the line, and where even unlicensed
distribution of data files can be held to infringe the copyright on
the program that reads them, read Micro Star v. Formgen (9th Circuit).
That involved a very different theory though, infringement on the
characters and mise en scene of a fictional work (Duke Nukem 3D),
and will not avail you against the Evil Linker.  All of this stuff is
covered in Lexmark v. Static Control (6th Circuit, cert. denied) --
the law of the land throughout the U. S. of A.

But wait, you say -- the Evil Linker modified, copied, and distributed
my POP server too!  That makes him subject to the terms of the GPL.
And you're right; but to understand what that means, you're going to
need to understand how a lawsuit for copyright infringement works.
The very, very, very concise version is:

You claim copyright infringement.
He claims copyright license -- acceptance through conduct of a
valid offer of contract.
You claim conduct outside the scope of the license.
He claims the terms about distributing modified versions together with
source code are covenants of return performance, which he duly
performed.
You claim the license covers the whole work based on the Program,
including his application.
He points out that work based on the Program is explicitly defined
in GPL Section 0 to be a derivative work under copyright law, and
that while the paraphrase following this overstates the extent of the
derivative works category, a raft of case law says that his program
is not a derivative work of yours.  Furthermore, it would be
contrary to the public interest to allow a contract of adhesion in
rem to disallow the universal industry practice of aggregating,
for engineering purposes, 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Nuno Silva
Michael K. Edwards wrote:
 Actually, it's quite clear under US law what a derivative work is and
 what rights you need to distribute it, and equally clear that
 compiling code does not make a translation in a copyright sense.
 Read Micro Star v. Formgen -- it's good law and it's funny and
 readable.

Hello.

[Sorry for deleting the rest of the email but it was quite large]

I can see that your argument is all about the defenition of a
derivative work.

We all know that #include anything.h is mostly non copyrightable, so I
mostly agree that some - very very simple - modules may not need to
include the source when distributing the resulting module.ko. (need =
from a legal standpoint... The intended spirit of the GPL is another story)

In this context what do you think about porting Linux to another arch?
Does the people porting the OS needs to distribute the source with the
[compiled] kernel?

(Yes, it's a trick question)

IANAL too.

Regards,
Nuno Silva

-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread David Lang

On Wed, 21 Feb 2007, Michael K. Edwards wrote:


But wait, you say -- the Evil Linker modified, copied, and distributed
my POP server too!  That makes him subject to the terms of the GPL.
And you're right; but to understand what that means, you're going to
need to understand how a lawsuit for copyright infringement works.
The very, very, very concise version is:


argument snipped for brevity

I understand why you say that the Evil Linker's program isn't covered by the 
GPL, but your argument makes it sound like the modified POP server doesn't need 
to have it's source released. This I don't understand, it contains the origional 
source code, so what right does Evil Linker have to distribute it (or a modified 
version).


you are comeing dangerously close to saying that the GPL is meaningless and 
putting something under it is the same as putting it under public domain. There 
is case law now that says that this isn't the case (although I agree that it's 
not nearly as broad as it's proponents would like it to be)


David Lang
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, Nuno Silva [EMAIL PROTECTED] wrote:

I can see that your argument is all about the defenition of a
derivative work.


Far from it.  Try reading to the end.


We all know that #include anything.h is mostly non copyrightable, so I
mostly agree that some - very very simple - modules may not need to
include the source when distributing the resulting module.ko. (need =
from a legal standpoint... The intended spirit of the GPL is another story)


The intended spirit of the GPL is very different from what you think
it is, as $674 million of Red Hat stock can testify.  It is also
utterly irrelevant except when the circumstances surrounding someone's
acceptance of the GPL indicate that the two parties negotiated more or
less directly before settling on its terms.


In this context what do you think about porting Linux to another arch?
Does the people porting the OS needs to distribute the source with the
[compiled] kernel?


Of course.  They're distributing a derivative work of the kernel, or
perhaps even (for legal purposes) distributing Linus's work of
authorship with trivial editorial changes that do not create a new
copyrightable work.  They need license to do so, and the only license
on offer is GPL v2, which conditions the license on distribution of
source code.

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

I think you just misread.  I said that the Evil Linker has cheerfully
shipped the source code of the modified POP server.  He may not have
given you the compiler he compiled it with, wihout which the source
code is a nice piece of literature but of no engineering utility; but
that's the situation the GPL is DESIGNED TO PRODUCE.

Cheers,
- Michael
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread D. Hazelton
On Wednesday 21 February 2007 19:28, Michael K. Edwards wrote:
 I think you just misread.  I said that the Evil Linker has cheerfully
 shipped the source code of the modified POP server.  He may not have
 given you the compiler he compiled it with, wihout which the source
 code is a nice piece of literature but of no engineering utility; but
 that's the situation the GPL is DESIGNED TO PRODUCE.

Actually, if memory serves, when you license a work under the GPL, part of the 
terms is that you have to provide the source and any scripts needed to 
produce a functioning executable.

*checks a local copy of GPLv2 for the exact wording*

Third clause of the license:
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.

So yes, someone could produce a work that compiles on a specific compiler, but 
there is then nothing stopping someone from fixing the problems that cause it 
to not compile using another compiler and releasing that source code - 
distributing it as a patch, AFAICT, falls outside coverage by the GPLv2. The 
build tool-chain, libraries and other works that are not a direct part of the 
program produced by compilation of the source code. (the wording of the GPL 
is: 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.)

As a side note: The distinct wording of the GPL actually *invalidates* the 
GNU/FSF claim that dynamically linking a work with, say, the readline 
library,  means the work is a derivative of said library. The GPL states (in 
clause 0) that the license only covers copying, modification and 
distribution. Unless they are confusing Linking with copying or creating 
a derivative work the claim is invalid - because, as it has been shown, a 
mechanical process such as compilation or linking *cannot* create a 
derivative work.

Related to that... Though a parser generated by Bison and a tokenizer 
generated by Flex both contain large chunks of GPL'd code, their inclusion in 
the source file that is to be compiled is mechanical - the true unique work 
is in writing the file that is processed by the tool to produce the output. 
Since the aggregation of the GPL'd code into the output source is done 
mechanically - via mechanical translation (which is what compilation is as 
well) - the result is *not* and under US copyright law *cannot* be a 
derivative work. What this means is that the GNU/FSF special terms applied 
to parsers generated by Bison and tokenizers generated by Flex is 
unnecessary - they are granting you a right you already have.

Anyway, it's been fun watching this thread. If I've made a mistake somewhere 
in there, let me know - IANAL and I am just starting to really get into the 
meat of Copyright and related laws in independant study.

DRH
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, D. Hazelton [EMAIL PROTECTED] wrote:

On Wednesday 21 February 2007 19:28, Michael K. Edwards wrote:
 I think you just misread.  I said that the Evil Linker has cheerfully
 shipped the source code of the modified POP server.  He may not have
 given you the compiler he compiled it with, wihout which the source
 code is a nice piece of literature but of no engineering utility; but
 that's the situation the GPL is DESIGNED TO PRODUCE.

Actually, if memory serves, when you license a work under the GPL, part of the
terms is that you have to provide the source and any scripts needed to
produce a functioning executable.


Absolutely.  But not the toolchain, just the scripts.  This is part
historical, since after all GNU got started when Sun started to
monetize its toolchain independently of its O/S, RMS got annoyed
enough to kick off another cloning project, and more competent
compiler people caught on to the economic opportunity.  Ever pay $5K
for a CD full of GNU binaries for a commercial UNIX?  I did, after
deciding that getting all their shit to compile was more Morlock-work
than I was up to.  So like I say, it's part historical -- RMS didn't
want to owe me a copy of Sun's toolchain along with that CD -- but
it's no accident that it's still in there, because THAT'S HOW CYGNUS
MADE MEGABUCKS.


As a side note: The distinct wording of the GPL actually *invalidates* the
GNU/FSF claim that dynamically linking a work with, say, the readline
library,  means the work is a derivative of said library. The GPL states (in
clause 0) that the license only covers copying, modification and
distribution. Unless they are confusing Linking with copying or creating
a derivative work the claim is invalid - because, as it has been shown, a
mechanical process such as compilation or linking *cannot* create a
derivative work.


Of course.  The FSF smokescreen around derivative work exists not
only to frighten potential commercial users of GPL libraries but to
squelch people like Eric A. Young (principal OpenSSL author) who have
the presumption to retain their own copyrights.  Eric has a quite
solid case (IMHO, IANAL) against the FSF and Eben Moglen personally
under at least three different U. S. antitrust and racketeering laws,
and it would be really entertaining to watch him take it up.


Related to that... Though a parser generated by Bison and a tokenizer
generated by Flex both contain large chunks of GPL'd code, their inclusion in
the source file that is to be compiled is mechanical - the true unique work
is in writing the file that is processed by the tool to produce the output.
Since the aggregation of the GPL'd code into the output source is done
mechanically - via mechanical translation (which is what compilation is as
well) - the result is *not* and under US copyright law *cannot* be a
derivative work. What this means is that the GNU/FSF special terms applied
to parsers generated by Bison and tokenizers generated by Flex is
unnecessary - they are granting you a right you already have.


Half true.  It's not a derivative work exactly, but it could
conceivably be held to infringe against the copyright in Flex/Bison,
if you could prove that the amount of _creative_expression_ copied
into the output exceeds a de minimis standard and doesn't constitute
a fair use.  Those nifty photomosaics would probably infringe
against the photographers' copyright in the photos they're made up of,
if they weren't licensed through the graphic industry's stock photo
archive mechanism.  You could probably defend on fair use with
respect to Flex/Bison and the vanilla GPL, since the fact that I can
get some random program with a parser in it from you without needing
my own copy of bison doesn't cost the FSF anything.  But it's a
gamble, especially if that random program competes with something the
FSF makes $$$ off of; and I'd want that extra bit of estoppel in my
back pocket.

The LGPL is a very different story.  It's not just GPL with extra
estoppel, it's a booby trap.  It goes a lot farther to put over its
own perverse definition of derivative work, and it tries to compel
you to provide all the data and utility programs needed for
reproducing the executable from it.  I don't use the LGPL for my own
work, I wouldn't touch it with a ten-foot pole if it didn't have the
GPL upgrade clause in it, and I advise my employers and consulting
clients to go through the GPL (v2 only!) upgrade rigmarole with
respect to anything they so much as recompile.  They don't all take
that advice, but that's not my problem.


Anyway, it's been fun watching this thread. If I've made a mistake somewhere
in there, let me know - IANAL and I am just starting to really get into the
meat of Copyright and related laws in independant study.


Ditto.  If you see a mistake in something I write, please please
pretty please point it out, in public -- I am not a lawyer, absolutely
everything I say could be wrong, and I don't really want these
messages lying around 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread D. Hazelton
On Wednesday 21 February 2007 21:05, Michael K. Edwards wrote:
 On 2/21/07, D. Hazelton [EMAIL PROTECTED] wrote:
snip
  Related to that... Though a parser generated by Bison and a tokenizer
  generated by Flex both contain large chunks of GPL'd code, their
  inclusion in the source file that is to be compiled is mechanical - the
  true unique work is in writing the file that is processed by the tool to
  produce the output. Since the aggregation of the GPL'd code into the
  output source is done mechanically - via mechanical translation (which is
  what compilation is as well) - the result is *not* and under US copyright
  law *cannot* be a derivative work. What this means is that the GNU/FSF
  special terms applied to parsers generated by Bison and tokenizers
  generated by Flex is unnecessary - they are granting you a right you
  already have.

 Half true.  It's not a derivative work exactly, but it could
 conceivably be held to infringe against the copyright in Flex/Bison,
 if you could prove that the amount of _creative_expression_ copied
 into the output exceeds a de minimis standard and doesn't constitute
 a fair use.  Those nifty photomosaics would probably infringe
 against the photographers' copyright in the photos they're made up of,
 if they weren't licensed through the graphic industry's stock photo
 archive mechanism.  You could probably defend on fair use with
 respect to Flex/Bison and the vanilla GPL, since the fact that I can
 get some random program with a parser in it from you without needing
 my own copy of bison doesn't cost the FSF anything.  But it's a
 gamble, especially if that random program competes with something the
 FSF makes $$$ off of; and I'd want that extra bit of estoppel in my
 back pocket.

Actually, on re-reading the GPL, I see exactly why they made that pair of 
exceptions. Where it's quite evident that a small to mid scale parsers that 
could have been written *without* the use of Bison is clearly a 
non-derivative work - Bison was not required, but was used as a mean of 
expediency. When you reach a large scale parser, such as one that meets all 
requirements to act as the parser for an ANSI C99 compiler, Bison stops being 
expedient - it'd likely take just as much time to hand craft the parser as it 
would to debug the Bison input. However, it makes maintaining the parser 
easier.

But the fact is that it's the small to medium scale parsers that have a lower 
ratio of original to GPL'd code that are at risk of being declared derivative 
works. All of this because the GPL contains the following text in section 0:
The act of running the Program is not restricted, and the output from the 
Program is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

That clause, to me, seems specifically tailored to cover programs such as 
Bison and Flex. (and is the reason that I try to use Byacc and when I need 
to, write tokenizers by hand) This frankly stinks of attempts to cover all 
possible code. (I actually started studying Copyright law in my free time 
because I was wondering how legal the GPL was and was also puzzled by some 
major online entities actually complaining about it)

 The LGPL is a very different story.  It's not just GPL with extra
 estoppel, it's a booby trap.  It goes a lot farther to put over its
 own perverse definition of derivative work, and it tries to compel
 you to provide all the data and utility programs needed for
 reproducing the executable from it.  I don't use the LGPL for my own
 work, I wouldn't touch it with a ten-foot pole if it didn't have the
 GPL upgrade clause in it, and I advise my employers and consulting
 clients to go through the GPL (v2 only!) upgrade rigmarole with
 respect to anything they so much as recompile.  They don't all take
 that advice, but that's not my problem.

Since I tailor the license I apply to code I produce to meet the needs of the 
person or entity I am writing it for, I've never run into this. In truth, the 
LGPL is, IMHO, a piece of garbage. (as is the GPL - if you release code under 
the GPL you no longer have a legal right to it. Note the following text that 
appears in the GPL:

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
--IE: Once you release the code under the GPL, it becomes the *copyrighted* 
*property* of the FSF and you are just another person that the GPL is applied 
to. This means that if you later change your mind and decide to revoke the 
GPL on your code and replace it with say, the Larry Wall's Artistic License 
you are breaking the terms of the GPL and therefore lose all rights to modify 
and distribute your code.

A similar clause appears in the LGPL:
We protect your rights with a two-step method: (1) we copyright the library, 

Re: GPL vs non-GPL device drivers

2007-02-21 Thread Trent Waddington

On 2/22/07, D. Hazelton [EMAIL PROTECTED] wrote:

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
--IE: Once you release the code under the GPL, it becomes the *copyrighted*
*property* of the FSF and you are just another person that the GPL is applied
to.


Put *down* the crack pipe.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-21 Thread Michael K. Edwards

On 2/21/07, D. Hazelton [EMAIL PROTECTED] wrote:

Actually, on re-reading the GPL, I see exactly why they made that pair of
exceptions. Where it's quite evident that a small to mid scale parsers that
could have been written *without* the use of Bison is clearly a
non-derivative work - Bison was not required, but was used as a mean of
expediency. When you reach a large scale parser, such as one that meets all
requirements to act as the parser for an ANSI C99 compiler, Bison stops being
expedient - it'd likely take just as much time to hand craft the parser as it
would to debug the Bison input. However, it makes maintaining the parser
easier.


I repeat, that is not what derivative work means.  Do not try to
reason about the phrase derivative work without reference to its
definition in statute and its legal history in appellate decisions.
You will get it wrong every time.  You have not recast, transformed,
or adapted the _creative_expression_ in Bison or Flex in the course
of using it; so whether or not you have infringed the FSF's copyright,
you have NOT created a derivative work.

If Bison and Flex were offered under the bare GPL, and you used them
to build a parser, and the FSF sued you for offering that parser to
other people on terms other than the GPL's, you don't defend by
claiming license under the GPL with regard to your parser.  You attack
the claim of copying itself by saying that the _creative_expression_
copied from Bison/Flex into your parser is de minimis under the
Altai Abstraction-Filtration-Comparison test.  You also point out
that, even if it weren't de minimis, it's fair use; that's a
complex four-factor test, but the main thing is that you're not
interfering with the FSF's ability to monetize its copyright in
Bison/Flex.

If you have any sense, you will strenuously argue that the various
special exceptions for things like Bison/Flex and GNU Classpath are
_not_ part of the offer of contract contained in the GPL, any more
than the Preamble is.  They're declarations of intent on the part of
the copyright holder, and can be used to _estop_ the FSF from making
the copyright infringement claim against you in court in the first
place.  They promised you they wouldn't, not as part of the contract
terms, but as part of the inducement to form a contract with them by
acceptance through conduct.


But the fact is that it's the small to medium scale parsers that have a lower
ratio of original to GPL'd code that are at risk of being declared derivative
works. All of this because the GPL contains the following text in section 0:
The act of running the Program is not restricted, and the output from the
Program is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.


I'm sorry, but that ratio test has nothing to do with whether
something is a derivative work or not.  It comes up mostly in
evaluating a fair use defense, and it's the ratio of the amount of
creative expression _copied_ to the amount of creative expression in
the _original_work_ that matters.  Just because you're writing a
49-volume encyclopedia does not give you the right to copy two thirds
of my one-page essay.  Those weasel-words about depending on what the
Program does are nonsense.  It depends on what _creative_expression_
from the Program winds up in the output.


That clause, to me, seems specifically tailored to cover programs such as
Bison and Flex. (and is the reason that I try to use Byacc and when I need
to, write tokenizers by hand) This frankly stinks of attempts to cover all
possible code. (I actually started studying Copyright law in my free time
because I was wondering how legal the GPL was and was also puzzled by some
major online entities actually complaining about it)


I've written tokenizers in at least six different languages to date,
including Fortran.  It's a pain in the butt.  The last thing I want to
be worrying about when I write a tokenizer is whether somebody else's
peanut butter is winding up in my chocolate.  So I will only use a
tool which, like bison and flex, is accompanied by a promise not to
claim that its output infringes the tool author's copyright or is
otherwise encumbered in any way.  M$ VC++ is actually more trustworthy
in that respect than G++.  If you don't believe (as I do) that it is
arrant nonsense to claim that the use of interface headers or linking
of any kind creates a derivative work, then you must believe that any
programs compiled with G++ can only be distributed under the terms of
the GPL.  libstdc++ is GPL, not LGPL.


Since I tailor the license I apply to code I produce to meet the needs of the
person or entity I am writing it for, I've never run into this.


That's kind of silly.  I use the GPL for my own from-scratch programs
all the time.  It's quite a sensible set of terms for source code
created as a side effect of a consulting project, when 

Re: GPL vs non-GPL device drivers

2007-02-20 Thread Jan-Benedict Glaw
On Tue, 2007-02-20 15:36:56 +0100, Helge Hafting <[EMAIL PROTECTED]> wrote:
> If you have a need for "secret" source code, stuff most of it
> in userspace.  Make the drivers truly minimal; perhaps their
> open/closed status won't matter that much when the bulk
> of the code and the cleverness is kept safe in userspace.
> 
> Note that keeping drivers small this way is the recommended
> way of working anyway. It isn't merely a way to keep your
> code away from the GPL - you always want a small kernel.

Keeping the legal stuff out of sight for a second, this'll solve the
"problem" for the embedded developer, but surely not for the Linux
community. Would you ever expect that eg. the thin GPL layer used by
ATI/NVidia would be merged iff the rest would run in userland?

It's just a workaround for the
linking-the-object-file-into-the-kernel-image problem, but after all,
it doesn't lead to a working driver being freely available.

MfG, JBG

-- 
  Jan-Benedict Glaw  [EMAIL PROTECTED]  +49-172-7608481
 Signature of:If it doesn't work, force it.
 the second  :   If it breaks, it needed replacing anyway.


signature.asc
Description: Digital signature


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Valdis . Kletnieks
On Tue, 20 Feb 2007 12:00:51 +0100, Bernd Petrovitsch said:
> Flame bait alert:
> I heard a talk from an Austrian lawyer an according to his believes (and
> I don't know if he is the only one or if there lots of) one must see
> from the "users" view if the GPL spreads over or not (and the usual
> technical terms like "linking" are basically irrelevant).
> E.g.:
> - You are distributing an application which links against a GPL-library.
> If you provide a link and the user/customer has to get and install that
> library, your application can have any license you wish.
> - If you distribute an application and it installs automatically a
> library (e.g. from the CD where your application is installed), your
> applications license must "fit" wit the library license.

So tell me - if RedHat distributes a non-GPL program that uses a GPL
library that is included as part of the distribution, but *not* one that's
usually installed, which rules apply?

Even better - does this mean that I can *intentionally* bypass the licensing by
including a installer script that removed a problematic library, and then
forces the user to re-install it?




pgpYyXP1m6V0a.pgp
Description: PGP signature


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Bernd Petrovitsch
On Tue, 2007-02-20 at 10:14 -0500, [EMAIL PROTECTED] wrote:
> On Tue, 20 Feb 2007 12:00:51 +0100, Bernd Petrovitsch said:
> > Flame bait alert:
> > I heard a talk from an Austrian lawyer an according to his believes (and
> > I don't know if he is the only one or if there lots of) one must see
> > from the "users" view if the GPL spreads over or not (and the usual
> > technical terms like "linking" are basically irrelevant).
> > E.g.:
> > - You are distributing an application which links against a GPL-library.
> > If you provide a link and the user/customer has to get and install that
> > library, your application can have any license you wish.
> > - If you distribute an application and it installs automatically a
> > library (e.g. from the CD where your application is installed), your
> > applications license must "fit" wit the library license.
> 
> So tell me - if RedHat distributes a non-GPL program that uses a GPL
> library that is included as part of the distribution, but *not* one that's
> usually installed, which rules apply?

I'm well aware that there are (probably lots of) contradictions with
this "idea".
IANAL and we must ask that lawyer actually for this. And he will
probasbly do not understand the question since he very probably doesn't
know all the usual software distribution methods.

> Even better - does this mean that I can *intentionally* bypass the licensing 
> by
> including a installer script that removed a problematic library, and then
> forces the user to re-install it?

A good question which belongs in the same category as above.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Helge Hafting

v j wrote:


Assuming these need not be GPL, I have a problem with
EXPORT_SYMBOL_GPL and the general trend in the direction of making
proprietary drivers harder on companies. Our drivers use basic
interfaces in the kernel like open, read, write, ioctl, semaphores,
interrupts, timers etc. This is functionality we would expect from any
operating system. We used devfs before and had no problems there. Greg
KH has gone and made the basic sysfs interface, which any generic
driver could use as EXPORT_SYMBOL_GPL. I don't really care, I just
don't use sysfs. The point is that old functionality is being ripped
off and new ones introduced, and their interfaces are not open
anymore. Hence there will be a point where non-GPLed drivers simply
cannot be loaded.

So why beat about the bush? Just make it illegal to load proprietary
drivers, or remove EXPORT_SYMBOL_GPL.

Those wo introduce EXPORT_SYMBOL_GPL are not in a position where
they can make it illegal to load proprietary modules. They may want to,
but they can't.  The kernel has very many copyright holders, each
decides for his own part only.

Someone who didn't write the module interface or posix interface can't
stop you there.  Anti-proprietary folks then go and make new
useful subsystems, and make sure those are accessed with
EXPORT_SYMBOL_GPL only.  Then they phase out the old
interfaces as the new ones are clearly better, and the vast majority
with GPL drivers have no problem with this.
As long as there are developers with this attitude, expect
EXPORT_SYMBOL_GPL to crop up in new places over time.

Yes - this makes it harder (although not impossible) to distribute
closed-source drivers.  Which is exactly what these people want.
When they are powerless to forbid such drivers, they settle for making
them harder and harder to use instead.  They want this trend
to continue.

There is an obvious way around it - you (and other people
with an interest in closed-source drivers) can write & contribute your
own "sysfs" and whatever else you might need.  Make it better
than the existing sysfs so it actually gets into the kernel,
replacing the existing stuff. And of
course there will be no EXPORT_SYMBOL_GPL in it - since
that is what you want to avoid. 


The price for this then, is to outcompete the proponents of
GPL-only symbols.  If you offer more and better source (under the GPL)
then you can turn the trend and keep linux the way you want it.
If you don't - those that do contribute will get to shape linux
the way they like. Whoever makes linux gets to decide.

Another way is to stay with linux 2.4.  You won't get any
new stuff that way, but no new GPL surprises either.

Helge Hafting

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Helge Hafting

v j wrote:
You are trying to cram this in a simple yes or no box, and it just 
doesn't
fit. There are questions nobody knows the answers to (such as what 
rights
you need to distribute a derivative work or whether compiling code 
makes a

translation).


Thanks, all for the discussion. I certainly learnt a lot. I definitely
expected to be flamed and roasted for posting my original message, and
was not disappointed :)

I do not possess all the knowledge ("legal" and technical) that people
who have contributed to this discussion possess. However I will still
comment from a user's perspective, which was my original point.

Many companies in the embedded field still mistakenly feel (or felt
until a while ago) that Linux was not right for them. That they would
have to open source their code, that they would not get adequate
support, and that Linux was too big and heavy to perform well in an
embedded platform. People like me who were Linux Desktop junkies were
actually trying to convince companies of the opposite.

Now the popularity of Linux is exploding in the embedded space. Nobody
talks of VxWorks and OSE anymore. It is all Linux. Perhaps it would be
a worthwhile experiment to study this surge in popularity. I am not an
expert, but perhaps the reason is "it works so goddamn well and has a
wealth of third party FREE software". Sure its a bit of work to make
it work on our platform and we don't have to Enea or Windriver to
write our gripes to. But it definitely is worth it.

Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
does to this popularity. I don't know. I am just giving you my
opinion. The moment companies learn of something like this, alarm
bells start to go off. This is not rational. I personally have nothing
against open-sourcing all software. *But*, this is not how companies
think.

Let's think about why Linux became so popular and strive towards
keeping it that way instead of resorting to innovative ways of just
confusing a lot of people.

Having said this, I am committed to contribute back to the Linux
community in any way I can, not withstanding my present employer. Keep
up the good work guys!


As linux becomes popular, there will always be some people looking
at it that find that it don't fit them perfectly.  That don't mean
we have to make sure linux fits them too - they may be better off
with something else, or we may be better off without them.
Linux has a price - you can use it compeltely free but we want
any useful changes you might make. If everybody sat on their stuff,
linux wouldn't be useful to you today.

There are embedded developers who don't have a problem with
writing GPL drivers.  And there are embedded developers who
don't need any special hardware driver.  No _kernel_ change,
no open-sourcing of company code.  It was never a problem, and
will never be a problem, to run proprietary user processes "apps"
on a linux kernel.

If you have a need for "secret" source code, stuff most of it
in userspace.  Make the drivers truly minimal; perhaps their
open/closed status won't matter that much when the bulk
of the code and the cleverness is kept safe in userspace.

Note that keeping drivers small this way is the recommended
way of working anyway. It isn't merely a way to keep your
code away from the GPL - you always want a small kernel.

Helge Hafting
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Bernd Petrovitsch
On Mon, 2007-02-19 at 21:19 -0800, v j wrote:
[...]
> Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
> does to this popularity. I don't know. I am just giving you my

The big problem with such discussions (as this) are: It is a law
decision which license applies in which situation. And preprocessor can
solve this (so EXPORT_SYMBOL_GPL may mean that or may only express the
wish of one/several/many/a lot of people).

Flame bait alert:
I heard a talk from an Austrian lawyer an according to his believes (and
I don't know if he is the only one or if there lots of) one must see
from the "users" view if the GPL spreads over or not (and the usual
technical terms like "linking" are basically irrelevant).
E.g.:
- You are distributing an application which links against a GPL-library.
If you provide a link and the user/customer has to get and install that
library, your application can have any license you wish.
- If you distribute an application and it installs automatically a
library (e.g. from the CD where your application is installed), your
applications license must "fit" wit the library license.

Guess now what this implies for (typical) embedded systems with one
piece of GPL code in it where you download complete firmware images -
and he explicitly confirmed that.

So this whole thing is not really defined yet and one (read: we) must
also educate such free-software-illiterate people on how it is intended
to work.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Nick Piggin

v j wrote:


Now the popularity of Linux is exploding in the embedded space. Nobody
talks of VxWorks and OSE anymore. It is all Linux. Perhaps it would be
a worthwhile experiment to study this surge in popularity. I am not an
expert, but perhaps the reason is "it works so goddamn well and has a
wealth of third party FREE software". Sure its a bit of work to make
it work on our platform and we don't have to Enea or Windriver to
write our gripes to. But it definitely is worth it.


And do you think it works well because of all those companies that
don't contribute anything back? For that matter, do they do a single
thing to help anyone or anything to do with Linux except themselves?



Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
does to this popularity. I don't know. I am just giving you my
opinion. The moment companies learn of something like this, alarm
bells start to go off. This is not rational. I personally have nothing
against open-sourcing all software. *But*, this is not how companies
think.


Opinions or motivations, or the people working for companies don't really
have any relevance at all. What matters is their actions.

You would think that those people who think their IP is so priceless that
it can't be opened would respect the rights of others. Sadly that doesn't
appear to be the case.



Let's think about why Linux became so popular and strive towards
keeping it that way instead of resorting to innovative ways of just
confusing a lot of people.


Linux has become popular _in spite_ of parasites, rather than because of
them. The main reason for its popularity is its quality. And a big reason
for its quality is the GPL.

--
Send instant messages to your online friends http://au.messenger.yahoo.com 


-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Trent Waddington

On 2/20/07, Trent Waddington <[EMAIL PROTECTED]> wrote:

I don't think anyone wants to read that.


I guess that was a stupid thing to say.  Ok, fine people, Michael is
ok with me posting this, so enjoy:

http://rtfm.insomnia.org/~qg/chat-with-michael-k-edwards.html

There ya go.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread v j

On 2/19/07, Trent Waddington <[EMAIL PROTECTED]> wrote:

Just in case anyone cares, after speaking with Michael for a few hours
I've found he's not nearly as abrasive as this mailing list banter
might suggest.  He makes some good arguments once you stop him from
spouting conspiracy stuff and, although I don't agree with all of
them, I think he has some good points.  He suggested posting a
transcript of our chat but, frankly, I don't think anyone wants to
read that.


If you can translate what he had to say in English, I certainly would
be willing to hear about it.

vj.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread v j

On 2/19/07, Trent Waddington [EMAIL PROTECTED] wrote:

Just in case anyone cares, after speaking with Michael for a few hours
I've found he's not nearly as abrasive as this mailing list banter
might suggest.  He makes some good arguments once you stop him from
spouting conspiracy stuff and, although I don't agree with all of
them, I think he has some good points.  He suggested posting a
transcript of our chat but, frankly, I don't think anyone wants to
read that.


If you can translate what he had to say in English, I certainly would
be willing to hear about it.

vj.
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Trent Waddington

On 2/20/07, Trent Waddington [EMAIL PROTECTED] wrote:

I don't think anyone wants to read that.


I guess that was a stupid thing to say.  Ok, fine people, Michael is
ok with me posting this, so enjoy:

http://rtfm.insomnia.org/~qg/chat-with-michael-k-edwards.html

There ya go.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Nick Piggin

v j wrote:


Now the popularity of Linux is exploding in the embedded space. Nobody
talks of VxWorks and OSE anymore. It is all Linux. Perhaps it would be
a worthwhile experiment to study this surge in popularity. I am not an
expert, but perhaps the reason is it works so goddamn well and has a
wealth of third party FREE software. Sure its a bit of work to make
it work on our platform and we don't have to Enea or Windriver to
write our gripes to. But it definitely is worth it.


And do you think it works well because of all those companies that
don't contribute anything back? For that matter, do they do a single
thing to help anyone or anything to do with Linux except themselves?



Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
does to this popularity. I don't know. I am just giving you my
opinion. The moment companies learn of something like this, alarm
bells start to go off. This is not rational. I personally have nothing
against open-sourcing all software. *But*, this is not how companies
think.


Opinions or motivations, or the people working for companies don't really
have any relevance at all. What matters is their actions.

You would think that those people who think their IP is so priceless that
it can't be opened would respect the rights of others. Sadly that doesn't
appear to be the case.



Let's think about why Linux became so popular and strive towards
keeping it that way instead of resorting to innovative ways of just
confusing a lot of people.


Linux has become popular _in spite_ of parasites, rather than because of
them. The main reason for its popularity is its quality. And a big reason
for its quality is the GPL.

--
Send instant messages to your online friends http://au.messenger.yahoo.com 


-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Bernd Petrovitsch
On Mon, 2007-02-19 at 21:19 -0800, v j wrote:
[...]
 Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
 does to this popularity. I don't know. I am just giving you my

The big problem with such discussions (as this) are: It is a law
decision which license applies in which situation. And preprocessor can
solve this (so EXPORT_SYMBOL_GPL may mean that or may only express the
wish of one/several/many/a lot of people).

Flame bait alert:
I heard a talk from an Austrian lawyer an according to his believes (and
I don't know if he is the only one or if there lots of) one must see
from the users view if the GPL spreads over or not (and the usual
technical terms like linking are basically irrelevant).
E.g.:
- You are distributing an application which links against a GPL-library.
If you provide a link and the user/customer has to get and install that
library, your application can have any license you wish.
- If you distribute an application and it installs automatically a
library (e.g. from the CD where your application is installed), your
applications license must fit wit the library license.

Guess now what this implies for (typical) embedded systems with one
piece of GPL code in it where you download complete firmware images -
and he explicitly confirmed that.

So this whole thing is not really defined yet and one (read: we) must
also educate such free-software-illiterate people on how it is intended
to work.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Helge Hafting

v j wrote:
You are trying to cram this in a simple yes or no box, and it just 
doesn't
fit. There are questions nobody knows the answers to (such as what 
rights
you need to distribute a derivative work or whether compiling code 
makes a

translation).


Thanks, all for the discussion. I certainly learnt a lot. I definitely
expected to be flamed and roasted for posting my original message, and
was not disappointed :)

I do not possess all the knowledge (legal and technical) that people
who have contributed to this discussion possess. However I will still
comment from a user's perspective, which was my original point.

Many companies in the embedded field still mistakenly feel (or felt
until a while ago) that Linux was not right for them. That they would
have to open source their code, that they would not get adequate
support, and that Linux was too big and heavy to perform well in an
embedded platform. People like me who were Linux Desktop junkies were
actually trying to convince companies of the opposite.

Now the popularity of Linux is exploding in the embedded space. Nobody
talks of VxWorks and OSE anymore. It is all Linux. Perhaps it would be
a worthwhile experiment to study this surge in popularity. I am not an
expert, but perhaps the reason is it works so goddamn well and has a
wealth of third party FREE software. Sure its a bit of work to make
it work on our platform and we don't have to Enea or Windriver to
write our gripes to. But it definitely is worth it.

Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
does to this popularity. I don't know. I am just giving you my
opinion. The moment companies learn of something like this, alarm
bells start to go off. This is not rational. I personally have nothing
against open-sourcing all software. *But*, this is not how companies
think.

Let's think about why Linux became so popular and strive towards
keeping it that way instead of resorting to innovative ways of just
confusing a lot of people.

Having said this, I am committed to contribute back to the Linux
community in any way I can, not withstanding my present employer. Keep
up the good work guys!


As linux becomes popular, there will always be some people looking
at it that find that it don't fit them perfectly.  That don't mean
we have to make sure linux fits them too - they may be better off
with something else, or we may be better off without them.
Linux has a price - you can use it compeltely free but we want
any useful changes you might make. If everybody sat on their stuff,
linux wouldn't be useful to you today.

There are embedded developers who don't have a problem with
writing GPL drivers.  And there are embedded developers who
don't need any special hardware driver.  No _kernel_ change,
no open-sourcing of company code.  It was never a problem, and
will never be a problem, to run proprietary user processes apps
on a linux kernel.

If you have a need for secret source code, stuff most of it
in userspace.  Make the drivers truly minimal; perhaps their
open/closed status won't matter that much when the bulk
of the code and the cleverness is kept safe in userspace.

Note that keeping drivers small this way is the recommended
way of working anyway. It isn't merely a way to keep your
code away from the GPL - you always want a small kernel.

Helge Hafting
-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Helge Hafting

v j wrote:


Assuming these need not be GPL, I have a problem with
EXPORT_SYMBOL_GPL and the general trend in the direction of making
proprietary drivers harder on companies. Our drivers use basic
interfaces in the kernel like open, read, write, ioctl, semaphores,
interrupts, timers etc. This is functionality we would expect from any
operating system. We used devfs before and had no problems there. Greg
KH has gone and made the basic sysfs interface, which any generic
driver could use as EXPORT_SYMBOL_GPL. I don't really care, I just
don't use sysfs. The point is that old functionality is being ripped
off and new ones introduced, and their interfaces are not open
anymore. Hence there will be a point where non-GPLed drivers simply
cannot be loaded.

So why beat about the bush? Just make it illegal to load proprietary
drivers, or remove EXPORT_SYMBOL_GPL.

Those wo introduce EXPORT_SYMBOL_GPL are not in a position where
they can make it illegal to load proprietary modules. They may want to,
but they can't.  The kernel has very many copyright holders, each
decides for his own part only.

Someone who didn't write the module interface or posix interface can't
stop you there.  Anti-proprietary folks then go and make new
useful subsystems, and make sure those are accessed with
EXPORT_SYMBOL_GPL only.  Then they phase out the old
interfaces as the new ones are clearly better, and the vast majority
with GPL drivers have no problem with this.
As long as there are developers with this attitude, expect
EXPORT_SYMBOL_GPL to crop up in new places over time.

Yes - this makes it harder (although not impossible) to distribute
closed-source drivers.  Which is exactly what these people want.
When they are powerless to forbid such drivers, they settle for making
them harder and harder to use instead.  They want this trend
to continue.

There is an obvious way around it - you (and other people
with an interest in closed-source drivers) can write  contribute your
own sysfs and whatever else you might need.  Make it better
than the existing sysfs so it actually gets into the kernel,
replacing the existing stuff. And of
course there will be no EXPORT_SYMBOL_GPL in it - since
that is what you want to avoid. 


The price for this then, is to outcompete the proponents of
GPL-only symbols.  If you offer more and better source (under the GPL)
then you can turn the trend and keep linux the way you want it.
If you don't - those that do contribute will get to shape linux
the way they like. Whoever makes linux gets to decide.

Another way is to stay with linux 2.4.  You won't get any
new stuff that way, but no new GPL surprises either.

Helge Hafting

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Bernd Petrovitsch
On Tue, 2007-02-20 at 10:14 -0500, [EMAIL PROTECTED] wrote:
 On Tue, 20 Feb 2007 12:00:51 +0100, Bernd Petrovitsch said:
  Flame bait alert:
  I heard a talk from an Austrian lawyer an according to his believes (and
  I don't know if he is the only one or if there lots of) one must see
  from the users view if the GPL spreads over or not (and the usual
  technical terms like linking are basically irrelevant).
  E.g.:
  - You are distributing an application which links against a GPL-library.
  If you provide a link and the user/customer has to get and install that
  library, your application can have any license you wish.
  - If you distribute an application and it installs automatically a
  library (e.g. from the CD where your application is installed), your
  applications license must fit wit the library license.
 
 So tell me - if RedHat distributes a non-GPL program that uses a GPL
 library that is included as part of the distribution, but *not* one that's
 usually installed, which rules apply?

I'm well aware that there are (probably lots of) contradictions with
this idea.
IANAL and we must ask that lawyer actually for this. And he will
probasbly do not understand the question since he very probably doesn't
know all the usual software distribution methods.

 Even better - does this mean that I can *intentionally* bypass the licensing 
 by
 including a installer script that removed a problematic library, and then
 forces the user to re-install it?

A good question which belongs in the same category as above.

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services

-
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/


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Valdis . Kletnieks
On Tue, 20 Feb 2007 12:00:51 +0100, Bernd Petrovitsch said:
 Flame bait alert:
 I heard a talk from an Austrian lawyer an according to his believes (and
 I don't know if he is the only one or if there lots of) one must see
 from the users view if the GPL spreads over or not (and the usual
 technical terms like linking are basically irrelevant).
 E.g.:
 - You are distributing an application which links against a GPL-library.
 If you provide a link and the user/customer has to get and install that
 library, your application can have any license you wish.
 - If you distribute an application and it installs automatically a
 library (e.g. from the CD where your application is installed), your
 applications license must fit wit the library license.

So tell me - if RedHat distributes a non-GPL program that uses a GPL
library that is included as part of the distribution, but *not* one that's
usually installed, which rules apply?

Even better - does this mean that I can *intentionally* bypass the licensing by
including a installer script that removed a problematic library, and then
forces the user to re-install it?




pgpYyXP1m6V0a.pgp
Description: PGP signature


Re: GPL vs non-GPL device drivers

2007-02-20 Thread Jan-Benedict Glaw
On Tue, 2007-02-20 15:36:56 +0100, Helge Hafting [EMAIL PROTECTED] wrote:
 If you have a need for secret source code, stuff most of it
 in userspace.  Make the drivers truly minimal; perhaps their
 open/closed status won't matter that much when the bulk
 of the code and the cleverness is kept safe in userspace.
 
 Note that keeping drivers small this way is the recommended
 way of working anyway. It isn't merely a way to keep your
 code away from the GPL - you always want a small kernel.

Keeping the legal stuff out of sight for a second, this'll solve the
problem for the embedded developer, but surely not for the Linux
community. Would you ever expect that eg. the thin GPL layer used by
ATI/NVidia would be merged iff the rest would run in userland?

It's just a workaround for the
linking-the-object-file-into-the-kernel-image problem, but after all,
it doesn't lead to a working driver being freely available.

MfG, JBG

-- 
  Jan-Benedict Glaw  [EMAIL PROTECTED]  +49-172-7608481
 Signature of:If it doesn't work, force it.
 the second  :   If it breaks, it needed replacing anyway.


signature.asc
Description: Digital signature


Re: GPL vs non-GPL device drivers

2007-02-19 Thread Trent Waddington

Just in case anyone cares, after speaking with Michael for a few hours
I've found he's not nearly as abrasive as this mailing list banter
might suggest.  He makes some good arguments once you stop him from
spouting conspiracy stuff and, although I don't agree with all of
them, I think he has some good points.  He suggested posting a
transcript of our chat but, frankly, I don't think anyone wants to
read that.

Trent
-
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/


Re: GPL vs non-GPL device drivers

2007-02-19 Thread v j

You are trying to cram this in a simple yes or no box, and it just doesn't
fit. There are questions nobody knows the answers to (such as what rights
you need to distribute a derivative work or whether compiling code makes a
translation).


Thanks, all for the discussion. I certainly learnt a lot. I definitely
expected to be flamed and roasted for posting my original message, and
was not disappointed :)

I do not possess all the knowledge ("legal" and technical) that people
who have contributed to this discussion possess. However I will still
comment from a user's perspective, which was my original point.

Many companies in the embedded field still mistakenly feel (or felt
until a while ago) that Linux was not right for them. That they would
have to open source their code, that they would not get adequate
support, and that Linux was too big and heavy to perform well in an
embedded platform. People like me who were Linux Desktop junkies were
actually trying to convince companies of the opposite.

Now the popularity of Linux is exploding in the embedded space. Nobody
talks of VxWorks and OSE anymore. It is all Linux. Perhaps it would be
a worthwhile experiment to study this surge in popularity. I am not an
expert, but perhaps the reason is "it works so goddamn well and has a
wealth of third party FREE software". Sure its a bit of work to make
it work on our platform and we don't have to Enea or Windriver to
write our gripes to. But it definitely is worth it.

Now it would also be worthwhile to contemplate what EXPORT_SYMBOL_GPL
does to this popularity. I don't know. I am just giving you my
opinion. The moment companies learn of something like this, alarm
bells start to go off. This is not rational. I personally have nothing
against open-sourcing all software. *But*, this is not how companies
think.

Let's think about why Linux became so popular and strive towards
keeping it that way instead of resorting to innovative ways of just
confusing a lot of people.

Having said this, I am committed to contribute back to the Linux
community in any way I can, not withstanding my present employer. Keep
up the good work guys!


DS


vj.
-
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/


RE: GPL vs non-GPL device drivers

2007-02-19 Thread David Schwartz
Combined responses

> On 2/20/07, Michael K. Edwards <[EMAIL PROTECTED]> wrote:
> > There is no legal meaning to "combining" two works of authorship under
> > the Berne Convention or any national implementation thereof.  If you
> > "compile" or "collect" them, you're in one area of law, and if you
> > create a work that "adapts" or "recasts" (or more generally "derives
> > from") them, you're in another area of law.

> As I said, you're having a purely semantic argument.

When someone uses a term that can mean more than one possible thing and then
uses the fact that it's true for one meaning to argue that it must be true
for the other, what else can you do other than point out that the term they
are using has multiple meanings?

> Regardless of what you *call* it, shoving two works together does not
> excuse you from the conditions of the license on one of those works,
> *when you make a copy*.

Nobody is arguing otherwise. Nobody is saying "you don't have to comply with
the GPL". We're saying that the GPL doesn't mean what people think it means.
In some cases it's because of the GPL's wording, but in other cases it's
because the GPL cannot set its own scope.

> And that's the GPL in a nutshell, if you want
> to copy the work, you need a license, if you want a license, you must
> abide the conditions, and one of the conditions is that you may not
> combine it with a work that is under an incompatible license unless it
> is mere aggregation.

Right. And all the cases we are talking about are mere aggregation (that is,
they do not create derivative works).

> Of course, now you're going to argue that there's no such thing as an
> "incompatible license" or "mere aggregation" and that these are just
> words that were made up for the GPL, so they can be ignored.. another
> pointless semantic argument because it doesn't change the very simple
> fact that you don't have any rights to copy the work unless you have a
> license and you don't have a license if you fail to abide the
> conditions of the license.

The issue is about what the license *means* and what its scope is. For
example, if the license said "if you ever use a work that is subject to this
license, you must place every work you create after that under the license",
that would obviously not be enforceable. The question of the *scope* of the
license is critical, and you can't read the license to understand its scope.

> Hang on, you're actually debating that you have to abide by conditions
> of a license before you can copy a copyright work?

Well, there are certainly cases where you can. Necessary step, first sale,
and fair use all provide possible situations where you can copy a
copyrighted work without complying with the license. But more generally, the
argument is over the scope of the license.

The GPL doesn't restrict the distribution of mere aggregations not because
the authors felt this was a wise decision, but because it *can't*. That is
outside the GPL's power. So the question of what's a "mere aggregation" is a
legal question about the scope of the GPL, and you have to look at law and
case law to understand it, not the text of the GPL.

The GPL grants you the permission to modify and distribute the original work
if you distribute the source of the original work. The GPL also puts certain
requirements on the distribution of derivative works. This is, as far as I
can tell, the maximum of the scope it can have.

You are trying to cram this in a simple yes or no box, and it just doesn't
fit. There are questions nobody knows the answers to (such as what rights
you need to distribute a derivative work or whether compiling code makes a
translation).

DS


-
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/


Re: GPL vs non-GPL device drivers

2007-02-19 Thread Trent Waddington

On 2/20/07, Michael K. Edwards <[EMAIL PROTECTED]> wrote:

And for those reading along at home, _surely_ you understand the
meanings of "ambiguities in an offer of contract must be construed
against the offeror", "'derivative work' and 'license' are terms of
art in copyright law", and "not a valid limitation of scope".  If not,
I highly recommend to you that master of exposition who goes by "Op.
Cit.".


You're really not helping yourself in making a convincing argument here.

Trent
-
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   2   3   4   5   6   >