LWN.net Logo

FSF offers "GNU Bucks" for finding nonfree works in free distributions

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 2, 2009 9:57 UTC (Fri) by josh (subscriber, #17465)
In reply to: FSF offers "GNU Bucks" for finding nonfree works in free distributions by nix
Parent article: FSF offers "GNU Bucks" for finding nonfree works in free distributions

ACPI tells you things about the hardware that you could potentially already know, such as how to put the processor into sleep states or lower frequencies. And video BIOS code has become increasingly irrelevant with the modern trend towards native modesetting; certainly the Intel driver doesn't care about the video BIOS anymore, as far as I know.


(Log in to post comments)

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 2, 2009 13:19 UTC (Fri) by nix (subscriber, #2304) [Link]

Video BIOS code has become *more* relevant with new ATI cards. ATI has always had a habit of tweaking cards in minor ways without changing the model number, and in the past (as tialaramex says) this has led to proliferating forests of conditionals in the ATI drivers.

The atombios promises to fix all that, as ATI provide instructions (in a special language interpreted by the driver) on the card specifying how to do things on *this actual hardware*, changing it in lockstep with the hardware. The only downside is that no source is available for any of those instructions. (Whether anyone cares is another matter, as the execution of these instructions *is* under our control, and if we don't do roughly what the atombios says the card won't work --- but why it's requesting that we do particular things may remain mysterious.)

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 2, 2009 16:38 UTC (Fri) by josh (subscriber, #17465) [Link]

Glad I use Intel graphics rather than ATI then.

The Intel driver has a huge pile of quirks for random hardware as well. Replacing the functionality of the firmware tends to require that, since you can't rely on the firmware to handle the quirks for you. Relying on the firmware does generally prove easier than implementing the functionality directly. It sounds like the ATI driver, despite doing modesetting itself, chose to rely on the firmware to solve part of the problem for it.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 3, 2009 20:55 UTC (Sat) by elanthis (guest, #6227) [Link]

The radeonhd driver went the route of manually coding all the modesetting information. They changed their mind. In the end, it is just an unmaintainable mess of crap that nobody can figure out and nobody can keep up to date with all the tons of hardware revisions out there.

Intel has a very small graphics card line up. Intel's GPUs are weak and under featured. Intel's GPUs don't have to deal with a ton of different bus types because they're all IGPs (you don't have AGP, PCI, PCI Express, PCI Express 2.0, and so on all supported by the same chip).

Practicality wins. Letting anything get in the way of practicality is foolhardy and only hurts the Free agenda -- you can't get users to switch to Free software if all the Free software is junk and doesn't work as well as the proprietary stuff.

Sometimes there are trade-offs between Free and practical. The FSF errs on the side of Free, but I believe that is a huge mistake. Err on the side of practical and work towards Free and you'll get to your target goal much faster. Companies, and most users, only care about practicality, so it's going to be easier to get them to switch to Free BIOS and microcode if you prove to them why its better than if you say "this tiny little majority of users that has next to no financial impact on your business refuses to buy your hardware unless you acquiesce our demands."

The FSF has always been pretty dumb about getting its word out, though. The entire "Free Software" nomenclature is all the proof you need that the FSF is horribly lacking in any kind of marketing common sense. The only way to educate users about Free Software is to include three paragraphs of explanation over and over and over in every possible place you mention Free Software, because if you don't, users' initial interpretation of the term is going to be "software that has no cost." Because that's what the term freaking means in plain English without the vernacular. If RMS had used a less ambiguous term (like Open Source before it got coined for a different purpose, or even Libre Software, or so on) the situation would be better. Users seeing the term "Open Source" are more likely to understand the concept right away, and those who don't understand it are far less likely to assume it means something different. It's a better term from a marketing standpoint, and hence is a far better term from an evangelical/user-education standpoint, and that in no small part is why the term Open Source is used far, far, far more often by most people than Free Software, even when those people actually are talking about Free Software and not the looser definition of Open Source. If you have to explain a term over and over and over to every single person you mention it to, it should click in your head that the term is stupid. RMS and the FSF are more interested in their words than they are in spreading their actual meaning, it seems.

The same goes for GNU/Linux. People aren't going to use that because the term is ugly. It's long. It's hard to pronounce. People don't go around saying "I run Microsoft Windows Vista." They say "I run Vista." Same for XP, or ME, or 98. We use the shortest term we can. And good marketing people pick terms that sound good. "GNU" is a bad choice because the entire name is based on a horrifically stupid joke that nobody outside of socially-inept 1980s computer nerds ever laughed at, the word practically has to be spit out of your throat, and it doesn't sound "cool" or even "pleasant" in any way. Linux isn't a perfect choice, but it's a far better name than GNU, because it rolls of the tongue and sounds kind of neat (I'm not sure why anything with the letter X is automatically hip... silly Americans). No true Free Software proponent in their right mind is going to advocate the use of the term GNU/Linux everywhere because the only thing that will accomplish is making the platform harder to market and hence harder to get new users on and hence fail to spread Freedom as far and fast as it could.

If RMS and the FSF really care about spreading Freedom, they have to realize that it's more than just screaming as loud as you can and badgering people into listening to you. You have to make people _want_ to listen to you. And that starts with making sure that what you're peddling looks and sounds attractive, so that people come looking for you to find out what you're all about instead of you having to go slam your fist down people's throats to get their attention.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 3, 2009 23:06 UTC (Sat) by nix (subscriber, #2304) [Link]

Sir, I object! I was a socially-inept 1980s computer nerd and I didn't
think the GNU recursive-acronym name was a terribly good one. (Mildly
amusing, yes. Great? Hardly.)

Socially-inept *1970s* computer nerds, on the other hand...

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 6, 2009 14:04 UTC (Tue) by nye (guest, #51576) [Link]

Your post was fairly unfocussed, but there are two points I'd like to pick up on.

First, is that the FSF has always been thinking more long-term than most of its opponents. There are constantly complaints made that the FSF's methods and ideals are impractical, where the implicit meaning is 'impractical *in the short term*'. The FSF's positions are entirely practical over terms more like a decade or two - in fact, they're far *more* practical over that length of time than the 'pragmatic' positions of today. Sure it wouldn't be reasonable for *everybody* to follow the FSF position, but we need *somebody* to take that line, in order to progress. Too many people forget that it's worth sacrificing a pawn today if that means taking the opponent's queen in five moves' time.

The second point is about the naming. You say that nobody uses the term 'Microsoft Windows Vista', and in a sense that's true - most reasonably savvy people are likely to say they're running 'Vista'; the others might just say they're running 'Microsoft', if you're lucky. But take a look at anywhere it's written down by an organisation - you'll almost always see 'Microsoft(R) Windows(R) Vista'. The point is that it's an unfair comparison to compare a colloquial name with a 'full' name. Also, the 'GNU/Linux' business has become a lot more meaningful recently, since we now have non-GNU Linuxes (notably Android), which kind of ties in with the first point because the FSF preƫmpted that issue by quite some time.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 6, 2009 15:45 UTC (Tue) by foom (subscriber, #14868) [Link]

> First, is that the FSF has always been thinking more long-term than most of its opponents.

For that to be true, in this case, I want to see them decrying the evils of non-free *embedded*
firmware. I mean that seriously, I want someone to take up that call! It is a problem that needs
solving, there is way too much mysterious software (ahem "firmware") in modern systems doing
who-knows-what. But they completely ignore this, instead focusing only on the non-free firmware
that has to be uploaded to the hardware. Which IMO is a seriously warped and fairly useless view of
"100% free".

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 6, 2009 17:40 UTC (Tue) by dlang (✭ supporter ✭, #313) [Link]

exactly, if they were decrying all non-free firmware I would agree with their goal (even if considering it a bit of tilting at windmills still), but with their emphasis being only to attack firmware in ram and directing people to buy devices with the firmware in flash/rom instead I see them as activly harmful to their stated goal

Newspeak

Posted Oct 10, 2009 14:56 UTC (Sat) by anton (guest, #25547) [Link]

Free Software, because if you don't, users' initial interpretation of the term is going to be "software that has no cost." Because that's what the term freaking means in plain English without the vernacular.
Ah, Newspeak has taken over. From the appendix of 1984:
To give a single example, the word free still existed in Newspeak, but could only be used in such statements as "The dog is free from lice" or "This field is free from weeds." It could not be used in its old sense of "politically free" or "intellectually free," since political and intellectual freedom no longer existed even as concepts, and were therefore of necessity nameless.
The difference is that Newspeak is now called "plain English" and in our commercially dominated world "free" was redefined to mean "has no cost". Interesting that Orwell did not think of that.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 4, 2009 16:35 UTC (Sun) by alankila (subscriber, #47141) [Link]

To me, it seems like a nobrainer to just execute the atombios bytecode. Why are they fighting against it?

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 4, 2009 20:41 UTC (Sun) by nix (subscriber, #2304) [Link]

Who's fighting against it? Nobody that I can see. radeon and radeonhd both
use atombios stuff now. It's just somewhat disturbing 'cos we don't have
the source to this stuff.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 4, 2009 22:31 UTC (Sun) by alankila (subscriber, #47141) [Link]

Right, they have come into their senses. Well, no argument from me then. Can't care about the missing source, all that matters is that it's a documented interface. Until you have a PC made out of open chip schematics there'll always be a layer of closedness behind you anyway.

It just struck me as odd that there's a company trying to engineer a generic solution for getting hardware and software to cooperate without pushing a lot of complexity into every driver, and people would object to that rather than understand that the hardware was just trying to be helpful.

I mean, open source is nice and all, but it's a bit strange to treat the hardware-supplied code in ATI cards implementing some sort of defined interface as suspicious when you know that you can't get it right yourself without executing that code and tracing what it does, anyway. Which takes time & iterations with people who have each kind of hardware.

I was just thinking that maybe the interface was somehow inconvenient to use. If the sole reason is that it's closed-source, then that's pretty insane. You're picking a "guaranteed to fail" approach over "might even work".

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 5, 2009 0:37 UTC (Mon) by josh (subscriber, #17465) [Link]

Yes, your reaction sounds perfectly sensible from the perspective of someone who only sees freedom as a means to an end for obtaining better quality software. I acknowledge that that viewpoint leads to different tradeoffs. Others, including myself, value the freedom itself for reasons beyond simply believing it will produce better code.

In any case, even from a purely practical perspective, firmware interfaces have proven notoriously buggy in the past, and I have no reason to believe that this interface will prove any different. Having the ability to fix the firmware would provide a practical benefit.

As for your comment about always having some layer of proprietary bits underneath everything: valuing Free Software as a principle does not preclude having enough practicality to value something more Free over something less Free, without requiring immediate perfection.

FSF offers "GNU Bucks" for finding nonfree works in free distributions

Posted Oct 5, 2009 22:55 UTC (Mon) by alankila (subscriber, #47141) [Link]

You are correct in observing that I'm not ideologically interested in free software.

Since the firmware code is interpreted by the CPU it is in practice fixable/workaroundable if there are problems. You just have to blacklist the pci-id, maybe checksum the methods, or whatever, to identify bad code and run something else instead (if you can discover what works). Something in this spirit is probably done with buggy ACPI code too.

Otherwise it's just an engineering tradeoff. Your goal is to make a stable hardware API that works the same regardless what GPU your board has, so that a new GPU can work with older version of drivers as well. The way ATI people went about to gain this goal was to have the GPU supply command stream for the CPU to interpret, rather than implement some region of memory that can be written to and is interpreted by the GPU to perform equivalent effect. To me, both solutions look pretty much identical. The AtomBIOS code should not be treated as non-free software, it's just instructions to drive the hardware supplied by the hardware to fill the contract of a stable hardware API.

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