Bug 221675

Summary: Review Request: zd1211-firmware - Firmware for wireless devices based on zd1211 chipset
Product: [Fedora] Fedora Reporter: Nicolas Chauvet (kwizart) <kwizart>
Component: Package ReviewAssignee: Bill Nottingham <notting>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: ericm24x7, linville, perja, richard, rvokal
Target Milestone: ---Flags: notting: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-05-13 13:56:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nicolas Chauvet (kwizart) 2007-01-05 23:23:45 UTC
Spec URL: 
http://kwizart.free.fr/fedora/SPECS/zd1211-firmware.spec

SRPM URL:
http://kwizart.free.fr/fedora/5/SRPMS/zd1211-firmware-1.2-1_FC5.src.rpm

Description: 
Firmware for zd1211 802.11 wireless devices 

Read from here:
http://fedoraproject.org/wiki/Releases/FeatureWirelessFirmware
It need to be integrated on a livecd

License issue:
Do not have searched for legal issue about redistribution yet...
I will do it (Zydas is now Atheros...)

Comment 1 Nicolas Chauvet (kwizart) 2007-01-06 00:01:49 UTC
Spec URL: 
http://kwizart.free.fr/fedora/SPECS/zd1211-firmware.spec

SRPM URL:
http://kwizart.free.fr/fedora/6/SRPMS/zd1211-firmware-1.3-1.kwizart.fc6.src.rpm

Description: 
Firmware for zd1211 802.11 wireless devices 

Recently updates to 1.3... Also noted that the license included in the README is
GPL (and generated from sources with the driver...)
from http://www.deine-taler.de/zd1211/


Comment 2 Richard Hughes 2007-02-11 17:38:17 UTC
Including this firmware will make a LOT of USB2 wireless cards Just Work. This
is important for F7 if it is okay with legal.

Comment 3 Gianluca Sforna 2007-02-11 22:02:19 UTC
at a glance:

you could use the official project website in URL:
http://zd1211.ath.cx/

Source0 is usually a full download URL; for sf.net, I use something like:
http://download.sourceforge.net/zd1211/%{name}%{version}.tar.bz2

you have a typo in:
ln -s /liv/firmware/zd1211/README.zd1211 README

the rest looks fine

Comment 4 Nicolas Chauvet (kwizart) 2007-02-11 23:49:35 UTC
Ok fixed...
Two questions:
- Do i need to bundle the source needed to generate the firmware with it?
I don't know yet how to generate it from the source yet...
- It need to be tested more widely specially for the difference between 1.2 and
1.3 (see the readme). 

Comment 5 Bill Nottingham 2007-02-23 05:03:00 UTC
As this is GPL firmware, we really can't ship *just* the binary images. Hence,
we're probably better off using a git snapshot of:

  http://www.deine-taler.de/zd1211/zd1211_fw.git

Actually, you may want to prod the upstream sourceforge.net people if they could
be so kind as to ship tarballs of the source there with the generator.

Comment 6 Bill Nottingham 2007-02-23 05:08:22 UTC
In fact, I'll send them mail.

Comment 7 Bill Nottingham 2007-02-23 15:46:14 UTC
Upstream says:

...
daily snapshots of the git archive can be found here:

http://www.deine-taler.de/zd1211/snapshots/

Uli
...

Comment 8 Nicolas Chauvet (kwizart) 2007-02-23 15:50:42 UTC
thx you for you help! i will update soon...

Comment 9 Nicolas Chauvet (kwizart) 2007-02-23 19:08:31 UTC
Spec URL: 
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware.spec

SRPM URL:
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware-1.3-3.kwizart.fc6.src.rpm

Description: 
Firmware for zd1211 802.11 wireless devices 

rpmlint is silent on both sources and binaries
I've integrated a devel package but i don't think it is necessary unless a
rebuild is done. This can be usefull if any wants to update to a newer/modifies
version than the one provided in the kernel (thought i exepect replacement of a
kernel module seems not supported by Fedora Extras)

Comment 10 Bill Nottingham 2007-03-07 20:43:33 UTC
*** Bug 211673 has been marked as a duplicate of this bug. ***

Comment 11 Nicolas Chauvet (kwizart) 2007-03-07 21:42:19 UTC
I have compiled the firmware for testing (same directory)
It is written fedora core 6 but should work also for fc7...
Please give me feedback!

RPM:
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware-1.3-3.kwizart.fc6.noarch.rpm

Comment 12 Nicolas Chauvet (kwizart) 2007-03-14 11:45:34 UTC
From:
https://www.redhat.com/archives/fedora-packaging/2007-February/msg00292.html
The package shouldn't be concerned by this licence field
Redistributable, no modification permitted
(since this is a GPL firmware)

The question are still:
- Does it is usefull to have a -devel package
- Do users that uses zd1211rw or zd1211 softmac drivers (already in vanilla)
 or zd1211-mac80211 (since kernel 2.6.21rc1 and fedora 7 test), are
experimenting the same usability as the closed firmware...
 -> This will lead to write a test procedure

Since the compilation result is noarch is it also working if a ppc build of the
utility that assemble the firmware is done ?

I'm also sponsored (so i removed the FE-NEEDSPONSOR field)

Comment 13 Bill Nottingham 2007-03-19 19:09:10 UTC
Formal review:

MUST - Package content is acceptable - OK
MUST - Package name follows guidelines - OK
MUST - Spec file name is %{name}.spec - OK
MUST - Package follows Packaging Guidelines - ***

Description: This package is the firmware, not the driver.

The description for the -devel subpackage is just wrong. But see below.

MUST - BuildRoot is OK - OK
MUST - License is OK - OK
MUST - License is properly tagged - OK
MUST - License is included in package - OK
MUST - Spec is in english, and legible - OK
MUST - Sources match upstream - ***

Snapshot of upstream appears to get retired, so can't check that way. But the
code itself matches upstream.

MUST - Package builds - OK
MUST - Package has proper arch settings - OK
MUST - Package has proper BuildRequires - OK
MUST - Package handles locales properly - N/A
MUST - Package has proper %post scriplets for ldconfig - N/A
MUST - Package owns proper directories - OK
MUST - Does not own directories it shouldn't - OK
MUST - Package is relocatable if necessary  - N/A
MUST - Package has no duplicate files - OK
MUST - Package has proper file permissions - OK
MUST - Package has %clean - OK
MUST - Package uses macros consistently - OK
MUST - Package uses -doc, if needed - N/A
MUST - Headers in -devel, if needed - ***

Kill the -devel package. -devel is for things that link against an ABI - the
firmware does not count for that.

MUST - Static libs in -static - N/A
MUST - Uses pkgconfig correctly - N/A
MUST - Packages .so correctly - N/A
MUST - Subpackages have proper Requires: - N/A
MUST - Handles libtool correctly - N/A
MUST - Uses .desktop, if necessary - N/A

SHOULD - Package includes License as file - OK
SHOULD - Builds in mock - OK
SHOULD - Package functions - Can't test (no hardware)
SHOULD - Scriptlets are sane - N/A
SHOULD - File dependencies are sane - OK

Other notes:

The package creates the zd1211b firmware files as well, but the makefile doesn't
install them. This should be corrected.

Fix that, the description, and kill the -devel package, and it should be good to go.


Comment 14 Bill Nottingham 2007-03-19 19:12:54 UTC
I forgot, rpmlint output:

Source:

E: zd1211-firmware hardcoded-library-path in $RPM_BUILD_ROOT/lib/firmware/zd1211
E: zd1211-firmware hardcoded-library-path in /lib/firmware/zd1211

OK, this is the correct path.

W: zd1211-firmware mixed-use-of-spaces-and-tabs (spaces: line 22, tab: line 1)

Feel free to fix, not a blocker.

No binary rpmlint output.


Comment 15 Nicolas Chauvet (kwizart) 2007-03-19 21:02:58 UTC
Spec URL: 
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware.spec
SRPM URL:
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware-1.3-3.kwizart.fc6.src.rpm
Description: 
Firmware for wireless devices based on zd1211 chipset

- Description fixed
- snapshoot fixed
- -devel package killed
- Makefile now install both zd1211 and zd1211b firmware images
Well i didn't get this one (the hardest) W: zd1211-firmware
mixed-use-of-spaces-and-tabs: no space used at line 22



Comment 16 Nicolas Chauvet (kwizart) 2007-03-19 21:04:14 UTC
oups here is the SRPMS:
SRPM URL:
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware-1.3-4.kwizart.fc6.src.rpm

Comment 17 Kevin Kofler 2007-03-22 16:17:23 UTC
> As this is GPL firmware, we really can't ship *just* the binary images.

Have you even looked at the "source code"? Does anyone here really think a 
hexadecimal array of opcodes is the "preferred form for modification"? IMHO, it 
isn't any more useful than the straight binary (in fact, running a simple bin 
to hex converter on the binary will trivially give you that "source code" 
back).

Is it really safe to distribute packages where upstream doesn't even comply 
with their own license?

Comment 18 Nicolas Chauvet (kwizart) 2007-03-22 18:33:26 UTC
Well there is a need to clarify this :
The community maintainer of this archives claims that Zydas release the file as
it is, under the GPL license i can send you the copy of the irc discussion if
you want...

We may need to uses distributable, without modification in place of GPL or
something else...

Anyway this need clarification...





Comment 19 ericm24x7 2007-03-23 00:44:59 UTC
(In reply to comment #12)
> From:
> https://www.redhat.com/archives/fedora-packaging/2007-February/msg00292.html
> The package shouldn't be concerned by this licence field
> Redistributable, no modification permitted
> (since this is a GPL firmware)
> 
> The question are still:
> - Does it is usefull to have a -devel package
> - Do users that uses zd1211rw or zd1211 softmac drivers (already in vanilla)
>  or zd1211-mac80211 (since kernel 2.6.21rc1 and fedora 7 test), are

My understanding from zd1211-devs mail list
(https://lists.sourceforge.net/lists/listinfo/zd1211-devs):

* zd1211 - vendor supplied driver under GPL, not in active development
* zd1211rw - base on ieee80211/softmac stack and very limited capabilities.
       ieee80211/softmac development no longer active, moving toward mac80211
* zd1211rw-mac80211 - provide much fuller features and capabilities
       - all active development is focus on this stack now.
       - my test: basic functions very functional and stable under x86_64

* Since many small size firmwares are often modified and patched directly from
hex as opposed to recompilation from sources, I think this meet the requirement
of: "preferred form for modification". Maybe "acceptable form of modification"
rather than "preferred".

* so will the latest zd1211rw-mac80211 firmware be included in the latest fc7
development build? 

Comment 20 Tom "spot" Callaway 2007-04-10 21:23:46 UTC
If this firmware is truly under the GPL, we should be able to get source for it,
not just a hex dump. If the upstream is not providing this, then they're in
violation of the GPL. 

Have we tried to ask upstream for the source?

Comment 21 Bill Nottingham 2007-04-10 21:25:53 UTC
That would then imply that the qlogic driver in the kernel is in violation of
the GPL, and we can't distribute that.... not sure we want to go down that road.

Comment 22 Nicolas Chauvet (kwizart) 2007-04-10 21:45:49 UTC
That's exactly what i've said on irc to #zd1211 (about possible GPL violation)

If a real open source GPL firmware can be obtened, this may be requested to
Atheros http://www.atheros.com/news/ZyDAS.html

For now The "GPL" licence of this package seems a problem.
But can we use "Redistributable, no modification permitted" instead?

Comment 23 Bill Nottingham 2007-04-10 21:49:06 UTC
*Atheros*? Ok, that will never happen. :)

GPL is the license put on the code,in entirety. The question is whether the hex
dump is the preferred form of modification. You certainly are allowed to modify
the hex code and redistribute it, so the 'Redistrubtable, no modification
permitted' does not apply.

Comment 24 Nicolas Chauvet (kwizart) 2007-04-10 22:10:38 UTC
Well, I can send them a mail with hope to get some clarification from them...




Comment 25 ericm24x7 2007-04-10 22:23:09 UTC
My understanding is that the firmware was already approved for redistribution
under the previous ownership (Zydas). Usually the contract agreement under
previous ownership remain legally binding and enforceable unless the new
ownership (Atheros in this case) specifically revoke the previous agreement in
writing. Of course it would have been nice if the agreement specifically
prohibit revocation  of current agreement upon change of ownership.

Comment 26 ericm24x7 2007-04-10 23:35:29 UTC
Here is a response from the primary developer 
Uli Kunitz <kune at deine-taler.de> 
of the re-written zd1211 driver under GPL:

The vendor driver has been distributed alternatively under the GPL
version 2 in source code, which contains header files with the
firmware in large C arrays. I have created a derived work of the
vendor driver published also under the GPL version 2. The source
code contains the headers of the vendor driver. The program itself
creates the firmware files. Look for zd1211rw_fw_*.tar.bz2 under
http://deine-taler.de/zd1211/snapshots/. Look at the file README.

IANAL, so I cannot answer the question under which conditions the
distribution of the firmware files would be covered under the GPL.

> [1] Requirements:
> > 
> >    1. The files are non-executable (note: this means that the files
> >       cannot run on their own, not that they are just chmod -x)
> >    2. The files are not libraries.
> >    3. The files are standalone, not embedded in executable or library code.
> >    4. Explicit permission is given by the owner to freely redistribute
> >       without restrictions (this permission must be included, in
> >       "writing", with the files in the packaging)
> >    5. The files must be necessary for the functionality of open source
> >       code being included in Fedora.

Requirements 1, 2, 3, and 5 are fulfilled by the binary files.
Daniel Drake (dsd-at-gentoo-dot-org) handled the relationship to
the vendor, so he might be able to help with requirement 4.

Uli Kunitz <kune at deine-taler.de>

Comment 27 Bill Nottingham 2007-04-11 00:29:39 UTC
Regarding the packaging, the previous issues raised:

description - FIXED
-devel removed - FIXED
installation of zd1211b - FIXED

I am of the opinion that the license is 'good enough' - it provides the source
for the firmware in the only form available for modification. Hence, I'm
inclined to APPROVE this. Spot?

Comment 28 ericm24x7 2007-04-11 20:56:26 UTC
(In reply to comment #11)

> Please give me feedback!
> RPM:
http://kwizart.free.fr/fedora/6/testing/zd1211-firmware/zd1211-firmware-1.3-3.kwizart.fc6.noarch.rpm

I tested the above link on the latest FC7 development build (4.11.07). Installs
and works perfectly! Can you submit it to FC7 repo, so it can easily be
downloaded and install. Thanks.


Comment 29 Tom "spot" Callaway 2007-04-18 18:54:04 UTC
Yeah. I don't like their choice of license, but it meets the Fedora criteria.

A good lawyer could probably force them to deliver true source on this, but I'm
not going to hold this up on that battle.

Comment 30 Bill Nottingham 2007-04-18 18:56:21 UTC
OK then. Approving. 

Comment 31 Nicolas Chauvet (kwizart) 2007-04-18 19:07:24 UTC
New Package CVS Request
=======================
Package Name: zd1211-firmware
Short Description: Firmware for wireless devices based on zd1211 chipset
Owners: kwizart
Branches: FC-5 FC-6 devel
InitialCC: 

Comment 32 Bill Nottingham 2007-04-18 19:11:55 UTC
Note - for *non*-modifyable firmware, we can't really have branches for earlier
releases. This one should be OK, though.

Comment 33 Nicolas Chauvet (kwizart) 2007-04-18 19:17:48 UTC
Noted. 
This note is important for Ralink's ones.  
If it is possible to have them in FC7?!

I think it will be fine to add zd1211-firmware to the FC-7 collection if
possible ? So that zd1211 devices can work "out of the box" and livecd team
would be interested also...



Comment 34 Bill Nottingham 2007-04-18 19:28:11 UTC
Since zd1211-firmware is GPL, it's ok for F7, FC6, FC5. ralink is non-GPL, so
it's only OK for F7 and later (due to the EULA terms.)

Comment 35 John W. Linville 2010-06-23 14:02:45 UTC
Package Change Request
======================
Package Name: zd1211-firmware
New Branches: EL-5
Owners: linville kwizart

Comment 36 Jason Tibbitts 2010-06-25 18:24:32 UTC
Can we get an ack from the Fedora owner?  http://fedoraproject.org/wiki/Getting_a_Fedora_package_in_EPEL

Comment 37 Jason Tibbitts 2010-06-26 07:20:07 UTC
Please forgive me; now that I have better tools I see you are comaintainer of
the package in Fedora, which is fine.

CVS done (by process-cvs-requests.py).

Comment 38 John W. Linville 2010-06-28 14:24:24 UTC
Well, thanks for the attention!  But it looks like you created EPEL 6 instead of EPEL 5...

https://admin.fedoraproject.org/pkgdb/acls/name/zd1211-firmware

Also (and perhaps consequently) there is no new branch in CVS.

Comment 39 Jason Tibbitts 2010-06-28 16:41:36 UTC
CVS done (by process-cvs-requests.py).