A recent discussion on the OpenBSD -misc mailing list focused on the project's efforts to initiate communication with Texas Instruments to try and get them to offer the firmware for one of their wireless chipsets under an open license [story]. The goal is not to get the company to open source their firmware, just to license it in such a way that it can be legally distributed with OpenBSD, an operating system that prides itself on being 100% free. TI is only one of many companies currently being approached in this recent effort [story].
In order to gain the attention of these vendors, many hundreds of letters have been sent and phone calls made to numerous contacts. The idea being to let the vendors know that there is a large concerned user base that is going to decide how they will spend their money based on the vendor's willingness to work with open source software. Already this effort has successfully initiated communication between OpenBSD creator Theo de Raadt [interview] and several wireless chip vendors, with two of them recently agreeing to offer their firmwares under a freely redistributable license. At this time, Symbol, Zydas, and Atmel have opened their firmwares so that OpenBSD can redistribute them. Intel and Conexant are discussing the possibilty. And only Texas Instruments has remained silent.
In order to better understand why OpenBSD has decided this is important, I approached Theo de Raadt with a few questions. In reply he fully explains the issue, talking about how successful this form of activism has been for OpenBSD in the past, and offering specifics on exactly what they are trying to accomplish. He summarizes, "the open source community has support for all the ethernet chipsets, all the scsi chipsets, all the raid chipsets, so why should we not have support for all the wireless chipsets?" Read on for the full interview.
Jeremy Andrews: You're currently organizing the OpenBSD user base and other open source users to contact wireless vendors and encourage them to provide their firmware with an open-source compliant license. Do any wireless vendors currently provide firmware under a compliant license?
Theo de Raadt: Early vendors used to place their firmware onto a flash memory inside the device. For instance, the original 802.11B wireless devices were the Orinoco, Prism, and Symbol devices, and they contained firmware on such a flash. You could even upgrade it, by downloading the firmware from their web sites. That firmware was not free, but it did not need to be included in the operating system. You would flash it, and reboot.
But the cost savings demanded by chip-packaging companies (Linksys, D-Link, and Corega being rather aggressive that way) eventually pushed the vendors to remove that flash. Saved them about 10 cents, maybe. Now it is uploaded by the host operating system. That firmware comes on the device driver install CD contained in the box. That firmware file is there for Windows, but we do not have the rights to put it into OpenBSD, Linux, FreeBSD, or such.
In this industry, some vendors have opened their firmware: Symbol, Zydas, and Atmel being in that list. Symbol did so in April of 2004. Zydas did so last week, followed by Atmel. To some degree Intel has their firmware semi-open since you can use a click-through license, and operating system vendors can also use a click-through contract that permits them to do so. But this is not open source.
Jeremy Andrews: Are any of these non-open firmwares currently available with other free and open source operating systems, such as Linux?
Theo de Raadt: No, these firmwares are not free. Intel for instance is trying to play in the middle zone of 'a contract lets you redistribute it in a free way'. But that's not open, free, or anything. A contract is something which binds you to some responsibility. I don't want to constrain my future work, so why should I lock myself in like that? Why would I sign something that makes me less free?
One guy at Intel claims that Mandrake Linux has "signed" this contract. In the past I might have found that fascinating, but increasingly I am not surprised because the corporate ways of Linux vendors are starting to override the Linux idealism.
Jeremy Andrews: How successful has this letter writing form of activism proven in the past?
Theo de Raadt: Well, the open source community has managed to get quite a few firmwares freed up (Adaptec, Cyclades, Intel fxp, 3com, Alteon, QLogic, Kasawaki, Cirrus Logic, ...)
Some vendors were friendly and it took very little effort. But in other cases we have had to resort to activism. An example of this was Qlogic. Their scsi and fiberchannel controllers come with firmware on flash, but it is quite buggy. Their firmware was placed on their web page much like Intel did with their wireless firmware, but it was not really free enough to ship in an operating system. Well, for a few years we did ship this code without being aware of the issue. But after a few mails to Art at Qlogic, and a threat to remove their code from our upcoming release, they decided to let us include the firmware in our operating systems.
We've done this before quite a few times, sometimes with success sometimes without. I do not believe we hurt anything, when we won it was good, when we did not the vendor never wanted to be open. People who are really interested can go search in the archives :)
Jeremy Andrews: What exactly do you hope to accomplish with the wireless vendors, and how quickly?
Theo de Raadt: Well, the four large vendors in the wireless space are currently Intel, TI, Conexant/Intersil (Prism G/Javelin) and Atheros. The first three need firmware. The Atheros does not require a firmware since it does not have a host cpu (instead: it requires a .o object blob of code that runs on the host machine, but reverse enginering for that is very nearly complete). Some other vendors entering the market now also do not require a firmware (Ralink, Realtek). In particular, these non-firmware chipsets are about to be way cheaper, and the Realtek is even fully documented. I want to use this convergence of free Atheros support plus cheap documented wireless alternatives to pressure Intel and TI into giving us redistribution rights.
Intel and Conexant are actually talking to me. I can actually discuss the pros and cons to making things open. It's good. They have some internal details to work out.
Jeremy Andrews: Why is this important to users of operating systems other than OpenBSD?
Theo de Raadt: Well, here in OpenBSD land we really care about licenses. Perhaps we were a bit ahead of the game with caring about licenses so, er, fanatically. But this will become a concern for the other open projects. I don't think anyone doubts me.
The open source community has support for all the ethernet chipsets, all the scsi chipsets, all the raid chipsets, so why should we not have support for all the wireless chipsets?
Or is wireless 802.11 networking a Microsoft-only technology?
From: Theo de Raadt [email blocked] To: misc Subject: TI Date: Mon, 01 Nov 2004 13:38:57 -0700 Hey, want to know why it is still worthwhile mailing TI? I talked to Bill Carney at TI for moment this morning. I am fairly confident that he is the right person to talk to at TI. Or, if he is not, he knows exactly who we should be talking to. He was on a conference call, and asked me to phone him back in the afternoon. Now a call to his number says that he is on a plane to Europe for the week. It says he left at 1pm. I bet that did not just come up; I think I was just lied to. I am still interested in discussing the firmware issues with him. All the other major wireless chipset vendors have opened a dialogue, so why not TI? Maybe you can find out for me. He can be contacted at: Bill Carney director of business development, [email blocked] WNBU (2004-05-06) WNBU is wireless network business unit +1 707 521 3069 Thanks.
From: Theo de Raadt [email blocked] Subject: atheros... Date: Mon, 1 Nov 2004 20:22:25 -0700 (MST) CVSROOT: /cvs Module name: src Changes by: [email blocked] 2004/11/01 19:45:37 Modified files: sys/arch/i386/conf: GENERIC sys/conf : files sys/dev/cardbus: files.cardbus sys/dev/pci : files.pci Added files: sys/dev/cardbus: if_ath_cardbus.c sys/dev/pci : if_ath_pci.c sys/dev/ic : ath.c athvar.h Log message: imported Sam Leffler's ath driver for atheros multimode wireless nics from NetBSD and FreeBSD. ok deraadt@ CVSROOT: /cvs Module name: src Changes by: [email blocked] 2004/11/01 20:01:16 Added files: sys/dev/ic : ar5xxx.c ar5xxx.h ar5210.c ar5210reg.h ar5210var.h Log message: import of a free hal part for the ath driver as a replacement for the binary-only hal module found in FreeBSD and NetBSD. OpenBSD's approach is based on reverse engineering because it is _not_ possible to include a non-free and binary-only piece of software in a 100% free operating system. it still lacks some features found in the "official" hal module but this will be done very soon with a help by a lot of contributors - because it's free. ok deraadt@