[Mageia-dev] free software purity question

Frank Griffin ftg at roadrunner.com
Thu Jul 19 16:31:52 CEST 2012

On 07/19/2012 09:19 AM, Johnny A. Solbu wrote:
> Because it is the same issiue. I treat firmwares the same as I treat 
> any other software. if a device can't work without installing a 
> package contaning non-free firmware, I'm not using it. In order to use 
> it I might need to install a non-free software package (rpm, deb, 
> tarball). How is that any different than a driver? Both have to be 
> installed by the user. (yes, yes, the default might be to have them 
> preinstalled in some distros, that is not the issiue.) 

All of this (including the OP) is really a group of artificial 
distinctions.  All CPUs contain microcode or some programming 
equivalent, even going back to the days of gates wired in series. You 
may get a Principles of Operation manual that tells you what the 
instructions (are supposed to) do in detail, but that's not the same as 
seeing the "source" (microcode or wiring) that makes it happen, and it 
certainly doesn't allow you to change it at will.

Free Software is about not removing your ability to examine and modify 
things you can reasonably be expected to have the skills and equipment 
to examine and modify.  Most of us don't have the ability to manufacture 
our own disk controllers or interrupt controllers. Yet both of those 
contain closed-source custom programming, and nobody seems to think 
twice about using them in FS environments.

Personally, I think that the reasonable lower limit on "free" 
expectations is the ability to burn your own BIOS ROMs if you wish to.  
As far as hardware devices that are built with custom programming, I 
don't see any distinction between wired logic, immutable ROMs, or 
flashable/loadable firmware.  Those are all just aspects of how the 
manufacturer supports the device (assuming he does).  Loadable firmware 
may make it simpler for the manufacturer to supply updates and easier 
for you to get fixes, but it's no more closed than wired logic is.

In economic terms, what you seem to be asking for is absolute 
unbundling, where every manufacturer is limited to making one and only 
one thing and relying on multiple competing outside suppliers for other 
components with open standards in force at each juncture.

That works best when "commons" are involved, e. g. infrastructure that 
can only have one owner, just as the fiber optic cable in a town or the 
POTS copper cable.  In those cases, whoever granted the monopoly 
(usually local government) can classify the resource as a public utility 
and require the owner to rent its capacity to anyone who has the price.  
This is what happened years back in the U.S. with telephone service and 
dial-up ISPs, where the phone companies were told they couldn't refuse 
to carry data traffic for independent ISPs at competitive rates.

Unfortunately, the farther down you drill with this, the greater the 
negative impact on innovation.  If I design a graphic card and I'm not 
allowed to bring it to market until I can convince one or more 
independent software development companies to do the programming with an 
open, documented interface, I may not be able to financially survive the 
delay.  Theoretically, if the market wants me to document the interface 
so that others can compete with me on the firmware, it will punish me if 
I don't.  But in the meantime, I have the opportunity to make early 
profits that will allow me to cover the overhead of doing that later on.

In short, I think you'll find that entusiasm for the Free Software 
concept in the marketplace will dwindle severely as you try to take it 
further and further down to the level of electrons.  Most people will 
weigh the inconvenience against the probability that they or anyone 
acting on their behalf will ever exploit that freedom.

More information about the Mageia-dev mailing list