Slashdot Log In
OpenBSD Activism Shows Drivers Can Be Freed
from the mindshare-will-follow dept.
grey continues "This means that currently, these wireless NIC's don't work out of the box on OSS install or boot media. In just the first 4 days, hundreds of users wrote and called vendors, and already 2 vendors freed their firmware, and several others are in discussions with Theo de Raadt about taking similar steps.
We need your help! TI has still not responded at all. You can call or write to Bill Carney, - Director of Business Development of TI's WNBU to add to the approximately 400 well written messages the OpenBSD community has already sent to TI. We hope that you'll help, and if you do please keep messages polite and to the point. Please remember, we are not asking for the vendors to open source their firmware under the GPL or BSD licenses (though we wouldn't complain if they did). Instead, ask if they would simply email Theo to open discussions on licensing their firmware binaries under terms that allow for free redistribution. If changed, these firmware binaries would then be able to be included with OSS software and function with existing BSD and GPL licensed device drivers from the start.
You can find other contacts for target vendors here, here, here, and here, and it can't hurt to sign this petition. These changes aide all OSS efforts, not just OpenBSD. As you can see from the OpenBSD community's results already, contacting these vendors really does make a difference. We're sure that with the numbers of OSS minded readers in the Slashdot community you can really help with the heavy lifting where fewer numbers of BSD users have already begun to succeed, and all Open Source Software users will benefit."
If you love your driver (Score:4, Funny)
Re:If you love your driver (Score:3, Insightful)
Bahh (Score:2, Funny)
Re:Bahh (Score:4, Insightful)
PWC hooks in the Linux kernel were hooks that were removed as part of a standard kernel policy, after the driver had fallen under the radar for some time, and that hook was specifically designed to extend the capabilities of working hardware in a way which was legally fishy.
This is the issue of going to a vendor for the licence to redistribute firmware which already has a generic kernel hook for being loaded and will not initialize with said firmware.
Or are you just being crabby?
Parent
Re:Bahh (Score:5, Insightful)
The problem was that there was a hook there that had the sole purpose of explicitly violating the GPL. Here, the firmware isn't linking with the GPL'ed code. So it's all good. This is uploading firmware from userspace via the kernel. Requiring it to be GPL'ed is like requiring that the files I read and write be GPL'ed because they passed thru the kernel.
The firmware loading is there to resolve several pseudo GPL violations (I believe Adaptec has long strings of stuff that is a binary code that gets loaded into the firmware that people claim "we should have the source"). I've always held the believe that that code is not linking with the GPL'ed code, it is merely data as far as the kernel is concerned (you don't have to GPL the constants you use in drivers). While the firmware is intersting and it's plausible that OSS could improve it, it just saves the costs of burning a ROM in case there are bugs that have to be fixed.
This all came up not that long ago and was a possibly blocking problem with the next debian release, but they choose to overlook the problem. The firmware loading is clever because it solves several problems, and is more flexible, and moves the problem outside of the kernel, and turns it into a data problem, not a code problem.
Kirby
Parent
Re:Bahh (Score:3, Funny)
Don't give RMS any ideas.
(I'm kidding, I'm kidding. I actually think the concept of copyleft is a Good Thing. But I take the shot when I see it.)
Re:Bahh (Score:3, Interesting)
I have to say that the NVIDIA guys are way more relaxed than say intel or broadcom. I'll give you an example: I contribute to the DragonFlyBSD [dragonflybsd.org] project. NVIDIA found out that I have been porting the FreeBSD X11 NVIDIA driver to DFBSD. They contacted me, and after some pleasant communication, they sent me a prerelease driver for me to port. But that just started things rolling, because I passed on the contact details to Joerg Sonneberg
Why NOT? (Score:5, Insightful)
So why do companies have a problem with free driver distribution?
Re:Why NOT? (Score:4, Insightful)
Parent
Re:Why NOT? (Score:5, Insightful)
1) most people should know to download drivers from the computer manufacturer / device manufacturer. and if someone wanted to do that, they could without having the source code, just have to put a virus in the installer or reverse engineer the code.
2) i don't think this is the issue here, look how many drivers are in the BSD/linux source code, has this really become a problem? no. will it ever? probably not.
Parent
Re:Why NOT? (Score:5, Informative)
Bittorrent is no different than, say, HTTP when it comes to this sort of thing.
If you're bittorrenting down a ISO from, say, the Knoppix official tracker - You know it's fine - same as if you downloaded it by HTTP from the same site.
Now if you're randomly downloading stuff from Hack-My-Computer.com, that's a different issue.
Parent
Re:Why NOT? (Score:3, Insightful)
But that's why you have checksums and digital signatures.
Re:Why NOT? (Score:3, Informative)
Don't help distribute problems. (Score:3, Insightful)
Licensing to disallow distribution of proprietary software doesn't prevent this from occurring, whether the software is "firmware" or an "operating system".
All that is gained with this petition is the ability to help an proprietor more efficiently distribute their non-free software. Users still have no idea what that software will do in the fu
Re:Don't help distribute problems. (Score:5, Interesting)
Well, that's an interesting point. However, in this case, the firmware could effectively be in silicon. It's just easier to make it not be in silicon. Do you ask Intel for the rights to their Microcode? Intel/AMD CPU's (that's pretty much definitely hardware), have microcode patches.
Do you demand Transmeta software. Their CPU is a big software translation engine, but they burn their software into a piece of silicon because it executes faster.
Do you ask Intel for the plans to their CPU so you can use the Free Software concepts to fix up their CPU designs? They are nothing but big pieces of software that are turned into hardware by a very precise etch-a-sketch.
The problem is that hardware is software, and software is hardware. Especially at the level of firmware. If it's programming an FPGA, that's literally hardware that is changeable. You are configuring a bunch of AND and OR gates. If it's running an ARM, you might have a development environment.
However, if it's say the Adaptec SCSI firmware, you have a non-standard instruction set, with non-documented hardware. A non-existant tool chain. What do you want the source for? The only reason they do things in firmware, is so they can avoid soldering wires, flashing the PROM, or forcing you to physically pull the ROM and replace it if they find a problem. If they document it's behaviour and say "avoid that", it effectively becomes a hardware problem, the same as if they burned it to silicon.
Open Source is a fairly practical solution to an Engineering problem. It's applying the age old solution of scientific peer review to the world of software. The freedom is incidental, but most of the original great science was fairly publicly available. At the level you are talking about, you are beginning to approach, "Well, is it a wave, or is a particle", when discussing "is it software, or is it hardware". I mean the CPU is flash upgradeable, and I'd say the CPU is about as hardware like as hardware gets.
I agree that most of the time, all software should be open. However, in the case of the firmware, I think several different issues come up. Not the least of which are, you'll need the vendor to open the docs on the specifications of the hardware internals (this works at a lower layer then the driver does). You'll needs a tool chain for an assembler that might literally be a one-off designed in house by a hardware engineer. At some point, they'll be a layer of software, that until there is an open hardware maker that will be inheriently propritary (documenting the firmware properly essentially draws a blueprint for the hardware). The economics of the situation make no sense for the hardware makers to make it public knowledge. I'm not saying it's a good thing, but economics makes the computer world go around. The economics of hardware is what made writting software a possibility for so many of us. To blindly ignore them is naive. I wish that there was more open hardware that was actually made and sold as high quality equipment. I know I'd pay a premium for it to get hardware that was open all the way down to the traces on the board level.
Kirby
Parent
Re:Why NOT? (Score:3, Insightful)
Legal stuff always tries to reserve as many rights as possible for the company, so when they came up with the license for the drivers they came up with a license that gave almost no rights to people (as licenses usually seem to do). And that's the way it's been for a long time because, untill now, no one needed that ability. I mean other than with OSS (IE in the Windows, DOS, or Mac worlds) what reasons would anyone have for wanting to
Re:Why NOT? (Score:5, Insightful)
Parent
Re:Why NOT? (Score:3, Insightful)
Re:Why NOT? (Score:5, Insightful)
I envision a similar situation in which Detroit gets sued because they are liable for a person's speeding ticket. Only the person had to override some sort of speed limiter device in order to do it.
Parent
Re:Why NOT? (Score:3, Insightful)
I know this to be the case where I work.
-nB
Re:Why NOT? (Score:3, Insightful)
The consumer might as well be considered enemy hands.
Re:Why NOT? (Score:2)
A company who can master this should never have a problem with software piracy. If someone makes a clone of the hardware, that's either a patent infringement (n
Re:Why NOT? (Score:2)
* Preventing unofficial driver releases, the shortcomings of which may be blamed on the hardware maker by lesser-informed people.
* Some drivers really are quite complicated. Take graphics card drivers, for instance. NVidia are constantly coming up with newer versions that increase performance, as they discover new optimisations and so on.
* The old corporate mentality that one should never divulge any secrets, especially when they're full of complicated information (see previous point) tha
Re:Why NOT? (Score:5, Insightful)
Hardware used to do things using discrete transistors, resistors, diodes, etc. These days most of that (and more) can be done better in high-density logic devices. But the "top of the line" high density logic, ASICs, still have too great a startup cost for many companies. Plus, they cannot be field upgraded.
The next best logic, FPGAs, are not hard-coded with the firmware. Instead, they load it from a memory source on the hardware - or they load it from the operating system on boot or plug-in. The advantage of the latter is that you don't have to pay for the EEPROM or flash to store the firmware on board, and updating the firmware is as simple as downloading a new binary to your computer. (Overwriting EEPROM or flash firmware on hardware can be dangerous, as a failure could prevent the hardware from being recognized to try again.)
So, firmware (i.e. code for the hardware) ships with the software driver, but is separate from it. Your next question will be: Why don't they open-source their firmware, too?
And the answer here is simple. They have to pay someone to design that firmware, lay out the PCB, spec in parts and materials, and then provide hardware to build those units. If their firmware is available to all, then someone else can take that code, copy their PCB, and produce the exact same board except with no overhead of R&D. Heck, they could even provide (under the table) vendor and device information so that it looked exactly like the primary company's product, would work with their driver, etc.
Why would any company want to do that? One of the early competitors of my company, 15 years or so ago when we used TTL parts, copied the entire product exactly. Reverse engineered the PCB. Then ran advertisements showing the two boards side-by-side, explaining how they were identical except that theirs cost less because they have no research overhead.
So, of course, my company leveraged its research "overhead" to produce a better, faster product that also happened to not be so easily copied. This resulted in our first ASIC. There is no way that we or most other existing hardware companies would return to the days where anyone can copy their products.
Parent
Re:Why NOT? (Score:5, Insightful)
Anyone who wanted to reverse engineer the firmware would have just as tough a time doing it _now_ as they would if the firmware was able to be shipped on a knoppix or OpenBSD CD instead of downloading it from a website with an Intel licensing splash page.
You have some worthwhile points and you explain the distinction between drivers and firmware well, but your argument and company's experience is not relevant in this instance. Getting companies like TI and Intel to license their firmware in a way that allows for other vendors to provide it out of the box is just going to help users - other companies which might be helped or hindered by open sourced firmware will be completely unaffected, because the challenge will remain the same as it is now.
Let's take that intellect and argumentative skills and point it at contacts for TI and intel instead of veering off course.
Parent
Re:Why NOT? (Score:4, Informative)
Parent
Re:Why NOT? (Score:5, Informative)
A: In the case of wireless, the FCC plays a part.
An 802.11 Wireless Card is a software controlled radio, and must be licensed per FCC regs (in the USA, your country's rules might be different). Since the 802.11 PHY operates over several channels within the specified band, it must be able to select and switch between these channels via software, and to adjust its transmit power for optimum performance based on the changes in temperature of the transmitter, and changes in the frequency, among other things.
But different regulatory domains (countries) allow different channels within the bands, meaning a card in the US may be able to operate on a channel in the B band which is not licensed for another country, or vice versa. This is particularly true in the A band, where a whole middle "chunk" is not legal for use in the US.
Bottom line is that in order for the producer to get a license for the radio (and trust me, you do NOT want it to be the case that you, the operator, have to secure that license), he is NOT ALLOWED to expose the controls for power, et al, to the end user.
Now, if the driver / firmware (distinction / similarity discussed elsewhere in the thread) is open source, then by definition the controls in question are exposed to the end user. There would be nothing to prevent an end user from operating his card at a higher than legal power, or outside the legal freqs for the local regulatory domain.
NOW, all that being said, that is not to say that SOME hardware manufacturers haven't tried to do the right thing, and strike a compromise.
The MAD-WiFi Project http://sourceforge.net/projects/madwifi [sourceforge.net], (FAQ here [clara.co.uk]) produces an open driver for the cards with Atheros chipsets. The bulk of the code is open, and under a good license. To meet the FCC requirements, they implement the "required to be secret" controls in a binary-only Hardware Abstraction Layer (HAL), but the rest of the code is open, free for you to read and modify.
And it works. I'm typing this through a Netgear card, running the MAD-WiFi driver (with TKIP encryption, IEEE 802.11i 4-way handshake and authentication handled by wpa_supplicant) on Gentoo Linux.
Credit is due to Sam Lefler and most importantly to Greg Chesson (of Atheros). Yes, it's that [google.com] Greg Chesson, the same one mentioned of late by Rob Pike in his recent ./ interview.
Note that, AFAICT, all of this happened without Theo de Raadt pimping around or making an ass of himself, as he is want to do. Disclaimer: I lost patience with Theo and TheoBSD a long time ago.
Parent
Re:Why NOT? (Score:3, Informative)
OpenBSD (and others) simply want to be able to freely distribute the firmware with OpenBSD (or other OSS) freely.
The request is *not* to open up the firmware like your message suggests. Again, since you missed it the first time, the request is *not* to open up the firmware like your message suggests.
Maybe the average slashdot reader does not have a long enough attention span to follow such logic through, but this
Re:FCC red herring (Score:4, Informative)
I am not making this crap up, nor am I quoting from some trade rag, journal or online posting. I've spent the last several years as an active, voting participant in IEEE 802.11, sitting in the room with the engineers who design these chipsets and radios. If only one of them, from one company, had explained things this way, it would be one thing. But the reality is that this is the story from all of the mainstream chipset / radio vendors, and it's validated by the other folks in the room who specialize in regulatory issues.
Parent
Re:Why NOT? (Score:4, Informative)
These other drivers are hidden because companies have just always done it that way. Why should they change things? It's always worked before. They don't realize that the community will help them greatly if they open things up a bit. It's old-world versus new-world, and it's just taking some time to get old-world to come around.
Parent
Salient point: (Score:2, Interesting)
Particularly where OpenBSD is concerned, where every inch of the code has been scrutinized for security holes, encouraging the use and distribution of binary-only drivers sounds like a quick way to lose the status of never having a security hole in the installation. There's got to be a hardware manufacturer that's willing to release source (though the hardware might cost a little more).
Re:Salient point: (Score:5, Insightful)
because it's doable and reasonable, and most importantly something that the vendors could agree to.
(they don't really lose anything if they allow the binary versions to be distributed along the os's, all they lose is that people won't dl the files from them directly)
Parent
Re:Salient point: (Score:3, Informative)
Re:Salient point: (Score:2)
But another reason that I've heard of is that many of these are software radios to a degree. This means that you can choose the powerlevel and frequencies and such in the firmware. Among other things this would let them change to the .11G standard
Free distribution = Free (Score:3, Interesting)
I mean, if they licensed it for free distribution, what would prevent some half-baked Chinese knock off from mass producing the wireless chipset reference design, burning the for-profit's "free" firmware, and selling for a huge profit?
Please sir, if you'd only give me the keys to the kingdom.
Re:Free distribution = Free (Score:2)
Re:Free distribution = Free (Score:2)
And this would hurt the chipset manufacturer how? The knock-off company would still have to buy the chips from them. That's why they make reference designs .. so other companies can know how to make knock-offs.
firmware are not the crown jewels (Score:5, Informative)
If you've dealt with traditional firmware it's called "firm" because it's usually written to a flash memory of some sort on the device (be it CD Burner, NIC, etc.) in this case these vendors are cheaping out on an inexpensive piece of flash memory, and instead designing the 'firmware' to be loaded by the driver, thus unless the driver loads it each time the computer is turned on, then it disappears, it is not static. As such, it makes the hardware utterly useless unless you not only have a device driver, but also this firmware binary loaded. If they had spend a few cents extra and invested in a flash chip that moved with the hardware, this wouldn't be an issue. Instead, they've turned a hardware design issue into a software problem, and if they don't allow for that firmware blob to be redistributed with software drivers (be they proprietary or otherwise) from other vendors - the hardware is useless.
Rather than making a strawman argument about this issue which you didn't take the time to fully understand despite the large amount of text and background links in the story, it would really help everyone if people would write the vendors in question and ask for them to make a minor change. No one is asking them to open their designs a la opencores.org, merely license their firmware blobs in such a way that the firmware can be shipped with other Operating systems that -already- have OSS drivers.
(Going to write and call now instead of waste more breath on slashdot responses)
Parent
Re:firmware are not the crown jewels (Score:3, Funny)
We just cannot allow you to read the article, understand it AND post an eloquent, on-topic response. Please stop this nonsense!
In all seriousness sir/madam, GREAT response!
Theo (Score:5, Interesting)
I wonder if Linus could do something similar to get ATI and NVidia to open up...
Re:Theo (Score:3, Informative)
what's with 'related links' ? (Score:4, Funny)
That's like the old Lycos at one time put in this automated advertising thing, so you search for libstdc++-devel-3.2.2-5 and it comes back with "Find bargains on libstdc++-devel-3.2.2-5 at Amazon.com!", "See what people are saying about libstdc++-devel-3.2.2-5 on movietalk.com!"
is it just me.... (Score:3, Informative)
It's like they haven't been listening to the trolls [wikipedia.org] at [hiro-tan.org] all [daemonnews.org]
--
I write stuff [livejournal.com], but not that well and not that often...
This is what I'm gonna do. (Score:5, Interesting)
Second; Sign the above mentioned petition.
Third; Only buy hardware from companies that are OSS friendly, that make good products for which they do not rely on disabling the expensive features in software.
Forth; Send a(nother) letter to the hardware company that makes the devices that you would have preferred to buy, and tell them why you didn't buy it.
Slashdot - force for harassment (Score:3, Insightful)
Its really nice that people who run slashdot themselves now encourage corporate harassment and activist measures by posting people's names and email addresses.
Whats next ? Posting email addresses of likely Presidental voters to get them to switch to Slashdot's favored candidate ?
What the hell were they thinking?! (Score:5, Funny)
"You have 1,000,000 new messages" (Score:5, Funny)
"This is an automatic reply.
I will be away from the office on business in Europe from 12n Monday 11/1 through Friday 11/5. During this time, there may be a delay responding to your email.
I wonder what his expression will be on Monday when he checks his e-mail...
Firmware is not drivers (Score:5, Informative)
In any case, these aren't programs for your computer, and it is merely a matter of convenience that they aren't sealed into the device at the factory (so you can update them without sending the device back). It doesn't make any more sense to want the source for the firmware for your NIC than it would be to ask for the source to the firmware for your microwave.
Previously, the firmware was only available from the manufacturers directly, and licensed such that you weren't supposed to redistribute it. OpenBSD people complained that making people go online to update their NIC so that it works is a bit annoying, and that they'd like to be able to get it from OpenBSD, whose CD they would be getting and who would be happy to download the firmware for them.
Re:Firmware is not drivers (Score:3, Interesting)
Of course, you get into awkward circumstances here. What if your program messes up and fails to output the file exactly as it was supposed to? Yo
Theo's rewriting history on this one. (Score:3, Interesting)