Bug 1389253

Summary: kernel firmware and license problem
Product: [Fedora] Fedora Reporter: mejiko <private>
Component: linux-firmwareAssignee: David Woodhouse <dwmw2>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dwmw2, jforbes, kernel-maint, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-27 20:08:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 182235    

Description mejiko 2016-10-27 09:43:30 UTC
Hello.

linux-firmware included non-free firmware.
Please see WHENCE file.


non-free firmware list :


<LIST START>


Unknown:

snd-maestro3
snd-ymfpci
snd-korg1212
dvb-ttusb-budget
emi62
ti_usb_3410_5052
ip2
vicam
cassini
acenic
qlogicpti
myri_sbus
lgs8gxx


non-distributable (non-free):

smctr
io_ti
yam
3c359


Questionable:

ambassador

Reason: This license is GPLv2. but no source code. (If binary distribute with or without modify, GPLv2 require publish source code)
and more restriction apply. This is GPL incompatible.


keyspan, slicoss, sxg

Reason: This license is "OS specific", I think. (Is this restriction is OK ?)


ti_usb_3410_5052, whiteheat, cpia2, io_edgeport, snd-sb16-csp, starfire, smc91c92_cs, snd-wavefront

Reason: This license status is unclear. (Is there really licensed under GPLv2 ?) 
and no source code. (If there firmware license is GPLv2, and If binary distribute with or without modify, GPLv2 require publish source code, I think)


serial_cs

Reason: Where is source code ? (This license is GPLv3)

<LIST END>


I suggest that resolve license problem.
Thanks.


Reference:

https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#Binary_Firmware

Comment 1 Josh Boyer 2016-10-27 15:36:12 UTC
(In reply to mejiko from comment #0)
> Hello.
> 
> linux-firmware included non-free firmware.
> Please see WHENCE file.
> 
> 
> non-free firmware list :

It is confusing to use the term "free" here.  Very very little of the binary firmware distributed in Fedora falls under any sort of free definition.

> <LIST START>
> 
> 
> Unknown:
> 
> snd-maestro3
> snd-ymfpci
> snd-korg1212
> dvb-ttusb-budget
> emi62
> ti_usb_3410_5052
> ip2
> vicam
> cassini
> acenic
> qlogicpti
> myri_sbus
> lgs8gxx

Most of these that were derived from the kernel-source are fine.

> non-distributable (non-free):
> 
> smctr
> io_ti
> yam
> 3c359

These are fine.  They have no explicit disallowment of redistribution, only that they are licensed for use with the various hardware components.  

> Questionable:
> 
> ambassador
> 
> Reason: This license is GPLv2. but no source code. (If binary distribute
> with or without modify, GPLv2 require publish source code)
> and more restriction apply. This is GPL incompatible.

This one is odd.  It's putting the _data_ under the kernels of the GPL, not the source.  The GPL isn't really a data/content license, but there is nothing specifically wrong with the license usage as it is specified.

> keyspan, slicoss, sxg
> 
> Reason: This license is "OS specific", I think. (Is this restriction is OK ?)

These are fine.

> ti_usb_3410_5052, whiteheat, cpia2, io_edgeport, snd-sb16-csp, starfire,
> smc91c92_cs, snd-wavefront
> 
> Reason: This license status is unclear. (Is there really licensed under
> GPLv2 ?) 
> and no source code. (If there firmware license is GPLv2, and If binary
> distribute with or without modify, GPLv2 require publish source code, I
> think)

These all are found originally in kernel-source.  They're fine.  The comments about "Alledgedly GPLv2" do not mean they are GPLv2 licensed.

> serial_cs
> 
> Reason: Where is source code ? (This license is GPLv3)

It's in the linux-firmware git repo (the .cis files) and the tool to compile it is at http://git.kernel.org/cgit/utils/cis-tools/cis-tools.git

> <LIST END>
> 
> 
> I suggest that resolve license problem.
> Thanks.

I don't really see any problems.  I'll leave the bug open for a bit for FE-Legal to weigh in.

Comment 2 Tom "spot" Callaway 2016-10-27 20:08:56 UTC
This is all fine. As your reference link points out, the one compromise Fedora makes is for Binary Firmware. We wish we didn't have to make it, but at this point in time, we do.

Comment 3 David Woodhouse 2016-10-28 01:07:04 UTC
(In reply to Josh Boyer from comment #1)
> > ambassador
> > 
> > Reason: This license is GPLv2. but no source code. (If binary distribute
> > with or without modify, GPLv2 require publish source code)
> > and more restriction apply. This is GPL incompatible.
> 
> This one is odd.  It's putting the _data_ under the kernels of the GPL, not
> the source.  The GPL isn't really a data/content license, but there is
> nothing specifically wrong with the license usage as it is specified.

Er... the GPL doesn't distinguish between code and data, really.

The only difference between the two is the practical answer to the question  "what is the preferred form for modification?".

For stuff that's *genuinely* data, like a sequence of register values to load, you could argue that a simple array of numbers is indeed the preferred form for modification. (Although try submitting those without suitable #defines and comments in a driver, and tell me that it's really "preferred".)

For something that is actual code that runs on a CPU, it's even harder to argue that pretending it's "data" and having an array of numbers is really the preferred form for modification. That's just sophistry.

Although having said that, the GPL doesn't explicitly state for *whom* it must be the preferred form, and what drugs they may be on at the time. :)