FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 06-15-2008, 11:24 PM
David Woodhouse
 
Default Fedora Freedom and linux-libre

On Sun, 2008-06-15 at 20:12 -0300, jeff wrote:
> But tg3.o as distributed by RedHat/Fedora when it's compiled is *NOT* a GPL .o,
> it has the proprietary data in it. It isn't separate at all (like some
> firmware, say intel wireless, which is a completely separate file).
>
> I look at tg3.c and I can't tell where this "aggregation" begins and ends. It's
> the *SAME FILE*. Can you clearly say which line numbers are GPL and which line
> numbers are not GPL?

It is quite clearly a violation of the GPL.

Feel free to submit a patch to shift the firmware out of that file and
fix the driver to use request_firmware() for it. I'm collecting such
patches in the git tree I referred to earlier.

For now, we're shifting firmware blobs into the firmware/ directory and
still letting people include them into their kernel image.

But I strongly believe that's _still_ a GPL violation, because they are
still being distributed 'as part of a whole which is a work based on the
Program', rather than 'as separate works'. With all that that implies.

So in the long run, we actually want to move the whole lot out of the
firmware/ directory of the kernel source and into an entirely separate
package. But we'll do things one step at a time; let's get the drivers
fixed to use request_firmware() first, and then we can worry about the
details of how that firmware gets shipped.

--
dwmw2

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 12:08 AM
jeff
 
Default Fedora Freedom and linux-libre

David Woodhouse wrote:

On Sun, 2008-06-15 at 20:12 -0300, jeff wrote:
But tg3.o as distributed by RedHat/Fedora when it's compiled is *NOT* a GPL .o,
it has the proprietary data in it. It isn't separate at all (like some
firmware, say intel wireless, which is a completely separate file).


I look at tg3.c and I can't tell where this "aggregation" begins and ends. It's
the *SAME FILE*. Can you clearly say which line numbers are GPL and which line
numbers are not GPL?


It is quite clearly a violation of the GPL.

Feel free to submit a patch to shift the firmware out of that file and
fix the driver to use request_firmware() for it. I'm collecting such
patches in the git tree I referred to earlier.


Well, I did do a patched kernel with the GPL violations removed--but my goal
wasn't to make it so people could then re-add non-free software, so I don't
think the request_firmware() path is the one I'd take. Alexandre Oliva is now
maintaining this free software branch of the linux kernel (as you know) as he's
far more competent at this than me...


====


The "GPLing" of the driver (MODULE_LICENSE("GPL")) and the inclusion of a chunk
of non-free code occurred in commit [1] 2d8a9d3fd19147c808aa39ddc69a743d1c90f199.


The commit shows David S. Miller (davem@redhat.com) and Jeff Garzik
(jgarzik@mandrakesoft.com) as authors. If they have ever had it, couldn't they
be sued for the source code like other companies that are violating the GPL? I
suppose it would be RedHat itself that is liable, not them individually since
presumably David Miller was working on RH time. But he also has commits with
huge non-free chunks, such as b7fea8b8bd72166942e8b589e0e948af4aff3a37 coming
from "davemloft.net" (others from "ninka.net"), so perhaps he would be
individually responsible too.


I haven't thought through the implications of it yet, but lines in the firmware
itself get occassionally modified--it wasn't just a one time dump, so it
appears the source is there somewhere and someone is hacking away at it.
Perhaps Broadcom themselves (they added their copyright three years later, in
b8d263683391ab74f5794657a4b4edc6d7632937) have to give over the source code if
Miller and/or Garzik don't have it.


Has RedHat ever had the source code to the driver?

-Jeff

[1] git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 12:26 AM
Les Mikesell
 
Default Fedora Freedom and linux-libre

David Woodhouse wrote:

On Sun, 2008-06-15 at 17:13 -0500, Les Mikesell wrote:
Do do have an exact definition of what is not permitted?


I pasted a precise definition of 'collective work' already, didn't I?


That is unrelated to the question.


It is a work in which a number of separate and independent works are
assembled into one work.

The very definition of 'collective work' is that it is an aggregation of
other independent and separate works.


And aggregations are explicitly permitted which makes that discussion
irrelevant.



In order to create a collective work, you need the permission of the
copyright-holders of each of the constituent parts. If any _one_ of them
denies you that permission, then you may not distribute that collective
work.


And this part applies equally to every line of code and data. Having
source or not doesn't change the requirement for permission to
distribute - or give anyone more or less reason to question whether that
permission has been given.



As you know, the GPL makes an exception for 'mere aggregation on a
volume of a storage or distribution medium'. There is some scope for
debate on precisely what is covered by that exception, but not a huge
amount.


So the relevant discussion should be about whether there is a person
that can identify the separate parts.



I've been talking generically so far. Getting back to the particular
case of firmware and kernel drivers... these are claimed by the network
driver maintainer to be "intimately tied" "pieces of a coherent whole".
I really cannot see how that claim by an expert in the field can be
reconciled with a claim that the presence of the firmware is 'mere
aggregation on a volume of a storage medium'.


You could resolve that question by finding someone who can identify the
separate parts.



But it's not particularly well-phrased, so there is a grey area, and no
definitive 'right' answer until/unless it's been heard in court. There
are only 'likely' answers.


And at least in the US, copyright is a matter of civil law so it won't
go to court unless the holder of the copyright that is violated takes it
there.



When you distribute the firmware blobs as separate works, of _course_
the GPL doesn't apply to them.

But when you distribute those same blobs as part of a whole which is a
work based on the GPL'd Program, the distribution of the whole must be
on the terms of the GPL, whose permissions for other licensees extend to
the entire whole, and thus to each and every part, regardless of who
wrote it.


Unless they consist of separate parts that have been aggregated together...


But, I think you are the one missing the point at least from the
perspective of the FSF or anyone likely to take legal action on behalf
of the GPL. They claim that it doesn't matter if the components are
distributed separately or not. For example, you can't modify a GPL'd
component so that it needs a library under different terms even if the
parts are never distributed together.



Thus, it is not the intent of the GPL to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.


Whether it is a derivative or 'work as a whole' depends on the
relationship of the parts, not temporary physical proximity. If the
compiler keeps the parts separate so the downloading code can identify
them to download the correct separate data to the correct separate
device they are rather clearly separate things aggregated temporarily
within a file. This might be more obvious if it were easier for a human
to identify the parts, but that's a mechanical detail. The question of
whether the relationship of the runtime code makes it a derived work
might still remain, but it is unrelated to the bits of code and data
having been aggregated as permitted.


--
Les Mikesell
lesmikesell@gmail.com

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 12:38 AM
Les Mikesell
 
Default Fedora Freedom and linux-libre

jeff wrote:

Les Mikesell wrote:
Whatever mechanical translations you can do to something will not
change its copyright status. If you make a tar file containing 2
different copyrighted works, they are still 2 separate works, but
there is nothing magic about tar's format that relates to this concept.


But what is the copyright status of drivers/net/tg3.c? What lines are
GPL (if they are) and which lines are not GPL? I don't mean this as a
theoretical exercise, I mean this *literally*. If you read tg3.c it
*ONLY* says:


/*
* tg3.c: Broadcom Tigon3 ethernet driver.
*
* Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@redhat.com)
* Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com)
* Copyright (C) 2004 Sun Microsystems Inc.
* Copyright (C) 2005-2007 Broadcom Corporation.
*
* Firmware is:
* Derived from proprietary unpublished source code,
* Copyright (C) 2000-2003 Broadcom Corporation.
*
* Permission is hereby granted for the distribution of this firmware
* data in hexadecimal or equivalent format, provided this copyright
* notice is accompanying it.
*/


It never mentions GPL *EXCEPT* here:

MODULE_AUTHOR("David S. Miller (davem@redhat.com) and Jeff Garzik
(jgarzik@pobox.com)");

MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver");
MODULE_LICENSE("GPL");


But tg3.o as distributed by RedHat/Fedora when it's compiled is *NOT* a
GPL .o, it has the proprietary data in it. It isn't separate at all
(like some firmware, say intel wireless, which is a completely separate
file).


I look at tg3.c and I can't tell where this "aggregation" begins and
ends. It's the *SAME FILE*. Can you clearly say which line numbers are
GPL and which line numbers are not GPL?


I don't know much about kernel drivers and I don't think ordinary humans
are expected to. I'd approach the question more mechanically, on the
same order as trying to establish if the elements within a tar file are
separate things, or if the files represented within an iso image are
separate things. If the compiler stores in a form that the loader can
identify and download to the correct device, I'd be convinced that it is
a separate thing regardless of any intermediate mechanical
transformations or representations.


--
Les Mikesell
lesmikesell@gmail.com


--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 01:01 AM
jeff
 
Default Fedora Freedom and linux-libre

Les Mikesell wrote:

jeff wrote:

Les Mikesell wrote:
Whatever mechanical translations you can do to something will not
change its copyright status. If you make a tar file containing 2
different copyrighted works, they are still 2 separate works, but
there is nothing magic about tar's format that relates to this concept.


But what is the copyright status of drivers/net/tg3.c? What lines are
GPL (if they are) and which lines are not GPL? I don't mean this as a
theoretical exercise, I mean this *literally*. If you read tg3.c it
*ONLY* says:


/*
* tg3.c: Broadcom Tigon3 ethernet driver.
*
* Copyright (C) 2001, 2002, 2003, 2004 David S. Miller
(davem@redhat.com)

* Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com)
* Copyright (C) 2004 Sun Microsystems Inc.
* Copyright (C) 2005-2007 Broadcom Corporation.
*
* Firmware is:
* Derived from proprietary unpublished source code,
* Copyright (C) 2000-2003 Broadcom Corporation.
*
* Permission is hereby granted for the distribution of this
firmware

* data in hexadecimal or equivalent format, provided this copyright
* notice is accompanying it.
*/


It never mentions GPL *EXCEPT* here:

MODULE_AUTHOR("David S. Miller (davem@redhat.com) and Jeff Garzik
(jgarzik@pobox.com)");

MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver");
MODULE_LICENSE("GPL");


But tg3.o as distributed by RedHat/Fedora when it's compiled is *NOT*
a GPL .o, it has the proprietary data in it. It isn't separate at all
(like some firmware, say intel wireless, which is a completely
separate file).


I look at tg3.c and I can't tell where this "aggregation" begins and
ends. It's the *SAME FILE*. Can you clearly say which line numbers are
GPL and which line numbers are not GPL?


I don't know much about kernel drivers and I don't think ordinary humans
are expected to.


Well ordinary humans don't post 20 times to fedora-devel arguing about kernel
drivers either--but you have. You can't just cop out and plead ignorance now.
How lame of you.


I'd approach the question more mechanically, on the
same order as trying to establish if the elements within a tar file are
separate things,


Well, if that tar file is distributed as a GPL file, then everything in it
would be GPL, no?


or if the files represented within an iso image are
separate things.


If the entire ISO is distributed as GPL, it wouldn't be separate would it?

If the compiler stores in a form that the loader can
identify and download to the correct device, I'd be convinced that it is
a separate thing regardless of any intermediate mechanical
transformations or representations.


But they are being *shipped together* in a package whose license says: GPLv2.

$ rpm -qp --queryformat "%{LICENSE}
" kernel-2.6.26-0.67.rc6.git1.fc10.src.rpm
GPLv2

So RedHat is claiming they are shipping a GPLv2 kernel, when they clearly
aren't (they are also doing it knowingly). Note, there are packages that have a
mix of licenses, and this gets clearly pointed out in the LICENSE tag.


If RedHat has the source to this driver, I believe they are obligated to turn
it over to anyone they have distributed a kernel to--they shouldn't be able to
add proprietary bits to the Linux kernel and keep the code to themselves. Same
is true for broadcom.


So you may be convinced that it is a separate thing (though you are really
really really stretching things, when both tg3.c and tg3.o have everything
combined), but by calling the whole thing GPL, it would encompass that firmware
as well. They are not saying "GPLv2 and Proprietary firmware that is merely
aggregated into the same .o"....


-Jeff

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 01:39 AM
jeff
 
Default Fedora Freedom and linux-libre

jeff wrote:
If RedHat has the source to this driver, I believe they are obligated to
turn it over to anyone they have distributed a kernel to--they shouldn't
be able to add proprietary bits to the Linux kernel and keep the code to
themselves. Same is true for broadcom.


In fact, if you go to Broadcom's site to download the driver[1,2], it says "The
Broadcom Linux Ethernet drivers are licensed under the GNU GPL. The full text
of the license is available in the driver archive." The LICENSE file included
is the GPLv2. The .src.rpm that is included has the LICENSE tag GPL.



To me it appears quite clear that Broadcom is distributing a GPL'd file, and
thus has to turn over the source code.


Now you may argue this exempts them from this (but it probably still doesn't):

* Firmware is:
* Derived from proprietary unpublished source code,
* Copyright (C) 2000-2003 Broadcom Corporation.
*
* Permission is hereby granted for the distribution of this firmware
* data in hexadecimal or equivalent format, provided this copyright
* notice is accompanying it.



But what about in versions distributed for years where that was not included?
That text above is recent addition. To my surprise when I went to download the
driver on their page I found I had an old ~/devel/broadcom directory with a
file linux-7.3.5.zip containing files timestamped from 2004 (the above
copyright was added in 2005).


Here, the bcm5700-7.3.5-1.src.rpm file was tagged "GPL". It also contains
bcm5700-7.3.5 directory with the single LICENSE file of the GPLv2 (making no
mention of aggregation and such). The bcm5700-7.3.5-2.4.26.patch included with
that LICENSE reads:



+/************************************************** ****************************/
+/* */
+/* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 - 2003 Broadcom */
+/* Corporation. */
+/* All rights reserved. */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation, located in the file LICENSE. */


and then contains a bunch of:

+0x10000003, 0x0, 0xd, 0xd,
+0x3c1d0800, 0x37bd3ffc, 0x3a0f021, 0x3c100800,
+0x26100000, 0xe000018, 0x0, 0xd,
+0x3c1d0800, 0x37bd3ffc, 0x3a0f021, 0x3c100800,
+0x26100034, 0xe00021c, 0x0, 0xd,


They make *NO* mention of a separate license.


Can someone explain to me why they are *not* now required to distribute the
source code to this? They have themselves clearly placed the file under the GPL
and didn't write any 'exceptions' (which could be invalid anyway).


They clearly state years later that it is "Derived from proprietary unpublished
source code", so there *is* source code to this (as opposed to a bunch of
register settings or whatever).


Gimme the source!

-Jeff


[1] http://www.broadcom.com/support/ethernet_nic/netxtreme_desktop.php
[2] http://www.broadcom.com/docs/driver_download/570x/linux-3.85l.zip

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 02:19 AM
"Tom "spot" Callaway"
 
Default Fedora Freedom and linux-libre

On Sun, 2008-06-15 at 22:39 -0300, jeff wrote:
> To me it appears quite clear that Broadcom is distributing a GPL'd
> file, and thus has to turn over the source code.

I would encourage you to pursue this with Broadcom, as they are clearly
the copyright holder for the firmware.

~spot

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 03:31 AM
jeff
 
Default Fedora Freedom and linux-libre

Tom "spot" Callaway wrote:

On Sun, 2008-06-15 at 22:39 -0300, jeff wrote:

To me it appears quite clear that Broadcom is distributing a GPL'd
file, and thus has to turn over the source code.


I would encourage you to pursue this with Broadcom, as they are clearly
the copyright holder for the firmware.


Well, and RedHat too. They appear to be the ones that actually added it to the
Linux kernel and likely work with Broadcom. Does RedHat have a copy of the source?


-Jeff

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 04:18 AM
"Horst H. von Brand"
 
Default Fedora Freedom and linux-libre

Alexandre Oliva <aoliva@redhat.com> wrote:
> On Jun 14, 2008, Les Mikesell <lesmikesell@gmail.com> wrote:
> > Alexandre Oliva wrote:
>
> >>>> The other is, is the kernel separate from the device's firmware?
>
> >>> That's a different question, unrelated to how that firmware got into
> >>> the device.
>
> >> I know. I don't understand why you insist on this irrelevant point.
>
> > Because I think it is the only relevent point. It is only if the
> > combined works form a derivative work that restrictions can apply to
> > the combination differently than the components and whether a
> > derivative work is formed does not depend on how the components were
> > distribtuted.
>
> There are various possibilities here, let me summarize the ones that
> occur to me, in no particular order:
>
> a. one work is a derivative from the other, and they are distributed
> together
>
> b. one work is a derivative from the other, and they are distributed
> separately
>
> c. two unrelated works are distributed separately
>
> d. two works are combined into a single coherent work, undoubtedly a
> derivative from both, regardless of whether the two works were
> originally related, and then the derivative work is distributed

If they were originally not related, just gluing them together doesn't
make them derivatives of each other.

> e. two unrelated works are distributed together by mere aggregation in
> a single volume of storage or distribution medium
>
> If I understood your argument correctly, you appear to be proposing
> that, because cases such as (a-c) exist, the case at hand can't be
> (d), so it must be (e). I don't see how this conclusion can follow
> from the premises. Please clue me in?

(d) is impossible, so only (e) is left.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile 2340000 Fax: +56 32 2797513

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 06-16-2008, 04:27 AM
Les Mikesell
 
Default Fedora Freedom and linux-libre

jeff wrote:



To me it appears quite clear that Broadcom is distributing a GPL'd file,
and thus has to turn over the source code.


Now you may argue this exempts them from this (but it probably still
doesn't):


* Firmware is:
* Derived from proprietary unpublished source code,
* Copyright (C) 2000-2003 Broadcom Corporation.
*
* Permission is hereby granted for the distribution of this firmware
* data in hexadecimal or equivalent format, provided this copyright
* notice is accompanying it.



But what about in versions distributed for years where that was not
included? That text above is recent addition. To my surprise when I went
to download the driver on their page I found I had an old
~/devel/broadcom directory with a file linux-7.3.5.zip containing files
timestamped from 2004 (the above copyright was added in 2005).


Here, the bcm5700-7.3.5-1.src.rpm file was tagged "GPL".



I'd take that to mean that they didn't understand the GPL when they
originally used it and corrected the situation by removing it. So what
you have is a non-gpl'd binary file with permission to redistribute -
which is far from unique.


--
Les Mikesell
lesmikesell@gmail.com

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 

Thread Tools




All times are GMT. The time now is 05:39 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org