Posted
by
timothyon Thursday December 16, 2010 @05:07PM
from the nothing-dirty dept.

dkd903 writes "The Debian Project has announced that the upcoming release — Debian 6.0 'Squeeze' — will have a completely free Linux kernel. This means that the Linux kernel which ships with Debian 6.0 will not have any non-free firmware. The Debian Project has been working on removing the non-free parts since the last two releases. With Squeeze, they are finally realizing that goal."

Actually, from what I've heard (yeah anecdotal, I know)Non-free binary-blob firmware in the kernel is fast becoming a non-issueWith the success of Android and other non-x86 Linux based devices, having a closed CPU specific blob is not an option anymore if you want device makers to use your hardware

I think you'll find Debian is doing this now, because now most devices have open firmware code that can be compiled for different architectures

They gave us the microcode, but not the source used to compile the microcode. It's basically a blob that runs on the GPU parsing command packets and executing them. So while they've documented the command packets, there's another level of code between it and the hardware. Exactly like how CPUs have microcode to execute x86/x86_64 commands, the only difference is that on GPUs they're loaded after the system is booted by the driver. It doesn't really make the GPU closed source any more than Intel or AMD are closed source CPUs, but if you want to get really formal about it you are distributing a non-free piece of software.

You realize the host CPU (x86, ARM, POWER, etc - the one that gets all the press) isn't the only microprocessor in the system - many of these binary blobs run on other microprocessors and don't need to be recompiled for different host architectures. In a given system, there are usually several other processors that handle various, often real-time, functions. It is common for these devices to lack non-volatile storage and must boot from their host (the CPU) which is why these blobs are needed.

New users should be discouraged from trying to use plain Debian as their introductory system. Debian should be kept pure and advanced with pure Free and Open goals in mind, but noobs don't need that in most cases.

Typing this on a Lenny Mac mini G4 with a backported kernel package and with the radeon happily loading its non-free firmware out of the similarly backported non-free firmware package. Ditto for my G4 Powerbook (TiBook), ditto for my spare laptop which is a HP NC4000 in need for a non-free wireless card driver, firmware (non-free) for the onboard radeon and so on.

The only missing bit last time I checked was however something which is q

All you have to do is enable the non-free repositories. They've removed it from the standard install.

It will essentially cause this though:Me to be able to run a system free of binary blobs and sourceless turds in my kernel.More ease of troubleshooting problems with system devices.A kernel with less licensing and freedom issues.

Nope. Those people already jumped ship to *buntu. And rightly so, since this distro better fits their specific needs. Debian being completely free is A Good Thing for those who care what is running on their machines.

Your Wrong. REAL LIFE Technology has a use to DO SOMETHING!. Technical correctness is a tool to save us from problems. However it is not the end all be all. In order to get things to work you may need to break the Purity rules to get it to work.

A kernel that is all Free just means there is less hardware supported. It doesn't mean things run better. It is really just a loose loose situation.

..and the flipside is true too.. in any context, people like yourself help ensure the next tyrant's regime. while he rules, only the progress which benefits him is permitted, causing him to become an obstructionist troll to those on the outside. when this (inevitably) happens, he enlists the help of established authority to prop up his business..

so, yes, while life is made up of compromise, it is not an excuse to roll over and simply take what is given to you, because, inevitably, it was not made to serve

So they're finally catching up with gNewSense. This is very cool. It's not for everyone but it's great to have it available.

gNewSense probably has almost as much non-free software in it as Debian, if not more, because debian has more people looking over source files for license violations.

Most of the non-free software is non-free common in free distributions is old, and nobody knows exactly who wound up with it when the original company went under or was bought out and sold off a few times.

There was a redhat engineer (IIRC) that posted a fairly long blog about getting a small program released as opensource software. Most of his

Ubuntu releases new versions faster than Microsoft releases Service Packs. That's why I choose Debian if I need Linux. However, I want my stuff to work and I do not care about non-free software, well, as long as I (legally) do not need to pay for it. I have installed Debian on a few desktops and I also installed proprietary video card drivers (where they were needed), Adobe Flash, video codecs, Mozilla Firefox...

And if I need a device that works with Linux, I still do not care about open or closed source dr

The problem with non-free stuff, is you can't change it, you know. So if your router has a binary blob proprietary driver for the wifi... great, it works miraculously under 2.4 kernel.

Now - If you want to upgrade to 2.6, you're hooped. No source, and the manufacturer didn't release a blob for 2.6. This is the biggest problem, you're at the mercy of the manufacturer for continued support, unless someone reverse engineers the thing and writes an open driver. I don't like being in that situation.

Well, being unable to upgrade to a newer version may be bad, but it's not as bad as the device not working with any version. Also, I would have the same luck trying to modify both open or closed source (with a hex editor) drivers myself so I would still have to rely on somebody to update the drivers.

And if my router worked with 2.4 kernel I would not try to upgrade the kernel - well, at least I would try to find out if the hardware was supported and if not, well, it works with 2.4, right?

Then you're in a tiny minority among a tiny minority among a tiny minority, I'm sad to say. Besides, Debian's policy of complete openness has been in place so long it served as the inspiration for the Open Source definition, so really, you have no excuse.

I can think of at least two distros (gNewSense: http://www.gnewsense.org/ [gnewsense.org] and Trisquel: http://trisquel.info/ [trisquel.info]) that are the result of people working diligently to comb through the entire Ubuntu distro (not just the kernel) and checking modules/programs/packages for license compatibility. Binary blobs and other non-free kernel modules have always been a concern.

Here's the actual article [debian.org], as opposed to a link to what I presume is somebody's blog. Took me all of two seconds to find. In any case, as I expected, the "non-free" firmware will be available from the official non-free repository. The only thing we really need now is for someone to provide a minor-variant boot/install disc that includes the non-free network drivers, and everybody should be happy. (No, I'm not volunteering--my hardware works.)

This is indeed a wonderful accomplishment and the Debian team deserves a lot of praise for what must have been a lot of hard work, however, I wonder if they're shooting themselves in the foot and removing hardware support. One of the things that drove me to Ubuntu over Debian on my laptop has been that Ubuntu is willing to package binary blobs for drivers. Nothing is quite as frustrating as getting a system installed only to find that some piece of hardware isn't detected right and is non-functional... particularly when it's something critical like network drivers.

I am very pleased that Debian has been able to get so far while maintaining such integrity to it's mission. I really respect that. But at the end of the day, I want a system that I can use.

My take on this: Debian is much more tied to the FSF philosophy than most of the other distros. That's their way of doing things. That means that the baseline distribution needs to be Free Software.

I see two major points of this kind of effort:1. We get to see how functional entirely Free systems really are. Maybe you don't need the latest and greatest nVidia drivers to still have a machine that does what you need it to do.2. In an absolutely Free Software world, the binary blobs and the like were stopgap measures at best. This could potentially motivate people to make Free replacements.

Now, both of these assume that you have the goal of running entirely Free Software. But if you have that goal, then this is completely logical and worthwhile.

It's getting harder to run Debian, which is a shame. I am slowly but steadily converting my machines to Ubuntu just because I don't have time to mess about with drivers any more. (Typically 1 machine a year; when I need an app that won't run under 'stable' without munching in a half-GB of 'testing' libraries.

I'm going the other way, I went from Debian to Ubuntu in thr 6.04 days, but now I do not want to upgrade to the next Ubuntu, it's been going Downhill since 9.04. Less stable , more bugs and going way too Appleish/iPodish at every release. Switch the windows button to the left side? WTF, Taskbar freezing every few hours , grmbl.

I'm now Using Debian again on new installs, and when updates stop for 9.04 9.10 I will not Upgrade , I'll switch those boxes to Debian.

Or happen to want stability and no random crashes you cannot debug. Go read lkml and similar lists about the frequency of crashes due to dodgy proprietary drivers.

Possibly true, but 99.999% of users have zero ability to debug a device driver. We/they're reduced to googling and asking in forums based on error messages and their experiences, which is not really much different (from their perspective) than if they were using a proprietary driver.

I appreciate your point, but I just don't think the average user cares. My $NEW_HARDWARE is crashing. I either find a fix by googling/foruming/manufacturer website or it doesn't work. Having the source available to me doesn'

Yeah the OP didn't say it was bad, just that it had "little to no value to end users". Another person upthread claimed this will "kill the project". I realize he didn't say "This is bad", but saying it will "kill the project" or offers "little to no value", isn't exactly merely "not really caring".

Thankfully, us ideologues do exist and are willing to fight against computer proprietarization while we still can and aren't going to wait until everyone is running an iPad-like walled garden with the US government holding a backdoor key. These things do have long-term consequences.

This is the result of a few years of work by Alexandre Oliva (FSFLA), who worked on the Linux-libre project and travelled to give presentations about the amount of non-free software in the default Linux kernel.

(it's also generally thanks to the gNewSense guys, Paul O'Malley & Brian Brazil in Ireland, who worked on the general issue of non-free software in distros, but the specific work on the kernel was championed by Alexandre.)

I always use testing (stable's too dull and experimental too exciting), so I'm currently on squeeze.

Just bought a new Core i3 server system, Asus Mini-ATX mobo, built in video, built in gigE for house side, added an old PCI 10/100 Eth card for cable modem side, Intel SSD for/, 1TB SATA for/data, 4 GB RAM. Cheap as hell, like $250 for the whole thing.

No hardware issues at all so far, everything just seems to work. It's firewalling, media serving, web serving, and all the other bits you'd expect it to do. B

Non-free, closed-source binary blobs running on the CPU in the kernel are bad, I fully agree. They can corrupt system memory in terrible, subtle ways, and without the source code it's nearly impossible to diagnose problems. Non-free, closed-source binary blobs running on an external device with completely separate microcontroller, RAM, etc? What's wrong with that?

The whole point of having firmware in an external device is to separate/wall-off the functionality of that device from the general-purpose CPU and memory. In fact I can't think of a single device in a modern computer system that doesn't have some sort of firmware. Not all devices have loadable firmware like the ones Debian is targeting, but who gives a crap if it's loadable or not? In fact I would rather that every device have loadable (or at least flashable) firmware so that I can upgrade it or get bugfixes from the vendor.

The usual argument against these firmwares goes something like, "IO devices have access to full system memory, and are thus unsafe unless we see their firmware." Well, any IO device has access to system memory whether or not it has firmware. A buggy piece of firmware-free hardware can just as easily scribble on anything in memory or generate a flood of interrupts or whatever as something with firmware. This requirement is tantamount to requiring all the RTL for every device attached to the computer, which is certainly not going to happen.

Why should I care if the Linux kernel is free of non-free firmware? Does that have the added benefit of rending the hardware devices I use unusable? If so, well done Debian: you've successfully maintained the honourable badge of forcing your users to work as if it was 2000.

Sure, it's a noble goal, but how does a completely free kernel benefit users if at all? (or even worse).That "freedom" is only noticeable in licensing and stuff, and unless the user is extremely self-conscious about copyright laws, it'll offer a diluted, incomplete experience. What means that user will bounce back to Win/Mac after trying linux and seeing how many devices don't work without binary drivers.

Seriously, they want to become more niche or satisfy users? I really can't tell.

Your post isn't even remotely relevant to the topic. Debian never has, and never will, ship binary nvidia drivers, these need to be installed after your base system is up and running and you've turned on the non-free repository. Basic display drivers or nouveau will work without closed source firmware.

Nope, there's free drivers that provide basic functionality with NVidia cards, and once you're booted and on the net, you can still go ahead and install the non-free drivers from Debian's non-free repo.

Wait! When did Debian ever provide NVidia's non-free drivers in main? This is about firmware blobs, and as far as I know, NVidia cards need drivers, not firmware. AFAIK, NVidia users are no more or less boned than they were before.

I am having a hard time with this, too. In a sense, everyone will just tick the non-free repos back into existence after installing so this is really just the introduction of extra nuisance to the users (which linux sure does need... NOT.)

Thinking a little longer about it, maybe this has implications in shipping/selling truly unencumbered pre-loaded hardware/virtual platforms based on Linux? Thanks to the lack of fear that some evil megacorp will come hunt you down for including a copyrighted wifi firmwar

No, they are shipping a Linux system that doesn't run under any recent hardware.

Not that bad, assuming someone else will write a script that configures the system and loads all proprietary firmware.

I guess we need both kinds of people, the idealists that keep the system clean and the pragmatists that make the system work. Without them we would either be at the mercy of Microsoft or struggling to boot The Hurd.

Hurd is and has always been a lost case. No matter how many developers, if it's dead in the water, they can't breathe life in it.

RMS is great at many things, but attracting and sponsoring development on the order of scale as the Linux kernel and other high-profile projects, he's not. And that's a good thing, really. More legs to stand on and all that.

"At this point, I concluded I would have to write a newcompiler from scratch. That new compiler is now known as GCC; none of thePastel compiler is used in it, but I managed to adapt and use the C frontend that I had written."

> I guess we need both kinds of people, the idealists that keep the system clean and the pragmatists that make the system work. Without them we would either be at the mercy of Microsoft or struggling to boot The Hurd.

WOW. One of the best commentaries I've read in a long time in/. about ideology.

Depends on what you need to do. Some people actually need to do jobs which require they use modern graphics cards' capabilities. It's quite a stretch to argue those people don't need vendor supplied drivers. Sure, an individual (who is fanatically purist) could pick a different line of work, but SOMEONE is going to be doing that work (because society wants the work done), and that SOMEONE needs those drivers (because there simply isn't an alternative).

That's not necessarily true. A lot of very common modern hardware runs on open drivers. The only places where there's any real trouble is graphics and wifi. As graphics go, Intel is fully open (aside from the GMA 500) and you'd be surprised how good their recent chips have gotten. The GMA 945 stuff, frankly, gave them a bad rep they don't really deserve anymore. But still, if you want top of the line, you'll probably want to go with an AMD or nVidia card, and a closed driver.

As wifi goes, there are plenty of choics out there you can get that are supported by a fully open driver. I have a DLink wireless-n card in my desktop that's supported wonderfully by the fully open ath9k driver. You don't need a firmware blob or anything.

So, the situation is wrt hardware is much better than it has been, and if you're the sort of person who cares about purity you can achieve it with a small amount of effort.

That's fine, but how about the Broadcom wifi in two slightly older Dell laptops that I own? Both are from 3-5 years old and both are perfectly serviceable laptops. Both are a nightmare every time I install a new distro, because I have to figure out which specific revision of which specific wifi chipset is in the damn laptops. Then I have to find a working driver from god knows where, sacrifice a couple of goats, and in the end MAYBE my wireless will work. On a good day. When the sun is shining on me.

No, they are shipping a Linux system that doesn't run under any recent hardware.

Your assessment is spot on.

This makes it easier for them, but harder for the end user. Not a show stopper, but something of a wicked speed bump.

OpenSuse has been doing this for a while (perhaps to a lesser degree than is planned by Debian) but it has always been something of an issue getting the thing to work for new users until someone clues them that they have to go enable another repository, even several, usually not hosted by opensuse, in order to achieve a fully functional machine. Video drivers were

I guess we need both kinds of people, the idealists that keep the system clean and the pragmatists that make the system work. Without them we would either be at the mercy of Microsoft or struggling to boot The Hurd.

Sounds a lot like Haskell mentality: write as much "pure" code as you can and then do what little you must inside the IO Monad.

"In accordance with the Debian Social Contract, we acknowledge that some users require the use of works that do not conform to the DFSG and that those works might include non-free firmware bits. For the time being, we have added to the "non-free" area of our archives alternative installation images and additional packages for Debian Squeeze, that include non-free firmware bits needed to enable specific pieces of hardware. They are not part of Debian, they should be looked for explicitly by interested users, and we cannot support them to the same extent of Free firmware as we do not have access to the corresponding source code. We encourage hardware manufacturers to release only DFSG-free firmware and we cannot accept other kind of firmware as part of Debian."

Think Win modems. Remember those? They didn't have their firmware permanently stored on the device. Rather, it was loaded onto the device from windows. It made them cheaper to produce.

Well, Linus allowed some similar binary firmware blobs into the kernel just for that purpose. They aren't drivers ( communication between hardware and the kernel), they're firmware ( software for the hardware to run itself).

I don't understand why this is a big deal to anyone. If the hardware OEM had shelled out 10 cents for a ROM chip and embedded the code on the card, then almost nobody would care about or even be aware of the proprietary embedded firmware. But if the exact same functionality gets stored external to the card, it now becomes an issue.

Nobody seems to be concerned that every X86 processor since the 80286 has come laden with a boatload of proprietary microcode hidden inside. Is the only thing making that OK the f

You are correct. A completely free system would start by replacing the Bios with OpenBios or something similar. Then you need to switch to a CPU that doesn't use firmware. Once you are done that the following things also tend to have an embedded processor: Any decent RAID card, most SCSI cards, any of the higher end network cards, pretty much all video cards, CD/DVD/Blu-Ray players and hard drives.

Win Modems are a bad example since most were essentially sound cards with phone jacks bolted on and the ability to hang up. They didn't just need a binary blob, they required a windows service running in the back ground to decode the modem settings.