OpenBSD Ahead of Linux for Wi-Fi Drivers 256
algae writes "It looks like some kernel developers have noticed that the OpenBSD project is including reverse-engineered drivers for wireless ethernet cards while Linux is still using binary blobs. A large part of the issue is that much OpenBSD development takes place abroad, where having to do clean-room reverse-engineering isn't as important." From the article: "Christoph Hellwig took another stance, 'please don't let this reverse engineering idiocy hinder wireless driver adoption, we're already falling far behind openbsd who are very successfully reverse engineering lots of wireless chipsets.'"
Take Action (Score:3, Insightful)
Sometimes, like at this point, it's the right attitude. They better take action soon, or openbsd will make them look like a joke.
You can help end this argument (Score:5, Insightful)
Leaving BLOBs in the kernel might just mean you have different plaintiffs than if you used a reverse-engineered driver.
However, full clean-room reverse-engineering a free driver with full source code, rather than one that you have to disassemble and figure out, is a reasonably easy task. And, we have to write a Linux driver anyway. So, find one friend to work with and get started.
One person must not write any kernel code concerned with the driver. That person must read the existing driver, document the hardware, and publish the document. The document should not reproduce algorithms in the existing driver unless they are integral to driving the device and there isn't another way to do it.
A second person must not look at the existing driver. This person reads the document and writes a new driver.
Keep notes about the entire process. You could someday have to testify that you did it the right way.
Bruce
Blob is bad! (Score:3, Insightful)
I really hope the OpenBSD group's steadfast stance on "blob" is maintained. The Linux guys, who overall don't seem to mind blob, sound like they're starting to see the light. In the end it can only be good for all open source, not just OpenBSD.
Re:This seems bogus (Score:3, Insightful)
Re:This seems bogus (Score:3, Insightful)
But developing Linux drivers with documentation under NDA is popular, though.
Open Secrets (Score:5, Insightful)
Re:This seems bogus (Score:5, Insightful)
In reality, on the other hand, the reverse engineered drivers can serve as excellent documentation for how the same logic can be implemented in another OS, but that's about as close as it's likely to get.
Re:You can help end this argument-Buy foreign (Score:5, Insightful)
Yes, that would be excellent. How do we get there? OpenCores.org has the start. However, all of the gate-arrays that they have to work with have a proprietary bitstream format and thus they require proprietary tools to program them. We need an Open Source gate-array to facilitate Open Source hardware. Initial full-custom full-wafer mass fabrication cost is about $1 Million. At that point, you can get the parts down to a reasonable price. You can do small runs in MOSIS (or whatever they have these days) to make sure the design works before you go that far.
I figure this is at least $2 Million to get done. We need good hardware designers and people to help write the grant. If I can hook up with such people, I'll do whatever I can to help. I don't have the hardware expertise to lead this, or I'd already be started. Any volunteers? I'm quite serious.
Bruce
Re:confused... (Score:3, Insightful)
Of course, if this is really the reason, the OpenBSD drivers are probably illegal for distribution or commercial use in those parts of the world, not just illegal to port.
I'm not going to comment on how valid this distinction is, since I'm far from an expert on eitehr geographical distribution of development effort on various open-source OS's or differences among international jurisdictions on legal jeopardies associated with reverse engineering.
Re:This seems bogus (Score:3, Insightful)
Re:You can help end this argument (Score:2, Insightful)
i can hardly imagine theo was ever supportive of the idea of shipping a bsd-licensed blob with openbsd
Re:Open Secrets (Score:3, Insightful)
No, it's that this has been an "itch" in the OpenBSD community for quite a while now. Linux developers simply chose to focus their attention elsewhere, since their wireless cards were working fine...
Re:Take Action (Score:2, Insightful)
Sometimes, like at this point, it's the right attitude.
I second this. IP owner are kinda terrorists (presuring gvt agencies, senates, parliaments, etc), and succeed well in spreading fear. There's lot of irrational going on this matter:
Meanwhile, Linux devs will know that (on wireless land only !), it's controversial to do self RE. So, for instance, they will hardly write a replacment for the Intel 3945ABG binary crap (can't be done without RE). We're hooked to Intel ! we dismiss our freedom for big vendors fear. Too bad.
Re:in other news... (Score:3, Insightful)
very good. we need opensource supporting all sorts of hardware. only this discussion is in regards to WiFi support.
Linux developers are just as interested in getting opensource drivers just as the next guy. We're all in the same ship.i don't see where the flame is. the OpenBSD folks want open unencumbered drivers (hence the 3.9 blob theme [openbsd.org]) while the Linux folks have NDIS wrappers, blobs and other such hacks. it's fact. no need to get melodramatic over anything.
and they showed us that they can deliver while sticking to their goals and principles [openbsd.org]
Re:You can help end this argument (Score:3, Insightful)
In fact there were two differents campaigns goals, about two very different kinds of "blobs":
And from Theo words, Stallman was found very supportive on this work (but not the Linux distros makers & users).
The problem was with the second point, obtaining the hardware specs and not a binary "blob" driver. Theo de Raadt was replied by some vendors that (citing from memory) "you just have to sign our agreement and accept our binary blob drivers, look, many distributions (namely Mandriva, Ubuntu and Suse) agreed so it's an acceptable proposal, and you've no other choice". Theo was chocked by those replies, and chocked that only the FSF helped on his lobbying: the Linux distros makers wheren't supportive, rather the opposite, and the users of those distros didn't react to such a betrayal. It's somewhat similar to the recent Sun's Java redistribution licence for Linux (except that it's about kernel code, more sensitive).
If you're interested on this story, I can find propers links, but most of it was covered on www.kerneltrap.org and www.undeadly.org, so you'll easily find the full story.
Re:You can help end this argument (Score:3, Insightful)
Bruce
Re:Take Action (Score:3, Insightful)
Re:in other news... (Score:5, Insightful)
OpenBSD doesn't have any blobs because the project's leaders will not consider using them. What's the point of having an open source, audited, secure operating system if you allow arbitrary blocks of binary code into the kernel?
The reason OpenBSD doesn't have blobs is not because of their size -- they could port FreeBSD blobs in easilly. The reason is that the project is focused on quality. Their view is that quality and openness go hand in hand. Can't have one without the other. See this interview with Damien Bergamini, who implemented a driver for the Intel 3945 802.11abg NIC without any of Intel's blobs. [kerneltrap.org] The OpenBSD driver is considerably fewer lines of code than Intel's. Because its simpler, its easier to audit, and easier to find bugs in. Of course, you can't find any bugs in Intel's driver because you can't see the source code. Not because the Intel driver is bug free.