GNU Project and Free Software Foundation founder Richard Stallman posted a message on the OpenBSD -misc mailing list titled, "real men don't attack straw men", suggesting that some comments he had made were being misrepresented. He noted, "one question particularly relevant for this list is why I don't recommend OpenBSD. It is not about what the system allows. (Any general purpose system allows doing anything at all.) It is about what the system suggests to the user." He went on to note that though he knew of no non-free software included in the base OpenBSD system, there was non-free software distributed via the ports collection, "if a collection of software contains (or suggests installation of) some non-free program, I do not recommend it."
In the email, RMS added that he was unsure whether or not OpenBSD includes any non-free firmware blobs. It was pointed out that OpenBSD is known for being explicity focused on not shipping blobs. As for binary firmware, Reyk Floeter explained, "there is a major difference between binary blobs and firmware images; the blobs are loaded as code into the OS kernel, but the firmware runs directly on the device on crappy embedded micro CPUs." Reyk is the author of the reverse engineered ar5k HAL OpenBSD uses to support the Atheros wireless chipset, which was recently adopted by the Linux-based MadWifi project in their ath5k driver. Reyk added, "I'm clearly against binary blobs in the kernel, and in contrast to most of the GNU/Linux dudes I _did_ some against it by writing ar5k, instead of pointing into the wrong direction. This open firmware discussion is just a joke to make the relevant discussion, binary blobs in the OS kernel, irrelevant." Marco Peereboom added, "OpenBSD is by far the most free OS in the landscape. Everything that ships with it is free or else it won't be distributed with it. There is not a single open source OS out there that is more careful than OpenBSD on licensing, copyrights and frivolous patents."
"People who had problems with unsupported Atheros devices (single chip variants found in recent laptops, macbooks, etc.) should get the latest code from CVS and test it..." OpenBSD Reyk Floeter announced regarding recent improvements to his reverse engineered HAL adding support for 11b mode. He noted that the new code wasn't without fault yet, adding, "hacked and tested in the Melbourne Museum during the AUUG 2007..." Reyk explained the changes in his commit message:
"The newer single chip Atheros wireless chipsets like the AR5424, AR2423 etc. are mostly compatible to the AR5212 but use a different algorithm to set the 2GHz RF channel, that's why they didn't work in OpenBSD. I figured out that the channels were set with an offset, setting channel 11 in the driver caused the hardware to set channel 5 etc. Because I didn't figure out the pattern to fix the algoritm yet, I fixed it in a workaroundish way by defining a small 'table' with offsets for the 11b channels to get the right results. For example, if we want to set channel 11 (2462MHz), we add an offset of -30MHz, and feed the result (2432MHz ^= channel 5) into the unmodified AR5212/AR5112 RF setup function.
"Long description for a commit message, but it needed some time to figure it out. It is still not perfect, needs some more work, and it doesn't work in all cases; but it allows to use newer chipsets in 11b mode restricted to 1 or to 2Mbit/s. 11a mode seems to work without problems so far."
"We, the MadWifi team, announce our decision to move away from the binary-only HAL and change the focus of our future development towards ath5k, a completely free (as in freedom) driver which will eventually become an integral part of the Linux kernel," Michael Renzmann posted to the MadWifi development mailing list. The decision comes during continued debate surrounding what is and what is not allowed by the BSD license, and with no official statement yet from the SFLC. Much of the debate was due to an attempt to release BSD licensed files under the GPL, visible for example in the ath5k_hw.c source file which is still labeled as available "under the terms of the GNU General Public License" in the latest version of the file checked into the source repository linked from the MadWifi project page. It appears that actual development of the ath5k driver has been moved to Linville's git tree, where the license is now purely BSD, though debate remains as to what's required to be able to add additional copyrights to source code as have been added to the reverse engineered HAL code originally written by Reyk Floeter. In an earlier confrontation with Atheros, the work done by Reyk was determined to be free of copyright infringement:
"A driver for Atheros wireless cards is available in OpenBSD that talks directly to the hardware, based on reverse engineering efforts done by Reyk Floeter. Relevant parts of the driver have been ported to Linux by Nick Kossifidis to start OpenHAL, a free (as in freedom) replacement of the proprietary HAL. Claims that the OpenBSD driver (and thus also OpenHAL) contains stolen code slowed down the OpenHAL efforts but finally could be voided. The Software Freedom Law Center (SFLC), with the help of Atheros, performed a thorough code review and concluded "that OpenHAL does not infringe copyrights held by Atheros". In other words, the way is clear now for the inclusion of an OpenHAL-based driver into the Linux kernel."
OpenBSD creator Theo de Raadt highlighted a recent commit to the NetBSD source tree saying, "if anyone had any doubt that our insistence on freedom was important, just read this." The referenced commit message describes an effort to work around issues with a blob that is included with NetBSD, something strongly avoided by the OpenBSD project. The commit message states:
"The Atheros HAL on MIPS uses %s7 as a general purpose register, but the rest of the kernel uses it to store the value of curlwp. Sam won't recompile the HAL for us (fair enough), and we can't modify the HAL to use another register because doing so could put us in breach of the license (v. crappy). So, do a save/set/restore on %s7 in KernIntr() and in the stubs that the HAL uses to call back into the kernel.
"Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files."