OpenBSD Ahead of Linux for Wi-Fi Drivers
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.'"
I just started using FreeBSD 6.1 recently and I was surpised about the ease of setting it up. (Still not for the faint of heart, but Windows isn't either. If you want a nice custom setup that does what you want, you need a lot of time in Windows). My primary laptop is a P-III 600MHz with 512Meg RAM. An old fucker I bought for peanuts. It didn't have a network interface, so I added a Sweex wireless adapter. It shows up in both FreeBSD as Windows under RaLink 2500. (Note that Sweex is a cheapass brand, but for another product I had *excellent* support by email with them)
Linux.... Nothing... No out of the box recognition.
OpenBSD also recognised it but doesn't support WPA-PSK which I do require. FreeBSD supports WPA-PSK. I've been an OpenBSD fanboy for a long time, but I like FreeBSD equally now. Linux... well, somehow I have problems with most distributions. Either philosophical problems or technical problems :-) With *BSD, I have neither.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
Far too many people have a careless 'U.S.A. laws suck, merge it anyway' attitude
Sometimes, like at this point, it's the right attitude. They better take action soon, or openbsd will make them look like a joke.
can be found by reading the man pages
Linux is dead. Now, when will BSD be ready for the desktop?
Weaselmancer
rediculous.
Well as the article itself says the clean room method isn't required by law. It would seem to make sense then to drop it until it is required by law, or alternately host your distribution overseas and have the developers working on the drivers be non-US residents as well, so that you are less vulnerable to US law. Wi-Fi problems are one of the reasons this laptop doesn't run Linux, although BSD is sounding cooler and cooler.
Philosophy.
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
Bruce Perens.
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.
Trolling is a art,
Fantastic, I just read through the supported chipsets and my laptop's onboard chipset is on there. So now I want to test it. Are there any decent bootable CD distros (Knoppix style) of OpenBSD that I could simply download and play with? If so I'd be more than interested in getting Windows off of it and cruising with BSD.
I'll be honest, we're throwing science against the wall to see what sticks. -Cave Johnson
I think the problem is that the BSD code may not be considered "clean room" by the Linux people, hence it's "dirty" (not my opinion) and not to be touched. You can probably trace a lot of this obsession to the SCO lawsuit.
Trolling is a art,
I think it is a combination of laziness and philosophical issues. Linux is being held back by both unfortunately.
Jesus was a compassionate social conservative who called individuals to sin no more.
What would end the argument, Bruce is open-source hardware.
"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." Nonsense. Everyone knows that lots of patents and lawyers encourages innovation. You must be mistaken on this point. /sarcasm.
Sigh, I guess we knew it was coming but as a 'merican, Its still hard to see stupid policy beginning to drag us off the world stage of innovation.
To boldly use to and too two times and get it right too! They're not gonna believe their eyes when they see it there!
ndisWrapper isn't counted because the thing it's wrapping around is a binary blob. That's basically the opposite of a BSD driver.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
So what exactly is stopping them from download ing the BSD drivers and making a linux driver from the BSD sourcecode?
Is there some kind of problem with that?
Do not look at laser with remaining good eye.
But developing Linux drivers with documentation under NDA is popular, though.
If those OpenBSD drivers are under the BSD license, doesn't that mean anyone (except the very few under some kind of other legal constraint for some other reason) with the chops can port them to Linux? And those chops don't have to be as tight as the original BSD coders. Shouldn't the lead be very short-lived?
--
make install -not war
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.
Dewey, what part of this looks like authorities should be involved?
Drivers developed under the constraints of an NDA are usually released as blob, no?
"Is there some kind of problem with that?"
Just make certain they "give back to the community" like the GPL community expects others to.
netcraft will confirm it.
I have freaks! I did something right...
There are many things that don't work with ndiswrapper. Wireshark (formerly Ethereal) is one.
> Drivers developed under the constraints of an NDA are usually released as blob, no? Not always. There are several drivers in the Linux kernel with docs under NDA. UltraSPARC III support, for instance. Drivers written with docs under a NDA are the open source equivalent of a blob.
Drivers written with docs under a NDA are the open source equivalent of a blob.
But the GPL source is still there, and that counts for a hell of a lot.
"I don't know, therefore Aliens" Wafflebox1
OK, let's look at this legally.
Is the internal of the WiFi a secret?
If 'Yes' then do a linux driver from this information. You cannot be held liable for a trade secret when it has been divulged.
I take it the only reason why not is that lawyers get paid for being arseholes.
i've taken a large linux driver and gotten it running in free with no
source changes by defining the linux interfaces as macros and
inlines. i think the only thing that didn't just fall out was
the bit-sense of PAGE_MASK.
i don't see any reason why you couldn't do the same thing in the
other direction.
Another obvious question: why was this called flamebait?
(note: I did not post the parent, I just think it's a lousy mod)
i just finished fighting with my PCMCIA WiFi card and ndiswrapper and wpa_supplicant, becasue they only choose to work when they feel like it - everything from Segmentation Faults to perfected working happens from time to time - I guess it's because of the voodoo invloved in making a windows driver run on linux, so i guess i shouldnt complain. but it still begs the question why there's no "ndiswrapper for *BSD drivers", or something along those lines. AFAIK, windows drivers have to have a rather rigid interface (NDIS?), and this might not be the case for the BSDs, but i'd still guess that it should be easier to build a wrapper for other open-source drivers than for windows drivers?
I realize, of course, that many companies supply proprietary Linux drivers, but will not release the source. They don't want to support the Linux code, and they may have 3rd party licensing arrangements that prevent them from opening the source. In many cases though, they are not making money off the driver. TurboPrint drivers are a notable exception.
In the cases where they are not directly selling a driver, you may be able to get written permission to reverse-engineer the company's binary driver. Even when they will not release the source. Don't overlook the possibility. The worst they can do is say no. But getting such written consent in-hand is a much more reliable way of protecting yourself and Linux, than any clean-room technique.
Honestly, I've always seen API emulation like this as being the only pragmatic solution to the problem at hand. Almost always, a new piece of hardware has Windows support of some kind, so why not co-opt it? At least that way, the only truely hard part is somehow meshing the ocean of .msi, .exe and .zip files for drivers with RPMs and the like.
Sure, we'd all like to have a lean-and-mean kernel with drivers to match, but sometimes its just not going to happen without breaking a law or two. So where's the legal alternative that doesn't force me to look for compatible hardware?
Hope that answers your question.
We're working on it. The OpenGraphics project is working on an open-architecture GPU which will have BSD-licensed drivers, and GPL'd board schematics and artwork.
There's nothing stopping another group of hackers setting up similar projects: OpenWireless, OpenSATARaid, ...
Especially since the OpenGraphics project will be bringing out an PCI card with a big FPGA on it soon (OGD1). Although it'll be primarily aimed at development of the OGA graphics pipeline, it's got a big header on it, so there's no reason it couldn't be used for something else. Accelerating POVRay, perhaps?
Pirate Party UK
As far as I can tell, the new Slashdot software does not prevent the joke posting from coming before the one with substance. :-(
Bruce Perens.
I have a few different wireless USB dongles; I have a netgear (model number slips my mind, and it's not handy) that's the size of a USB thumbdrive, and a few Proxim externals that are bigger -- they look a bit like a radio shark, and contain a full-sized PCMCIA card (Lucent, I think).
I know people handier with fooling around with their systems have gotten both of these models to work, but can anyone name a distro that makes USB wireless (within reason, as in "using widely supported devices," which I understand these both to be) truly plug and play? For some devices (old laptops with broken PCMCIA slots, shoebox machine with no free slots) USB's the only hope for getting wireless, but I've never found a distro that said "Hey, you've got a wireless USB dongle -- cool!" (even metaphorically).
timothy
jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
can they also do it with video cards? I'd love to see the day when I can use an open source nv driver and still have a usably fast rxvt.
In my experience, My toaster has more good wifi drivers than linux. :P
Has Netcraft confirmed this?
the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
I don't know were you get this 'ndiswrapper works great' stuff from, but it doesn't. It may work great for you, and it may work great for certain wifi cards, but it doesn't work at all for the majority of use cases.
As far as OpenBSD reverse engineering drivers, good for them. AT least they CARE about Free software, unlike a lot of Linux users that pay to have their system locked away from them by paying for closed source drivers like OSS sound drivers or Linuxant closed source stuff instead of actually supporting Free software driver developers.
If people don't care about Free software drivers why are they even fucking around with Linux-based system? They will always be miserable and always be bitching about Linux developers doing stuff to break their favorite closed source drivers. They'd be better off using a closed source operating system like OS X.
Sure, it wouldn't be legal anywhere, but people would use it anyway.
Do we really want another SCOX after us?
...linux supports thousands of other devices that BSDs doesn't support. Seriously, why a "openbsd ahead of Linux" story written in this way? It looks like some people love to start flamewars between linux and BSD communities or what? Linux developers are just as interested in getting opensource drivers just as the next guy. We're all in the same ship.
It's the Linux developer's stance, not legalities involved.
If the folks that wrote the BSD code would actually WANT Linux to use them then Linux developers would probably accept properly ported code (and GPL relicensed) based on a BSD driver into the kernel. This is my understanding of the subject.
As far as actual OpenBSD wifi drivers...
The OpenBSD-being-ahead-of-linux is actually kinda bullshit. It's nice way to promote OpenBSD, but if anybody actually cared to examine the details of what is going on would be like "Oh they are kinda full of shit".
One thing that OBSD has right and that Linux (as in 'Linux the operating system community' not 'Linux the kernel') has completely wrong is things like Atheros and Madwifi drivers. These use binary blobs and are legally questionable and technically inferior solution for a Free software operating system.
What Linux has over OpenBSD is that OBSD is aiming to 'just get the radio working' vs Linux were you'd be able to walk into a place and actually able to be able to use WEP/WPA-protected wifi or be able to use things like Kismet and take better advantage of the Wifi hardware. In other words the OBSD drivers are going to be very limited in functionality compared to Linux ones.
The BSD drivers probably won't be much use anyways. Linux is going to want drivers to use their generic 802.11g protocol stack stuff. Hopefully the devicescape stack will make it into the kernel before to long.
But calculating these values isn't enough if you're designing anything of high complexity. You then really need CFD software to model how the heat will flow around your design. It's easy to build something that is quite incapable of remaining within temperature limits.
When building network interfaces, other problems creep in. You have no control over whatever you connect your device to (wirelessly or wired) and so must provide suitable tolerences. You also have potential problems from interference generated from within the device itself. A wireless network card that jams itself is of very little use.
I'm not saying this is impossible - the University of Manchester uses Open Source tools for designing async microprocessors which are suitable for cell phones, so obviously it's possible. It has been done. The problem is in moving from "possible" to "practical". That is an area that looks interesting and - as programmable computable devices become more powerful - more open to experimentation.
One of the problems with commodity hardware is that the only reason it is cheap and useful as a commodity is that it is ultra-generalized and therefore inefficient at any given task. As such, it should be very easy to design things which are more specialized and more efficient, even without a multi-billion dollar budget. Most of that budget is going to be in cramming all possible features onto as little silicon as possible without causing a meltdown. Microcomputers were buildable because no individual user really needed the full power of a mainframe. I could easily see the next stage being people designing components and cards that aren't perhaps equal to AMD's or Intel's latest mega-product but which are perfectly good for a special-purpose embedded device.
Is this likely? I don't see why not. The 65I02 is a popular microcontroller. Yes, that is a more modern 6502 processor, and 6502s are NOT rocket-science. Open Cores is already well past the simple design of a 6502, and probably more than capable of designing fairly decent control systems with Open Source tools alone. Once you get a cottage industry going with Open Source hardware, then more advanced tools will inevitably follow.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
1) Form a consortium of major Linux vendors to build and maintain an exhaustive but relatively friendly Hardware Compatability List (HCL).
2) Spread the word that if users don't consult the HCL before purchasing new hardware, they risk a lot of compatability headaches.
3) Invite hardware OEMs to participate directly in maintaining their corner of the HCL. Under each model listing, provide a button to send user feedback (or petition) to the hardware vendor.
4) Watch as hardware vendors begin to take Linux drivers much more seriously, due to constant and coordinated pressure from consumers. Vendors will get a clear message that the days of the haphazard "plug-n-wish" habit are over, since users will avoid buying their products of questionble compatability in the first place.
OS vendors must work to keep their patrons informed about hardware suitability. There is no other way around it in the near-mid term, and we will never get to the point where most OEMs automatically accommodate Linux unless a sturdy bridge is built to organize and convey the users' purchasing interests.
"
NdisWrapper has been around for ages, and it works great."
Until you want to put your wireless into monitor mode. Commercial commodity Windows drivers do not support this mode.
For people using linux, just buy a card with a chipset supported by MadWifi. It works like a charm. Just be careful to watch for hardware revisions on the box of the wifi card you are planning to buy. Sometimes the chipset on the card will change with the model number being the same!
Because there's a very fine line which separates humor from insult. With that said, it's quite unfortunate that most
No, it's because they are bad at respecting copyright. :P
No SIG for you!
Indeed having it GPL counts a lot.
But still, if the driver was developed under NDA and is bloated of "magic numbers" (as often in drivers under NDA, the implementation can't contain too much comment/infos), practicaly, we're near to loose one of the fundamentals rights supposedly granted by the GPL: the right to modify and re-use it. Well, you have this right, but you can hardly use it.
In practice, source code designed to hide IP secrets is in-between normal source code and binary exec. That's why, by the way, OpenBSD devs never accept and never signs NDA, as stated there http://www.openbsd.org/goals.html for instance.
I tried using Ubuntu because I knew it had built-in Wireless drivers. After a bit of work, I got the computer to connect to the network. But being the Linux novice that I am, I still couldn't get an internet connection through the network, which is the reason my network exists in the first place. Much as I'd like to escape, Windows is just too comfortable for me to leave behind.
I have been a linux AND BSD user for a number of years... I'm going on 2 years with just Archlinux alone (man, I love it) and about a year and a half with FreeBSD. I love them both dearly and would never opt for any other distros besides these two. I love the work OpenBSD is doing with the wireless community and I appreciate every bit of it but given my comfortable state with linux/BSD which have become rivals somehow? I guess it's like Pepsi/Coke... they taste the same to me but apparently there is a difference? Eh, ignorance is bliss, right? Anyways... I just do my research before I buy something. Atheros: fully supported under Linux and BSD... Madwifi works flawlessy on both of my laptops both of which running Archlinux and/or FreeBSD. Netgear WG511-T 108Mbps (miniPCI) and D-Link G650 108Mbps (PCMCIA). Perfect examples of two different form factors that work flawlessly either way you go for a price that doesn't make your wallet wish it had "parental" controls on it. Most of the complaints I see are people using chipsets like Texas-Instruments and Broadcom, ralink and realtek... yea no kidding it doesn't work. Sure, some of them are starting to develop some decent drivers out of the realm of Ndiswrapper, but they aren't stable and I wouldn't bother wasting my time... and I hate seeing people complain about it. You get what you pay for (or the lack there-of). Kismet-wireless.net is my Buyers Guide for wireless cards. If its chipset isn't supported here... it's not getting my money.
reverse engineering, a way to over the shoulder of your classmate in a test....
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.
Alternatively, ask the author of the BSD-licensed driver for permission to re-use his/her code in a Linux driver, then modify whatever is required to make the code run in Linux. No need for all this clean-room garbage. Actually, it should be pointed out that clean room reverse engineering isn't *required* even if you're reverse engineering the manufacturer's Windows driver. The only reason to bother with it is if you think there's a chance the original author of the driver may sue you for copyright or trade secret infringement, i.e. for copying the code, rather than reverse engineering it. Most of the time, they won't care at all, because few drivers really contain anything worth protecting (video card drivers are a notable exception -- or at least ATI and nVidia think they are).
Also, note that the process Bruce described is not an adequate defense against copyright or trade secret suits. He left out a crucial step in the middle: Have an attorney specializing in software IP law review the specification to verify that no copyrighted material has been copied into the specification. If you're going to bother with the clean-room process, make sure you get the legal review. Further, if you want to be completely safe, don't use a friend because the plaintiff's attorney will point out that the two of you communicate and could easily have passed key information verbally. There's really no good way to fight that accusation unless you can demonstrate that the two teams have never communicated except via the specification document.
Of course, even if you do a perfect clean room reimplementation, that doesn't guarantee you won't be sued. It just means that you'll probably win, assuming you can afford the fight.
So the best thing to do is to let someone in a less litigious legal system do the work. And suggest to them that they reuse the OpenBSD driver (with permission).
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Hey, the Ubuntu project has an all-libre version of the distribution as well. But if you've got hardware you can't support without some restricted stuff that makes you feel icky... I'm not sure what distribution developers are expected to do. Tell users what hardware they should buy so that their distros will work?
+++ATH0
Dead on... miniPCI use dual U.Fl connectors, most often to seperate antennas attached to the side of the laptops frame. Sometimes in addtion to ones already onboard.
PCI cards rely mainly on external antennas most commonly with RP-SMA connectors. I have the following cards at home and sitting maybe 20 ft away from my router heres what the signal strength is
atheros miniPCI 108mbps (netgear wg511-t): [XXXXXXXXXX]
atheros pcmcia 108mbps (dlink g650): [XXXXXXXXXX]
prism54 pcmcia 108mbps (netgear wg511-t): [XXXXXXXXXX]
orinoco pcmcia w/ 7dbi antenna (gold): [XXXXXXXXXX]
prism3 pcmcia (dlink 650 rev P1): [XXXXXXXXX-]
broadcom miniPCI (Broadcom A/B/G): [XXXXXXXX--]
admtek PCI w/ 7dbi antenna (dlink 520): [XXXXXXX---]
My PCI card is absolute crap... the only PCI card I have EVER LIKED was the 2wire PCI card. I wish I could get my hands on one for a relatively decent price, I'd like to play around and see what kind of chipset it has.
I don't think madwifi worked for my D-LInk DWL650+. Got it to work fine with airlink101 wireless cardbus adapter though (atheros).
Theo wanted (and still wants) to be allowed to redistribute firmware. Blobs are not accepted, and have never been accepted, or even considered. And the FSF did support the OpenBSD developers efforts. RMS gave Theo an award even.
... did you just "foe" me because I advocated making friends with recalcitrant hardware companies?
Lame, man.
By running with closed source blobs crammed into their systems they make the hardware companies feel secure in their choice to distribute those blobs and encourages them to not give proper documentation or open source drivers.
This is unlikely to happen. What is MORE likely to happen is that Linux will continue to grow on both the desktop and server, and soon enough all hardware companies will start documenting their products properly for Linux.
How many hardware companies REALLY provide open-source drivers? There is a big problem with doing this for some companies, especially graphics ones, because doing so exposes some of the trade secrets that allows them to produce their hardware in the first place.
Hardware is not software. There is a fundamental difference between the business model of selling each.
+++ATH0
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be the Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save *BSD at this point in time. For all practical purposes, *BSD is dead.
Fact: *BSD is dying
It *is* ready for the desktop. I have been using FreeBSD on my notebook for three years as my primary desktop computer. Because: FreeBSD Just Works(TM).
Ummm, it works just fine for me under FreeBSD (I have one of those Linksys wireless cards with speed booster crap on it...) using ndis wrapper... Same goes for anything else, the applications don't give a rats ass if it's using NDIS. Now, if your Windows drivers suck ass and don't support certain hardware features then it's the fault of the Windows drivers you used when you converted them not NDIS.
The first sentence is pure sarcasm. It should be "Score:X, Funny". Knowing this requires understanding of just how different BSD and Linux are and that a simple configure script could never do this. It also requires that you have a sense of humor that is functional without laugh-tracks inserted when the TV show is made.
The second setence has nothing insightful about it at all, compared to the rest of this article.
They developed advanced wireless driver framework, which will in some time be ready to be included in linux kernel.
I'm all for it, ASAP. Practicall all linux wireless dev people agreed on it, so it's just a matter of time.
Porting drivers shouldn't be as hard, while current wireless driver model is seriously lacking.
BSD code could be very helpful for reverse engineering.
I always thought reverse engineering was something that is very frowned upon. Is Ben Affleck behind this?
geek n performer who performs morbid or disgusting acts, as biting off the head of a live chicken
As I see this is just another example of how American values of fairness, quality, openess and honesty have been lost in the boardroom and consequently the world is turning elsewhere.
Indeed, the United States started out like this, and businesses (for the most part) generally tried to do The Right Thing (TM). However, capitalism eventually kicks in, and you have to make a choice: do you drop some of your ethics which are not legally required and possibly stand a chance in the market, or do you keep your ethics and find your business failing (or yourself looking for a new job) because other businesses don't take such a moral high ground.
Theo likes to trash the US, but Canada and Europe also have corporations which do the same thing. The difference you have is the "maturity" of the corporation, not the location. North Anerican and European corporations are sufficiently matured such that their markets are stable and they have an established customer base. You'll probably find that smaller corporations in the US, Canada, and Europe are also as open and as willing to supply specifications in the attempt to get their products more widely used. When they become successful enough and appear on the radar of large corporate entities (or any nationality), either they are purchased to eliminate competition or they are squashed, er, to eliminate competition.
The US doesn't do the brightest things all of the time (probably most of the time). But practically all other countries make the same bone-headed decisions, because they're run by megalomaniacs or by politicians (or both). Don't trash-talk a country just because you're prejudiced against that country. Look at the real problem (capitalism) and push for real solutions to that problem (laws that enforce ethical behaviour by corporations, laws that protect consumers, laws that force vendors to release -full- documentation for interoperability).
-M
What do you do about graphics? Neither ATI nor NVIDIA provide OSS drivers.
+++ATH0
Reading this article I was wondering what the problem with reverse engineering code was. I didn't see there being a legal issue and as others pointed out: there is no illegality involved.
The only time when a cleanroom approach is necessary is if the source has been published as the original IBM BIOS was. Forgive my memory if I forget the exact entity, but I believe it was Phoenix Technologies that created their own BIOS to compete with IBM's BIOS. In that case, IBM had published the code in their 3-ring, hard-bound BIOS tech reference.
In the current situation, no source code has been published. The vendor is a hardware manufacturer and provides the binary-driver to enable their hardware to be something more than an ugly paper weight.
Now it comes to trying to use the same piece of hardware, but under a different OS. Even the DMCA has a clause allowing reverse engineering of "access control routines" when the purpose is to provide compatibility. Reverse engineering a DVD access routine, was problematic because it did alot more than simply allowing compatibility, it also allowed circumvention of region lockouts, and would allow skipping of "mandatory" sections on the DVD. The latter was considered bad because they want to enable advertising sales on home DVD media, among other reasons.
However, there is no "content-control-industry" behind network drivers, the binary drivers are not protecting copyrighted material. So the two situations are completely different.
Secondly, providing an alternate driver for hardware manufacturer's device doesn't create economic harm to the harm to them, but conversely, directly enlarges their potential market and if anything, creates economic benefit to the OEM.
Unless a party (like the OEM) is "harmed" in some way (usually economic), there is no basis for a lawsuit. A plaintiff must show harm or damage in order for them to have grounds for a lawsuit against another party.
Unless someone can think of a situation where an alternate OS driver would create some economic damage to the hardware manufacturer, I submit, that talk about "legal issues" is complete FUD.
To be concerned about nebulous "legal issues" for a situation like this would be akin to worrying about legal issues in creating computer aids for the "visually impaired" that magnify book text, or for the blind that allow a hand-held scanning wand to be passed over text that speaks the words under the wand.
In both situations, you are enabling a larger class of people to access the object that the object-creator (OEM, publisher) is selling.
To me, creating fear, uncertainty and doubt, by claiming "potential legal issues", might as well be applied to going to the bathroom wherein you decide you can't, because of "potential legal issues".
Where's my FUD-B-Gone Spray?...
-l
I'm fairly certain I'm not stupid. I'm also growing increasingly more certain that you're mean.
Beyond that, however, I *am* interested in having a serious conversation about this. How do you propose to build a hardware system out of existing components that uses all-libre drivers?
+++ATH0