"OpenBSD is free as in air," Theo de Raadt [interview] stated in a recent thread on the OpenBSD -misc mailing list. The discussion began with a note that the Open Sound System [story] had recently been "open sourced" under the GPLv2 and CDDL leading Theo to comment, "noone cares about being Open and Free anymore. They just care about being called Open and Free, and how convenient -- a bunch of laywers generated an organization that will label them Open and Free when they are not in fact so."
Later in the discussion it was asked why the OpenBSD project used the BSD license rather than simply releasing the code into the Public Domain. Theo explained, "we wish to retain the legal right to be known as the author, and not have our names taken off the files. With public domain, that stuff at the top of the file is taken away first, before anything else is done," noting that this is explained in the license at the top of each file, "just that bit; nothing else."
"ANY rule which reduces your rights is unacceptable," explained Theo de Raadt [interview] in a brief discussion on the OpenBSD -misc mailing list, "especially when the full consequences of such a set of rules may be unclear -- which it always is." The comment was in response to a query about why Intel's firmware was considered non-free. Theo went on to explain:
"Normal free software has no 'contract law' issues, because it is simply given away under 'copyright law with almost all author's rights revoked'. Contract law works differently, because it is based more on the principle of 'you got something, now you have to give something back'. The minute you see a URL like that explaining things in such a way, you should realize that the addition of 'rules' means you are in a different legal system.
"Copyright has no way to apply such rules, therefore [the Intel firmware] is not free."
Bob Beck announced the availability of OpenBSD 4.1 today:
"We are pleased to announce the official release of OpenBSD 4.1. This is our 21st release on CD-ROM (and 22nd via FTP). We remain proud of OpenBSD's record of ten years with only two remote holes in the default install. As in our previous releases, 4.1 provides significant improvements, including new features, in nearly all areas of the system".
OpenBSD 4.1 can be purchased as a 3-CD set to help support the OpenBSD project [story], or freely downloaded. Read on for Bob's detailed overview of what's new in this latest OpenBSD release.
Greg Kroah-Hartman's announcement for free Linux driver development [story] included the necesssary legal framework to honor NDAs when creating GPL'd drivers. This allowance was discussed on the OpenBSD -misc mailing list. In a public exchange with Greg KH, Stephan Rickauer said, "now these companies have a great excuse to keep specs locked up tight under NDA, while pretending to be 'open.' The OpenBSD project has made clear more than once how this will hurt Free Software in the long run. Signing NDA's ensures that Linux gets a working driver, sure, but the internals are indistinguishable from magic. It is a source code version of a blob." OpenBSD founder Theo de Raadt [interview] called the free driver effort a farce, "you are trying to make sure that maintainers of code -- ie. any random joe who wants to improve the code in the future -- has LESS ACCESS to docs later on because someone signed an NDA to write it in the first place. You are making a very big mistake."
Greg pointed the discussion to his FAQ in which the final question asks about the BSD operating systems and the answer states, "what about them? They are free to do whatever they wish, I have no input into their development at all, sorry." Greg further clarified, "well, as my goal is to have a GPL driver for everything, I don't see how this can hurt :) Now others can have different goals, and that's great and fine. I'm not saying you can't work on something if you wish to do so."
Damien Bergamini [interview] started a thread on the OpenBSD -misc mailing list in which he summarized Intel's policy toward open-source software being to "make us look like we're open-source friendly by opening a project on sourceforge," and, "give the open-source community the bare minimum so that they can serve as our beta-testers." Damien released a reverse engineered blob-free driver for an Intel wireless chipset earlier this year [story], but work is slow as Intel does not freely provide documentation to the chipset. OpenBSD's battle with Intel has been ongoing for some time [story] leading project creator Theo de Raadt [interview] to say, "before we ask a vendor, we have already lost (ie. the device does not work). When a vendor says no, we have lost nothing further -- there is no way we can lose further than having the device not work. We can only win, and then the device works. So there is no point in giving up until we win back the rights to write software for the hardware that we have purchased." As before, the goal is to get Intel to provide a freely distributable binary firmware.
Theo pointed out that when the open source community works together they can help improve the situation, "in the past, our users have shown that they can help us convince vendors to do the right thing. They have shown vendors the path towards freeing up many pieces of documentation or granting firmware distribution rights. This has helped with many vendors, most of them quite large." He explained that until Intel releases their firmware freely and without restrictions that they are not open source friendly as they claim, "by withholding, Intel is being an Open Source fraud." He went on to suggest that Intel should follow the example of other companies in the market, "Intel must do this firmware grant in the same way that Adaptec, Atmel, Broadcom, Cirrus Logic, Cyclades, QLogic, Ralink, and LSI and lots of other companies have granted distribution firmware to be used by others." He concluded by requesting that the open source community contact Intel to help get them to change their policies, "let's win back the rights to run the hardware we purchased."
Jason Wright and Mark Kettenis have spent much of their time at the c2k6 hackathon finishing up support for UltraSparc III processors on the OpenBSD/sparc64 architecture. A number of months ago Henric Jungheim put in several weeks of effort reverse engineering support for the UltraSparc III, then OpenBSD creator Theo de Raadt [interview] put more time into cleaning up the diff and comitting much of it to the source tree. Halfway through the hackathon, Jason and Mark have taken what was not-quite functional code and have it successfully booting into multi-user mode. A couple of years ago there was an unsuccessful attempt to obtain documentation for this processor from Sun [story], so this current effort has had to use the FreeBSD and Linux UltraSparc III implementations as references. Theo explained, "Sun released CPU docs, but that's useless. It is kind of like trying to fix a car engine with the owner's manual. The rest of the hardware is not documented."
Jason points out that not only does OpenBSD run on the UltraSparc III processor, but it is also "self hosting". In other words, it is possible to build an UltraSparc III kernel on an UltraSparc III, and then reboot to that new kernel. This is important, Jason explains, because GCC is very memory and CPU intensive, "it really hits a server hard". He goes on to add that for this reason all the different OpenBSD architectures are built on their own architecture, and that this policy often catches bugs that could otherwise be missed.
The 2006 OpenBSD Hackathon, c2k6, is well underway in a conference room at a hotel in downtown Calgary, Canada. The event started yesterday, May 27th, attended by nearly 50 OpenBSD developers from all over the globe. OpenBSD creator Theo de Raadt [interview] is thrilled by what is already proving to be another successful event, "I don't think anybody else does this, developers suspend their lives for a week to focus entirely on just development." Theo explains that he doesn't get much coding done himself at these hackathons, but instead focuses on ensuring beneficial communication between developers, an obvious advantage to assembling so much talent in a single room.
Walking among the cluttered tables, I've been talking with the high energy attendees of this year's hackathon, learning who's here and what they're working on. In this first installment I've talked to 18 developers from France, Switzerland, Germany, the UK, the Netherlands, Australia, Brazil, Dominica, the US, and Canada. They each talk a little about how they discovered OpenBSD and what they're working on here at the hackathon, including introducing new ports, support for SD devices, local OpenCVS functionality, improvements to OpenNTPD, improved SCSI controller support, initial support for the UltraSparc III architecture, and much more. The hackathon continues around the clock through June 2nd.
OpenBSD creator Theo de Raadt began developing OpenBSD in October of 1995. KernelTrap first spoke with Theo back in November of 2001 [interview], around the time that OpenBSD 3.0 was released, discussing much of the early history of the project. The project has continued to offer regular releases of their "free, functional & secure" operating system every six months, with OpenBSD 3.9 made available yesterday, May 1, 2006.
In this latest interview, Theo examines the past five years of OpenBSD development. He also discusses the OpenBSD 3.9 theme song, "Blob!", detailing what blobs are, why OpenBSD avoids them, and how OpenBSD developers work to reverse engineer them. Looking to the development process, Theo talks about recent and future "mini-hackathons", small and focused OpenBSD development gatherings. Finally, Theo also discusses the OpenBSD project's funding issues, and the response to requests for funding from users of the project's OpenSSH software.
Bob Beck announced the release of OpenBSD 3.9 today:
"We are pleased to announce the official release of OpenBSD 3.9. This is our 19th release on CD-ROM (and 18th via FTP). We remain proud of OpenBSD's record of eight years with only a single remote hole in the default install. As in our previous releases, 3.9 provides significant improvements, including new features, in nearly all areas of the system."
OpenBSD 3.9 can be purchased as a 3-CD set to help support the OpenBSD project [story], or freely downloaded. The theme song for the upcoming OpenBSD release is titled "Blob!", a cautionary tale about the growing prevalence of binary blobs among open source operating systems and where this might lead [story]. Read on for a detailed overview of what's new in this latest OpenBSD release.
Jonathan Gray and Damien Bergamini recently worked together to develop the nfe driver to support NVIDIA Ethernet controllers. In this interview, they talk about OpenBSD's policy to not ship binary-blobs, explaining the problems associated with drivers that use these blobs and the affect these types of drivers have on the open source community. They also detail the efforts involved in writing the nfe driver, describing why they started the project, how they were able to support undocumented hardware, and the features supported by the new driver.
OpenBSD 3.9 will be officially released on May 1, 2006 and will include the new nfe driver. The theme song for the upcoming OpenBSD release is titled "Blob!", a cautionary tale about the growing prevalence of binary blobs among open source operating systems and where this might lead.
Bob Beck is an OpenBSD developer from Edmonton in Canada. He's one of around 60 OpenBSD developers currently working in an undisclosed hotel somewhere in downtown Calgary at the 2005 OpenBSD hackathon [story]. Bob was involved in setting up the infrastructure [story], and was responsible for the annual barbecue at OpenBSD creator Theo de Raadt [interview]'s house [story]. Following these two days of effort that helped to make the hackathon possible, he finally sat down to work on spamd and catch up on email. One of the emails in his inbox caught his attention, leading to a day's effort about which he notes, "some Days end up far far far from where they start."
In the following article, Bob provides a first-person account of tracking down what began simply as a RAID performance issue, but ultimately turned out to be a problem with the idle loop that when fixed resulted in an impressive performance boost. Bob noted, "the idle loop is where the kernel spins when there is no work to do in userland, because of this, it's also where we catch and service many of our interrupts from drivers that may queue work to the device and then tsleep waiting for an interrupt from the card saying the work is done." Bob went on to explain that prior to today's fix, interrupts were handled appropriately when there was userland work happening, but not when there was nothing happening in userland and the kernel was simply waiting for device input/output. Read on for Bob's full account of the day, leading up to the discovery of the problem and the implementation of the fix, including performance numbers.
A month before the official release of OpenBSD 3.7 [forum], OpenBSD creator Theo de Raadt [interview] anounced the availability of the official release song titled, "Wizard of OS". Each release of OpenBSD has its own song with a unique sound and theme [story], each available for download in ogg and mp3 format. The Wizard of OS is ten minutes long and inspired by Pink Floyd's Dark Side of the Moon album, a playfully appropriate matchup. Theo describes the theme as relating to "something big we have been dealing with over the last 6 months of the release -- our fight to get programming documentation and redistributable firmwares [story]." He goes on to suggest:
"Want to help us? Avoid Intel Centrino, Broadcom, TI, or Connexant PrismGT chipsets. Heck, avoid buying even regular old pre-G Prism products, to send a message. If you can, buy 802.11 products using chips by Realtek, Ralink, Atmel, ADMTek, Atheros. Our manual pages attempt to explain which vendors (ie. D-Link) box which chipsets into which product."
The OpenBSD project has long been associated with security. Indeed, thanks to proactively and regularly auditing its code, the project's web site is able to boast "only one remote hole in the default install, in more than 8 years," and another page states "our aspiration is to be NUMBER ONE in the industry for security (if we are not already there)." However, security is not the only focus of OpenBSD, as reflected in the project's slogan which reads, "Free, Functional and Secure." All three of these words are strongly backed by OpenBSD developers.
If you speak with OpenBSD creator Theo de Raadt for any length of time, you will quickly realize just how important freedom is to the project. For example, freedom was the driving force behind the now ubiquitous OpenSSH, developed within the OpenBSD project. It has also lead to the development of OpenNTPD, OpenCVS, and the widely used pf Packet filter [story]. In recognition of these many contributions, Theo recently received the 2004 Free Software Award from the Free Software Foundation. The freedom that the OpenBSD team works so hard for comes without any strings, patents, or conditions, distributed under the BSD license.
Currently, the OpenBSD project is focusing on wireless networking technology, working to convince hardware manufacturers to make the firmware for their wireless cards freely distributable. It sounds simple enough, but the effort has taken much persistence and perseverance. Many of today's corporations require the signing of non-disclosure agreements and other legal red tape prior to making firmware or documentation available, requirements that don't measure up to OpenBSD's standards for freedom.
OpenBSD creator Theo de Raadt [interview] announced that Intel has refused his request to permit that the firmware for their wireless chipsets be made freely distributable. He explains, "I had asked for free terms under which we (and Linux, anyone) can redistribute the firmwares for their wireless chipsets. Without these firmware files included in OpenBSD, users must go do some click-through license at some web site to get at the files. Without those files, these devices are just bits of metal, plastic, and sand." Intel is one of several companies being approached by OpenBSD in a coordinated effort to try and free up the availability of firmware for wireless chipsets [story]. Several vendors including Symbol, Zydas, and Atmel have responded favorably, licensing their firmwares so that they can be distributed freely with OpenBSD.
As to the reason Intel refused to update their licensing, Theo explained that they referenced obligations to outside parties. Further clarification as to exactly what that means was not provided by the company. Theo went on to note that though this concludes his dealings with Intel, users are still encouraged to contact them and express their concern for this policy, "maybe they will listen to enough customers, or they will learn to not make this mistake again with future chipsets. I for one have already decided that I will never recommend an Intel product to anyone ever if there is choice. (There is almost always choice)."
Ryan McBride works full time on OpenBSD development. His first contribution was adding IPv6 support to PF, OpenBSD's stateful packet filter. More recently he was the primary developer of CARP, the Common Address Redundancy Protocol, a patent-free alternative to HSRP and VRRP.