[Kurt Roeckx] > The idea is to create a new section that contains files like firmware > images and FPGA data that gets written to the hardware to make it > fully functional. It is not meant for drivers that run on the host > CPU. Without weighing in on whether there _is_ a class of software for which users shouldn't have the right to look at and modify source code, this whole phrase "run on the host CPU" needs to die and be replaced by something more precise. The definition is only useful if you have a very simplified and outdated view of computer technology. There are lots of pieces of silicon that are not "host CPUs" but which still run software every bit as interesting and sophisticated as what we already give people source code for. (Many of you have heard me rant about this before. Nothing much new here, just hit 'd' now if you already know where I'm going with this.) Take a modern supercomputer: there'll be a handful of amd64 chips that run Linux, but what you actually paid for is the several thousand PowerPC "Cell" cores. Is it really reasonable to waive the source code requirement for number-crunching libraries designed to run on the Cells? They certainly aren't the "host CPU". As a variation on the modern supercomputer, take any code intended to run on an Nvidia GPU. People are apparently using those things for real computations now, Seti@HOME type stuff. Take almost any embedded platform - PDA, phone, media player, or these days, all-of-the-above. Most people wouldn't think of them as having a "host CPU" at all, merely a controller that you upload data to via USB or Bluetooth. But of course they run OSes, sometimes Linux, maybe sometimes Debian. Would we want to ship PalmOS apps in Debian as blobs, without source code, merely because they don't execute on i386? Take qemu or MAME. Well, maybe not MAME, that's Ean's baby, but take qemu. Could we ship, without source code, full bootable OS images in Debian that are intended to run on an exotic architecture in qemu rather than on physical hardware? Surely qemu does not provide a "host CPU". And of course there are those wireless routers where people talk about using such-and-such "firmware", by which they really mean a blob containing a boot loader, Linux kernel, and root filesystem. Of course we know there is a MIPS chip in there, but the device is not sold as a computer or "host", but as a mere device that you plug into your network along with your computers. -- Peter Samuelson | org-tld!p12n!peter | http://p12n.org/
Attachment:
signature.asc
Description: Digital signature