Both sys-firmware/b43-firmware and sys-firmware/b43legacy-firmware packages have LICENSE="Broadcom" ... RESTRICT="mirror binchecks strip" The Broadcom license says """ 2.1. License Grants. Subject to the terms and conditions of this Agreement, Broadcom hereby grants to Licensee a non-exclusive, non-transferable, royalty-free license (i) to use and integrate the Software in conjunction with any other software; and (ii) to reproduce and distribute the Software complete, unmodified and only for use with a Broadcom Product. [...] 2.3. Restriction on Distribution. Licensee shall only distribute the Software (a) under the terms of this Agreement and a copy of this Agreement accompanies such distribution, and (b) [snip liability disclaimer] """ Looks to me like this is fine to mirror? As far as I know, this mirror restriction has prevented Gentoo ISOs from shipping with this firmware, which would be nice to do.
The log of profiles/license_groups indicates that robbat2 and I had discussed this previously: commit 63050b96add7e84293da52754ed5de5055c68d9b Author: Ulrich Müller <ulm@gentoo.org> Date: Sun Mar 2 00:03:22 2014 +0000 Move Broadcom license from EULA to BINARY-REDISTRIBUTABLE group, as discussed with robbat2. So yes, the mirror restriction can be dropped.
Great, thank you for the confirmation. I will drop the mirror restriction.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d65c32d0a96c607081049505c548521c9282301 commit 3d65c32d0a96c607081049505c548521c9282301 Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2018-09-20 06:50:40 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2018-09-20 06:51:24 +0000 sys-firmware/b43-firmware: Drop mirror restriction Closes: https://bugs.gentoo.org/666588 sys-firmware/b43-firmware/b43-firmware-5.100.138.ebuild | 2 +- sys-firmware/b43-firmware/b43-firmware-6.30.163.46.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1b75cb1ccccce9aef9c04056655badeb4f4cb63 commit c1b75cb1ccccce9aef9c04056655badeb4f4cb63 Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2018-09-20 06:50:13 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2018-09-20 06:51:24 +0000 sys-firmware/b43legacy-firmware: Drop mirror restriction Closes: https://bugs.gentoo.org/666588 sys-firmware/b43legacy-firmware/b43legacy-firmware-3.130.20.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/releng.git/commit/?id=678b4c1f9ff610e2280ab5cdea173382f527aaad commit 678b4c1f9ff610e2280ab5cdea173382f527aaad Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2018-09-20 06:54:09 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2018-09-20 06:55:04 +0000 specs/ppc: Replace fwcutter with actual firmware With the mirror restriction lifted, we can actually ship this on install CDs. Bug: https://bugs.gentoo.org/666588 releases/weekly/specs/ppc/ppc32/installcd-stage1.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
While I agree that the mirror restriction is unnessesary, the license is pretty clear on modified files: 2.1. License Grants. Subject to the terms and conditions of this Agreement, Broadcom hereby grants to Licensee a non-exclusive, non-transferable, royalty-free license (i) to use and integrate the Software in conjunction with any other software; and (ii) to reproduce and distribute the Software complete, unmodified and only for use with a Broadcom Product. I've added RESTRICT="bindist" to this ebuild as I feel is appropriate. If license teams disagree then they may revert my change and I will not argue. As I am the maintainer, I'm going with my reading of the license until someone else (say from the license team) wants to give this a blessing. I firmly believe we cannot distribute binaries here, but I won't battle the licensing team if they disagree.
might be worth noting that other distros do not distribute the cut firmware either: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#Installing_b43.2Fb43legacy_firmware https://wiki.debian.org/bcm43xx#b43_and_b43legacy https://fedoraproject.org/wiki/Firmware#List_of_firmware_which_we_can_NOT_package They all use a package that specifically does not redistribute the cut firmware, choosing instead to cut it on the user's machine.
@robbat2: Would it be o.k. if I quoted your e-mail message on the subject from 2014-02-28 here (message id <robbat2-20140228T181746-353624381Z@orbis-terrarum.net>)? @zerochaos: IIUC, fwcutter only extracts the firmware from the driver file? Or does it actually modify it?
fwcutter extracts just the firmware from inside of the broadcom binary driver. Looking at the source code I'd say it modifies it, but only because this looks vastly more complex than what you would need to do for simply cutting a file at specific bytes. https://github.com/mbuesch/b43-tools/tree/master/fwcutter
Trying to summarise from a discussion on IRC: The Broadcom license defines: 1.1. “Broadcom Product” means any of the proprietary integrated circuit product(s) sold by Broadcom with which the Software was designed to be used, [...] Whereas file(1) reports for the single file in the tarball (taking b43-firmware-6.30.163.46 as example): broadcom-wl-6.30.163.46.wl_apsta.o: ELF 32-bit LSB relocatable, MIPS, MIPS32 rel2 version 1 (SYSV), with debug_info, not stripped Arguably, one could conclude from 1.1. that "the Software" is what actually runs on their product. Since this is true only for the extracted firmware but not for the .o file, "the Software" would be the former in this interpretation. Also, do we actually know if the tarball referenced in SRC_URI originates from Broadcom directly? If it was packaged by somebody else, then the same that is true for bindist restriction is also true for mirror restriction: - If we interpret "the Software" to be the original package from Broadcom, then the file fetched by the ebuild isn't "complete" and "unmodified" (clause 2.1.(ii)), and we cannot mirror it, i.e., we would need both mirror and bindist restrictions. - If we interpret "the Software" as the actual firmware running on the Broadcom device, then it would be unmodified and we can both mirror it and distribute the binary package, i.e., we won't need either of the restrictions. Disclaimer: IANAL, TINLA.
Also, how do we know in the first place that the "Broadcom" license applies to this package? The README file in the b43-firmware-5.100.138 distfile indicates that the driver was extracted from a Netgear source package: http://www.downloads.netgear.com/files/GPL/WNDR4500-V1.0.0.40_1.0.10_src.tar.zip In that tarball, I see only a ReleaseNotes.html saying "Broadcom Corporation Confidential. For evaluation use only.", but no license that would give us the right to redistribute the file. Presumably, Netgear has an agreement with Broadcom that they can distribute it, but that wouldn't mean anything for us.
From "go ahead and remove the restriction" to (six months later) no it needs mirror restriction...or maybe even we can't distribute this at all.... Thanks guys. Seriously. Thanks for playing with fire while my name is on the package.
(In reply to Rick Farina (Zero_Chaos) from comment #11) > From "go ahead and remove the restriction" to (six months later) no it needs > mirror restriction...or maybe even we can't distribute this at all.... Well, my comment #1 was based on the assumption that the package is distributed under the Broadcom license. Apparently, that license label was added to the ebuild following bug 446658 comment #7. Do we know for certain that it is correct?
(In reply to Ulrich Müller from comment #12) > (In reply to Rick Farina (Zero_Chaos) from comment #11) > > From "go ahead and remove the restriction" to (six months later) no it needs > > mirror restriction...or maybe even we can't distribute this at all.... > > Well, my comment #1 was based on the assumption that the package is > distributed under the Broadcom license. Apparently, that license label was > added to the ebuild following bug 446658 comment #7. Do we know for certain > that it is correct? I have no means of proving the license applies to this file as broadcom has never clarified anything which I can find. I can confirm that all other distros download the file directly to the user system and do no mirror it. Hence the original mirror restriction.
As discussed today on IRC, it is unclear what exactly constitutes the "software made available [...] in binary code". So we should err on the safe side and keep the bindist restriction in place.
bindist restriction remains in place no mirror restriction needed at this time as far as we can tell