LWN.net Logo

Free Software Foundation courts hardware vendors (Linux-Watch)

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 5:21 UTC (Sat) by mmarq (guest, #2332)
Parent article: Free Software Foundation courts hardware vendors (Linux-Watch)

"" The FSF, however, takes a different approach. For example, Kroah-Hartman is willing to put up with proprietary binary firmware and non-disclosure agreements if that's what it takes to get a device working properly with Linux. In its paper, the FSF declares this approach to be so much "smoke and mirrors -- it creates the illusion that the hardware vendor respects freedom while the concerns of the community remain marginalized.""

I belive that the Linux Foundation approach is more adequate. Freedom and Community are very important, more so, in world that seems to get a deficit of it more each time. But there are other benefices, technical, management and financial ones that can make free drivers/BIOS very appealing.

Until those hardware vendors have tasted it big time, they wont open big time.


(Log in to post comments)

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 12:24 UTC (Sat) by ballombe (subscriber, #9523) [Link]

The actual FSF paper does not mention NDA, it says:

" Hardware that requires binary firmware with a free software wrapper simply circumvents the issue by moving all intelligence into a black box that the user cannot open. This is merely smoke and mirrors—it creates the illusion that the hardware vendor respects freedom while the concerns of the community remain marginalized. "

So it seems Linux-Watch took upon themselves to add NDA here.

I would not sign a NDA myself, but from a freedom point of view how a GPL
driver under NDA is different from a GPL driver written by the hardware
vendor ?

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 16:15 UTC (Sat) by donbarry (guest, #10485) [Link]

two words: documentation and maintainability

the "nv" free driver for nvidia was originally written by and under
contract to (if memory serves) the parent company by Mark Vojkovich under
NDA. Most of it consists of poking and peeking to undescribed
memory locations in undocumented sequences.

I.e., one can always write assembly in any language one so chooses --
even assembly without meaningful symbol names.

You can see what a good foundation upon which it created for building -- the
Nouveau people are starting from scratch.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 20:18 UTC (Sat) by ballombe (subscriber, #9523) [Link]

> two words: documentation and maintainability

This is valid argument for full specification but how does it answers
my question ?

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 16:25 UTC (Sat) by ajross (subscriber, #4563) [Link]

This is one of the few areas where I think the FSF is missing the boat. The idea of buying a "black box" that can't be opened is a pervasive metaphor in the computer world: it applies to every piece of hardware on the motherboard.

The core requirement for freedom isn't about how black the boxes are. It's about defining a well-understood *interface* to those boxes, so people who have those boxes can customize their usage. Who cares about the difference between, say, a piece of hardware that does a particular job, and one that does exactly the same thing, but uses some internal software to do it?

There are valid and legitimate complaints about device firmware. It often comes with a license that needlessly restricts redistribution. It is often undocumented or incompletely documented. It often exports only a fraction of the capability of the hardware. But to complain about the "black boxness" just seems to be missing the point.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 17:36 UTC (Sat) by khim (subscriber, #9252) [Link]

The core requirement for freedom isn't about how black the boxes are. It's about defining a well-understood *interface* to those boxes, so people who have those boxes can customize their usage.

This means totally-locked-down Vista box is 100% free by your definition. You have well-understood interface to play with it.

Who cares about the difference between, say, a piece of hardware that does a particular job, and one that does exactly the same thing, but uses some internal software to do it?

Any sane person should care. The reason is simple: if the thing is complex enough to warrant Flash Memory (ROM is cheaper) it's complex enough to have bugs and this means it's complex enough to warrant third-party fixes - and for that you need free software.

There are valid and legitimate complaints about device firmware. It often comes with a license that needlessly restricts redistribution. It is often undocumented or incompletely documented. It often exports only a fraction of the capability of the hardware. But to complain about the "black boxness" just seems to be missing the point.

Do the s/firmware/software/g. Read your text again. Explain why in case of software you are saying that it'd better be free and in case of firmware you are happy with just weak complains ? Because "it's done this way" ? Strange argument: 15 years ago almost all software was "done this way" and free OS was a dream.

Firmware today is bigger then whole OS were 15 years ago! Actually firmware today often include the whole OS! Why should it not be free ?

I'm not free software purist. I use non-free software and non-free firmware from time to time (non-free firmware more often as it's harder to avoid). But I honestly can not see any difference between non-free software and non-free firmware so FSF's complaint makes perfect sense. What does it matter for me if DVD-ROM's firmware checks the DVD region byte or Windows's driver checks DVD region byte ? In both cases I can not see legitemately bought DVDs...

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 18:24 UTC (Sat) by ajross (subscriber, #4563) [Link]

You're rather stretching the point I made. I never said free firmware was bad. Just that the criterion the FSF was using to define "free" here was fuzzy and counterproductive. There are real issues of freedom they can talk about that *do* have immediate effects on the freedoms of users (read down to the bottom to see where I list some). But instead they choose to argue against "black boxness", which is a *practical* criticism. And it has the effect of punishing (!) hardware vendors with the forethought to do their design in a configurable way.

Your Vista argument was a straw man misdirection, and you should know better. Windows is non-free for lots of reasons, but the fact that it is a "black box" is not one of them. Where on earth did you get "100% free" from my original post?

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 3, 2007 21:59 UTC (Sat) by khim (subscriber, #9252) [Link]

You're rather stretching the point I made. I never said free firmware was bad. Just that the criterion the FSF was using to define "free" here was fuzzy and counterproductive.

Huh ? They used their standard definition as far as I can see. Don't know what's "fuzzy" about it. Counterproductive - for whom ? The goal of FSF is to free computer owners. Anything else is not so important. I fail to see how their stance is counterproductive to this goal.

There are real issues of freedom they can talk about that *do* have immediate effects on the freedoms of users (read down to the bottom to see where I list some).

Just like 20 years ago there were "immediate effects on the freedoms of users" (related to infamous printer driver). Surprisingly enough FSF was created to produce free OS, not to produce more versatile printer driver infrastructure.

But instead they choose to argue against "black boxness", which is a *practical* criticism. And it has the effect of punishing (!) hardware vendors with the forethought to do their design in a configurable way.

It does not "punish" anyone. The only way to open "full capability of the hardware" is to open firmware. ARM and MIPS instruction sets are Turing-complete - you can not fit all possibilities in one firmware. No matter how powerful it is there are always something not included there.

The mere existence of changeable firmware is admission of that fact: otherwise single one version of firmware embedded in ROM will be enough. After that the same logic apply: manufacturer reserves right to add future enhancements to itself. Why the actual owner of the device is restricted ?

Your Vista argument was a straw man misdirection, and you should know better. Windows is non-free for lots of reasons, but the fact that it is a "black box" is not one of them. Where on earth did you get "100% free" from my original post?

Here we go again: "The core requirement for freedom isn't about how black the boxes are. It's about defining a well-understood *interface* to those boxes, so people who have those boxes can customize their usage."

If you buy the PC with Vista as part of "firmware", where it's impossible to install anything else (crypto hashes and all that), but where you can write "free software" in sand boxed environment in VBA - why it's non-free ? If the freedom is about defining a well-understood interface ? VBA is certainly well-understood interface: there are books on it, conferences, it's used by millions of people around the world.

The FSF's stance is simple: any software component is just that - software component. It deserves freedom. Your stance is different: there are firmware and there are software. But the question remains: where is the border ? Firmware certainly can include full-fledged OS (takes a look on the WRT54GL on shelf) so what's the difference ? Where is the border after which we should say: "no, it's not a firmware anymore, it's a software" ?

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 2:09 UTC (Sun) by mmarq (guest, #2332) [Link]

""...if the thing is complex enough to warrant Flash Memory (ROM is cheaper) it's complex enough to have bugs and this means it's complex enough to warrant third-party fixes - and for that you need free software. ""

Well.. it seems to me that the complex thing can be break down in parts... because Linux Foundation can participate in the firmware as much as in the drivers themselfs.

.- at start the firmware functionality and driver functionality can have well define boundaries.

.- when there arises the need to have little modifications to hardware maintaining essencially the same chipset structure, something like AGEIA http://www.linuxbios.org/data/LinuxBIOS%20AMD%202006%20Fi...
can be used.

.- relevante developers can have full knowledge of every detail involved under that NDA.

.- Otherwise use a more developed AGEIA as an interface between firmware and drivers.

... because if too much political force is applayed those vendors will run for cover and wont open anything.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 2:11 UTC (Sun) by mmarq (guest, #2332) [Link]

TYPO: AGEIA should read AGESA

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 10:07 UTC (Sun) by rqosa (guest, #24136) [Link]

> The reason is simple: if the thing is complex enough to warrant Flash Memory (ROM is cheaper) it's complex enough to have bugs and this means it's complex enough to warrant third-party fixes - and for that you need free software.

Devices with changeable firmware don't necessarily have flash memory. For example:

The firmware for ivtv cards isn't actually stored in ROM on the cards, it needs to be loaded every time the driver loads. (emphasis added)

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 17:42 UTC (Sun) by mmarq (guest, #2332) [Link]

hmm... agreed. Where the firmware is stored (ROM or not) is irrelevant in the sense of a community being able to participate in their development.

The problem would be not "reverse engineering", but enough documentation for some people to be able to start development... under a NDA, why not ?

"" The firmware for ivtv cards isn't actually stored in ROM on the cards, it needs to be loaded every time the driver loads. (emphasis added) ""

That is why something like AGESA, imho, could prove to be very importante adressing that firmware dynamic... and vendors fear.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 1:43 UTC (Sun) by mmarq (guest, #2332) [Link]

"" I would not sign a NDA myself,... ""

Why not ?

The NDA is only for the underlaying technical "physical" description of the hardware. The code, open and "public", will be self-explanatory of its functionality anyway.

""... how a GPL driver under NDA is different from a GPL driver written by the hardware vendor ? ""

In the code itself there would be theoretically none. But that needs the vendor itself to start it, because only he knows enough "physical" details. With a NDA the vendor can delegate, without worring about its blue-prints ending up in the internet.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 6:04 UTC (Sun) by drag (subscriber, #31333) [Link]

That is about the conclusion I came to.

On hardware I am told is that there is _no_ documentation, internal or otherwise. There is _no_ standardized interfaces.

Also if you want to get hardware drivers made in a reasonable amount of time (before the hardware is obsolete) you have to have assistance directly from the manufacturer in order to do this.

And to do this you require talking and dealing with engineers and internal development folks.

And this means NDAs. Simply because you need to have free communication between engineers and (free) software developers and as a company you can't have information leaking about future products and future plans.

This doesn't mean that you have to end up with something like the "nv" driver. Under a NDA there is no reason why can't be allowed to talk about (and document) some things (such as details about programming a paticular device) and not be allowed to talk about other things (such as next-generation devices).

So it's fairly complicated.

What the FSF people should do, in my estimation, is work with hardware folks to _create_ the documentation.

Also a 'Free Firmware' project may be interesting. Maybe determine what sort of requirements people have for their firmware and make componates so that it's financially attractive to open up enough in order to use the 'Free Firmware' then try to go it on their own.

The Linux developer-style approach is to make it attractive for people to work with you and improve your product to replace their propriatory stuff rather then demanding that they open up their 'IP'.

And you know you probably don't want it. Most propriatory software is going to be crap and it is probably better working from scratch then try to peice together what some other company threw together.

Free Software Foundation courts hardware vendors (Linux-Watch)

Posted Mar 4, 2007 18:11 UTC (Sun) by mmarq (guest, #2332) [Link]

"" Also a 'Free Firmware' project may be interesting. Maybe determine what sort of requirements people have for their firmware and make componates so that it's financially attractive to open up enough in order to use the 'Free Firmware' then try to go it on their own.

The Linux developer-style approach is to make it attractive for people to work with you and improve your product to replace their propriatory stuff rather then demanding that they open up their 'IP'. ""

Two problems i belive will rise up, and those would be patents and restrictions like in DRM. But those, imho, can be adressed by:

.- GPLv3 inherently stating that patents are non-fee for a particular project covered,... more so if there is a NDA covering some underlaying sensitive details...

.- Since Linux already deals with DRM implementations, the solution would be to provide "mechanism" to turn it off, at user discrection, and addressing that way the spirit of the GPLv3 now proposed for discussion.

The message cryed out loud, imho i belive it is already in that spirit, is that *Vendors Have Great Advantages*:

.- quality of code

.- time to market (under some conditions of "volume" effort)

.- financial gains ( that could be significative)

.- Since firmware and drivers parts are or can be in most applications bynary BOLBs, there could be "code reutilization", making Linux the preferential platform for firmware and drivers development.

Advantages for FLOSS would be everything that GPLv3 now tryes to deliver, and more!...

NDAs are not all the same

Posted Mar 5, 2007 3:50 UTC (Mon) by gdt (subscriber, #6284) [Link]

I would not sign a NDA myself

Surely it would depend what the NDA covers? It is reasonable for a manufacturer to require an NDA for a product prior to its release. This solves a whole lot of legal problems for the manufacturer (such as potential breaches of "bait and switch" consumer protection laws and "market information" securities laws).

Even manufacturers who are willing to share device specifications and source code often require a NDA on unrelated fields, such as corporate strategy, marketing plans, and so on. Since these are not usually necessary for GPLed source code, agreeing to this sort of NDA doesn't have any harm.

Manufacturers are not going to give up NDAs if the manufacturer allows contact with their engineers. What we want is the right sort of NDA. Not "everything is secret forever" but "device specifications and derived material can be revealed after the launch of the product".

NDAs are not all the same

Posted Mar 5, 2007 15:57 UTC (Mon) by mmarq (guest, #2332) [Link]

So what is needed is for OSDL, Linux Foundation and FSF( complicated here ? ) to write a NDA specification, establishing a legal and technical agreement, about clauses and possible interfaces included, with the hardware manufactors.

Everybody will win because Linux is a development platform *per excelence*. Too good to be ignored, and too heavy weight a software industry expertize and commercial power for not being considered.

It would be very nice to include FSF also, for its prestige and influence in the GCC tools, only if they could be more flexible. This "Driver" issue could have been resolved many years ago with more flexibility and mutual understanding. Now there is another excelent oportunity.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds