Re: New summary: Binary peripheral software
David B Harris writes:
> On Wed, 7 Apr 2004 08:33:45 +1000
> Hamish Moffatt <firstname.lastname@example.org> wrote:
>> I was talking about executable programs (sometimes known as "software")
>> specifically. So I'll repeat the question: can I distribute a compiled
>> version of my software, say it's GPLed, and when people ask for the
>> source, tell them the binary IS the preferred form for modification?
>> That seems to be the proposed treatment for firmware. I don't see why
>> general-purpose software should be treated differently.
> This all goes back to "what's the preferred form of modification?" The
> answer differs depending on the work, and I'd argue depending on the
> software too. There's nothing in the GPL which says that you can't write
> a binary manually and distribute it, nor should it. What you really want
> to be asking is, "were the example binary blobs [specifically firmware]
> written in that manner? Is that their preferred form of modification?"
>From the GPL viewpoint, there is also the question of whether the
combination or inclusion of the firmware is "mere aggregation." From
the Debian Social Contract viewpoint, this is irrelevant, as is the
"preferred form" -- since the DFSG mandates source code rather than
simply "preferred form."
> Keep in mind that we're not talking about x86 instruction set binary.
> We're talking about crap that some chipset reads and maybe runs. It may
> very well be the case that that's the preferred form of modification
> *even for the manufacturer*, let alone the person who wrote these
> particular bits.
I doubt many manufacturers actually have people who edit firmware in a
binary format. However, having the preferred form for modification
(say, Verilog or VHDL code) will not help many users: they will not
have the HDL libraries and compilers necessary to reproduce the binary
version. Those tools can cost tens of thousands of dollars.
Sometimes, just through the finicky-ness of HDL tools, you must use a
specific version of libraries and/or compiler to produce a properly