On Saturday, July 14, 2012, 7:25:15 PM, Eric Smith wrote: > Kevin Fenzi wrote: >> See: >> http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Binary_Firmware > Ralf Ertzinger wrote: >> Question about that: The first requirement is that the file is >> non-executable. Does that mean that Fedora cannot ship firmware for >> hardware that has a CPU compatible with the host CPU? > If it does mean that, it will be a problem for the ARM architecture, as > many hardware devices using downloaded firmware use ARM cores. > The specific statement is: > "The files are non-executable (note: this means that the files > cannot run on their own, not that they are just chmod -x)" > I'm not sure what it means for files to "run on their own". I don't > think I have a single file on any of my computers that can run on its > own. As far as I can see, even the Linux kernel cannot run on its own. > Perhaps it means that the file can't be in a supported executable format > such as ELF? Downloaded firmware often is in raw binary format, but > it's certainly conceivable that some might be in ELF format. This topic has come up at regular intervals in the past, especially when the kernel interfaces for downloading firmware were being developed. The packaging statement is meant to clarify, and to be read literally. It means that the program is not a stand-alone program for use by the host computer. It requires additional hardware to operate. It is marked non-executable "-x" to prevent attempts to execute by the host computer (or for the security conscious, attempts to disguise malware as firmware). Normally firmware is a binary blob that is downloaded by the kernel to that hardware, and used in some manner by that hardware, It may be a program (code/data) executed by a CPU (or equivalent such as an ASIC) or some form of data required for execution of that hardware. It may be multiple of each, in a fancy wrapper scheme with CRCs. Delivering firmware via a standard kernel API was a big change a few years ago. It allowed standard packaging of firmware, and eliminated the need for users to do nasty things like use programs the cut the firmware images out of Windows PE executables downloaded from chip/card vendor websites. The encoding doesn't matter - what matters is that the content is automatically delivered to the hardware so that hardware can operate. What also matters is that the licence allow Fedora to freely distribute the firmware file, without silly restrictions such as "non-commercial use only". Some folks object to Fedora shipping binary blobs, and insist that the only true way is to ship everything with source and build tools. That has been debated fiercely in the past... and the current rules were the IMO reasonable compromise that resulted. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel