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 [1]] 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.
several O'Reilly books [2], Ian has worked with UNIX since the early '80s. He first heard about OpenBSD at its inception on the NetBSD mailing lists, but it wasn't until a year later in 1996 while writing articles for Sun Expert Magazine that he came across an article that talked about OpenBSD and was compelled to look it up and get involved. Ian's background was in Sun OS 4, Berkeley Unix, and Eighth Edition, and he immediately felt at home with OpenBSD, referring to it as a "real UNIX". This is his second hackathon, during which he plans to be involved in a variety of things. He intends to bring the OpenBSD press page [3] up to date, as well as to work on a number of ports, mostly Java related. As the original author of the file command, he also plans to bring it up to date. Finally, Ian will be working on miscellaneous pieces of documentation.
ipsecadm [4] from OpenBSD, Todd is working to add IPv6 support to ipsecctl [5]. Additionally, he's working to simplify his m4-based MAKEDEV scripts which are currently too complex for others to modify. Beyond that he hopes to work on several ports.
mpt(4) [6], an LSI Fusion-MPT SCSI and FibreChannel host adapter driver with a new driver known as mpi(4) [7], short for the Message Passing Interface that the driver uses to communicate with the hardware. The old mpt driver was 10,000 lines of code, and "a complete mess". The new mpi driver is currently about 2,000 lines of code, works much faster, and picked up SAS (Serial Attached SCSI) at the same time. As of last night, IO is working on amd64, i386, and sparc64.
ipsecctl [8] as a saner replacement for ipsecadm [9]. For this hackathon, Hans' third, he is working to make ipsecctl feature complete compared to the ipsecadm command. By the end of the hackathon he hopes that ipsecctl will be able to do everything that ipsecadm was able to do, providing a complete replacement. Once this is finished, the next big effort will be on improving the documentation, planned as the primary focus of an upcoming mini-hackathon in Germany.
story [10]], a security feature for guarding return pointers that as a side effect made it difficult to debug programs. After getting GDB working with StackGhost, Theo contacted Mark to see if he was interested in doing additional work on OpenBSD, providing him a much faster Sparc machine to work on. At this hackathon, Mark's second, he's primarily focused on getting OpenBSD working on the UltraSparc III platform. In addition to working on the UltraSparc III architecture, he's also working on issues with ACPI interrupt routing.
story [11]]. More recently Uwe was enjoying the spring, spending time outside with his laptop and decided to focus on its useless SD slot. When he arrived at the hackathon, his new SD driver was able to read the card ID but could not read or write data to the device. At this hackathon, Uwe's second, he has already added a small SCSI emulation layer and committed code to allow OpenBSD the ability to read and write SD/MMC cards. He plans to continue to clean up the code and to improve performance, then he's going to look at getting the Zaurus SD host controller working.
story [12]], getting 32-bit I/O devices to see all of the 64 bit space.
Continue on to part two [13] of this series.