Feature: c2k6, Who's Who At the 2006 OpenBSD Hackathon, Part I

Submitted by Jeremy
on May 28, 2006 - 4:04pm

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.


Alexandre Anriot
Alexandre is from Marseille, France. He got started with OpenBSD in 2002 by making a few contributions against the OpenBSD ports tree. Alexandre was first exposed to OpenBSD through work, preferring it over other operating systems due to its focus on security and functionality. At this hackathon, his first, Alexandre plans to update the ports that he currently maintains. He is then planning to introduce some new ports to the tree, such as the Prelude Hybrid Intrusion Detection System, the Bro Intrusion Detection System, and pgAdmin. Alexandre is also interested in IPsec work.

Marc Balmer
Marc lives in Basel, Switzerland. He originally chose OpenBSD due to features it offered for his enterprise customers, such as the 6 month release cycle which allows them to plan updates. He describes OpenBSD as a very clear system to develop on with tremendous documentation, "when developing on OpenBSD, you get your job done faster." Marc has had commit access to OpenBSD since 2004, maintaining a number of large ports that are critical for his enterprise customers, including PostgreSQL, Samba, and OpenLDAP. At this hackathon, Marc's second, he is primarily focused on adding GPS support for OpenNTPD for which he already added time signal station receiver support, allowing OpenNTPD to get the current time directly from hardware clocks.

Bob Beck
Bob lives in Edmonton, Canada, and got introduced to OpenBSD around 1996 when the project was first getting started. Involved in computer networking and security work he was unable to get NetBSD/Sparc working, then tried and succeeded with OpenBSD/Sparc. Theo had a note that said if you like OpenBSD you could buy him a pizza, so Bob called up the pizza place and found that they wouldn't accept a credit card from Edmonton. Bob was then compelled to phone Theo to complain, and has been involved with OpenBSD ever since. He has attended all major hackathons, and describes himself as a "jack of all trades, master of none". At this hackathon he intends to focus on some SCSI work, various userland utilities including spamd, and helping to get more than 4GB of RAM working on the AMD64 port.

Ian Darwin
Ian lives on 50 acres north of Toronto, Canada. The author of several O'Reilly books, 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 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.

Todd Fries
Todd is from Oklahoma City, Oklahoma in the US. He first became aware of OpenBSD as the project was being formed, when his friend John Stone was testing support for a new Sparc architecture developed by Theo. It was during this time that Theo and the NetBSD project split paths, and OpenBSD was forked. Several years later, one of Todd's college buddies was playing with free operating systems on his Sparc, didn't have much luck with Linux, and ultimately tried with OpenBSD. Todd was looking to get X running, but in those days there were no regular X builds. On IRC, Todd ran into "a character named Theo" from whom he obtained some old Sparc X binaries in exchange for a promise to someday build X for Sparc. Unfortunately shortly thereafter his college buddy caused himself some grief with OpenBSD through not reading instructions, ultimately losing interest in OpenBSD and reformatting his Sparc at which point Todd no longer had a way to fulfill his promise. In 1997 while working with John Stone again he gained access to some Sparc machines and finally fulfilled his promise to build X for Sparc. Since that time he's become responsible for building X for 14 different architectures. At this hackathon, Todd's fifth, he has several goals. For one, as Theo recently removed the overly complicated ipsecadm from OpenBSD, Todd is working to add IPv6 support to ipsecctl. 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.

David Gwynne
David lives in Brisbane, Australia, and started working with OpenBSD in 2000 when he needed a Unix to use at home for study on the Internet. He chose OpenBSD as its documentation is second to none. Having arrived on the 14'th, this is David's second hackathon. He is working this week to replace mpt(4), an LSI Fusion-MPT SCSI and FibreChannel host adapter driver with a new driver known as mpi(4), 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.

Matthieu Herrb
Matthieu lives in Toulouse, France, and started working with OpenBSD shortly after it was forked from NetBSD. He made the switch for various reasons, one being that he had an old SCSI card that was fully supported first in OpenBSD. His primary interest is in X. At this hackathon, Matthieu's fifth, he has two plans for X. First, he's looking to integrate the newer modular X build system that was introduced with X11R7.0. OpenBSD 3.9 shipped with the older X11R6.9 monolithic build system, as probably will OpenBSD 4.0, but Matthieu hopes to get the new modular build system working and fully merged by the time OpenBSD 4.1 is released. The other main issue that he intends to focus on is addressing the X "security hole" demonstrated by Loic Duflot at this years CanSecWest. Matthieu explained that the hole isn't new, but what is new is that someone has figured out how to exploit it. The solution Matthieu is working toward involves porting the vesafb code from NetBSD to allow X to use a bitmap console, and then to use the wsfb driver so that X doesn't need any hardware access, instead relying on the console being in graphics mode. The downside to this solution is that it doesn't provide any acceleration, but it does provide security to someone not requiring acceleration.

Hans Hoexer
Hans lives near Nuremberg in Germany. Several years ago while studying computer science he got interested in IPsec, and found that OpenBSD had the best IPsec solution around. After using it for a few years, Hans sent in some diffs to fix some bugs, and ultimately in 2003 obtained OpenBSD CVS access. Hans originally wrote ipsecctl as a saner replacement for ipsecadm. 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.

Mark Kettenis
Mark lives in Assen in the Netherlands. His first exposure to OpenBSD was toward the end of 2003 when he was hacking on GDB, trying to make it run on as many platforms as possible. GDB wouldn't run on OpenBSD/sparc due to StackGhost [story], 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.

Chris Kuethe
Chris lives in Edmonton, Canada. He started using OpenBSD as it seemed like the right solution to a lot of problems early on as a sysadmin, and it was one of the few operating systems that would run on his old Macintosh. As time went on he found things it wouldn't do, and scribbled together a few patches, getting involved in OpenBSD development. For this hackathon, Chris' second, he was involved with setting up the infrastructure that makes it all possible. During the hackathon he plans to look into some specific work related issues, helping to solve other people's problems with OpenBSD. Specifically, he's planning to work on GPS and time issues and LDAP lookups for user ids and passwords.

Ray Lai
Ray lives in New York City in the US. He first started using OpenBSD in college in 2000 when he was playing around with a lot of different operating systems. He found that most things crashed frequently, so quickly was attracted by OpenBSD's focus on correctness and security. He recently started working hard to contribute lots of patches to the OpenBSD project, getting commit access in March of this year. At this hackathon, Ray's first, he is focused on cleaning up the OpenRCS code and making it more robust to bring it up to OpenBSD standards. RCS was a source control predecessor to CVS. The OpenRCS project was started as a first step toward OpenCVS which will ultimately become a replacement for CVS, solving inherent flaws in the original CVS implementation. OpenRCS aims to be robust, fast and simple.

Chad Loder
Chad lives in California in the US. He got started with OpenBSD around 2000 when his company was in need of a good firewall. As time went by he ran into various things that didn't work the way he wanted, so he had to get involved at the code level and become a developer. At this hackathon, Chad's third, he is primarily focused on improving the lint static checker for C, trying to make it more useful. He described lint as being very stupid, which is how he wants to keep it, not interested in adding fancy new features but trying to increase the signal to noise ratio so important stuff stands out. Beyond lint, Chad is also looking into an efficient way to make line numbers show up in the mg editor's status bar, complicated by the fact that lines are stored in a link list.

Jolan Luff
Jolan lives in Chicago, Illinois in the US. He originally began using OpenBSD about 5 years ago when he needed to share a network connection at home between a couple of computers, and couldn't figure out how to do it with Linux. He installed OpenBSD and easily got things working. From there he started porting software to OpenBSD, and after a few years got commit access. At this hackathon, Jolan's third, he's focused on creating two drivers for currently unsupported USB serial devices. Beyond that, he also intends to do some ports work.

Anil Madhavapeddy
Anil lives in Cambridge, UK and began working on OpenBSD in 1998, gaining CVS commit access to the source tree in 2000. He got started with OpenBSD as nothing else worked for him at the time, contributing by working on ports that he needed. At this hackathon, Anil's third, he's working on several projects. He's bringing the OCaml port up to date. He's also fixing some bugs in the static bounds checker he added to OpenBSD's GCC in 2004, an option that automatically finds a number of common mistakes with functions such as scanf and printf. It is Anil's intention to do a full ports sweep with the static bounds checker at each hackathon, an action that has already tracked down and fixed a couple of hundred bugs. Finally, Anil is also helping to review a Google Summer of Code project to bring OpenBSD up to speed with the latest version of Xen. Working at Xen Source as his day job, Anil proposed the project excited at the potential power of combining OpenBSD and Xen.

Pedro Martelletto
Pedro lives in Rio, Brazil. He's been using OpenBSD since around 2000, and got interested in contributing in 2004. He got in touch with another active developer, and learned to start sending diffs. His particular interest is in filesystems. At this hackathon, Pedro is hoping to get a couple of other developers involved in filesystems. He explains that OpenBSD has been missing active filesystem developers for a long time, and thus is very much behind in that area. By getting more people involved he looks forward to others reading through the filesystem code, reviewing diffs, and testing.

Uwe Stuehler
Uwe is from Berlin in Germany. He first starting using OpenBSD in 2000 at a co-worker's suggestion. He got commit access toward the end of 2004 at the first Venice OpenBSD conference when he became aware of and got involved in an effort to port OpenBSD to the Zaurus [story]. 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.

Joris Vink
Joris lives in Dominica, a tropical island in the Caribbean. He originally got started with OpenBSD in about 2000 while trying to find some way to play audio on an old computer. Windows wouldn't work, Linux wouldn't work, then he found OpenBSD on which audio worked fine. The more he used OpenBSD, the more he liked it, because "stuff just works". At the current hackathon, Joris' second, he's focused on OpenCVS. He got involved with OpenCVS in 2004, contributing to the development enough to become an OpenBSD developer. The original OpenCVS effort began with implementing a client for the remote GNU CVS server. The design proved problematic and adding client commands resulted in complex code with lots of hacks. Problems with races, memory leaks, and stuff not working ultimately led to the decision about two weeks ago to completely rewrite OpenCVS from scratch, focusing first on local support. Joris hopes to have functional local OpenCVS support by the end of the hackathon.

Jason Wright
Jason lives in Chantilly, Virginia in the US. He got started with OpenBSD in 1997 when trying to find an open source operating system that worked with an old Sun 4/300. At that time the only two choices were OpenBSD and NetBSD, and neither worked. Jason went back through older code until he found a version of OpenBSD that worked, then figured out which patch had broken things and created a diff to work around the problem. In response he got an email "from this de Raadt guy" offering him a CVS account to the OpenBSD tree, "life hasn't been the same since." At this hackathon, Jason's fifth, he is focusing on getting devices working on the UltraSparc III architecture which has a more complex host bridge than other UltraSparc machines. If time permits, Jason plans to resume his amd64 work from last year's hackathon [story], getting 32-bit I/O devices to see all of the 64 bit space.

Continue on to part two of this series.

Has Theo ever looked at other projects?

Anonymous (not verified)
on
May 28, 2006 - 4:26pm

Example: The KDE Multimedia Meeting that took place this weekend. OpenBSD developers are not the only ones who sit down together for more than a couple of hours just do focus on development. Maybe it's not an entire week and maybe not fifty people but others have some sort of "Hackathon" too.

The KDE Multimedia Meeting lo

Anonymous (not verified)
on
May 28, 2006 - 5:51pm

The KDE Multimedia Meeting looks more like a conference that aims to lay out some groundwork around some big future features. Code may be written, but according to the description on kde.org the intent is to lay out a roadmap for future development.

Hackathons are about coming in with a number of bugs and features to attack, and doing not much else except code. That is, the design is pretty much done, though having everyone in the room means short "this is how we will do this now and into the future" ad hoc decisions can be made with everyone in the same time zone and face to face.

This is probably what Theo is talking about.

DebianEdu / Skolelinux has the same

Anonymous (not verified)
on
May 29, 2006 - 4:40pm

DebianEdu/Skolelinux also has something like this. They meet and do work. Most of the rest is done trough mail.

Hackathons and OpenBSD

Anonymous (not verified)
on
May 30, 2006 - 1:17pm

more on hackathon protocol and history, and OpenBSD's part in it, at Wikipedia:

http://en.wikipedia.org/wiki/Hackathon

Sprints anyone

Anonymous (not verified)
on
May 30, 2006 - 3:20pm

This is similar to sprints in the python world.

The pypy project for instance develops most of their stuff that way
http://codespeak.net/pypy/dist/pypy/doc/news.html

Great informative look into a hackathon

Leonardo Novinci (not verified)
on
May 28, 2006 - 10:27pm

I really appreciate this, it helps to knwo who works on what. I have heard that firewire development has slowed, here is hoping that progress is made there as well.

Way to go!

UltraSparc III ?!

Anonymous (not verified)
on
May 29, 2006 - 3:17am

So, with both Mark Ketenis and Jason Wright willing to work on UltraSparc III support: did Sun ended up to provide the hardware documentation, after all this time ?

Remember, http://kerneltrap.org/node/568

US3 port

Jason Wright (not verified)
on
May 31, 2006 - 3:11pm

We have Linux and FreeBSD's implementations to work with, plus a little bit of documentation (of little value). This has not been an easy port, and it's been further complicated by the lack of hardware and my "real" life getting too busy (my wife and I had our first child about 10 months ago).

henric, mwd, and kettenis have done a great job in getting the port this far, and the fact that's now self-hosting is really cool.

I'm impressed

Anonymous (not verified)
on
May 29, 2006 - 9:41pm

I haven't actually taken OpenBSD for a run myself (or looked at the code), but I might have to some day. Everytime I read something about it, I'm left impressed by a feeling that they are really striving for (and achieving) clean readable code that is as simple and straightforward as possible and good documentation.

That's gotta show in the final project. I just wish I liked the damn license.

ok, I have to ask, what is wr

Anonymous (not verified)
on
May 31, 2006 - 11:33am

ok, I have to ask, what is wrong with the license? Not restrictive enough for you?

You hit the nail on the head! : )

Anonymous (not verified)
on
June 2, 2006 - 6:38am

Yeah. I don't like how it allows others to take the code, add to it, and then close it up. I really like the power (in the use/view the source Luke sense) that open source puts in my hands, and I suspect that most companies would default to not giving anything back to the community (under the typical MBA's misguided IP paranoia) if not prodded to act otherwise (e.g., Apple/NEXT's and Objective-C).

Not only do end users (which might include me) not get access to the source with the ability to improve it and share it then, but when the company eventually goes bust or move onto whatever the next project of the day is. All that good code and hard works just disappears (e.g., OS/2). A tremendous waste that benefits nobody.

I wish people would understand that as a species, we are not that impressive individually. It's cooperation and collaboration that has got us this far. Look at all the big engineering projects. Without an entire society working behind the scene (including shared scientific advances dating back thousands of years) there is no chance in hell they could happen.

To paraphrase Newton, if we really want to go further we have to stand on each others shoulders. Right now it seems like we are instead disintegrating into a bunch of little IP spoiled brats, and the only people that is helping is the lawyers.

Meet some of the developers

Anonymous (not verified)
on
May 29, 2006 - 10:54pm

Some of the developers will be doing a talk Thursday, check http://www.cuug.ab.ca. You'll also be able to get your hands on OpenBSD CD's, T-shirts and posters.

openntpd

Anonymous (not verified)
on
May 30, 2006 - 9:03am

How close is OpenNTPd to a proper NTP implementation? (As in peer-to-peer, calculating drifts, weighting bogus replies etc.)

It's not a "proper" implement

Anonymous (not verified)
on
May 30, 2006 - 10:35am

It's not a "proper" implementation. It's meant to be ligthweight, able to run on machines where you might not want to run a "real" ntpd. You can't run a stratum 2 server with it, for instance. It does, however, keep pretty good time, uses very little in the way of resources, and is dead simple to configure.

then..

Anonymous (not verified)
on
June 1, 2006 - 3:56pm

Then why did they not call it OpenSNTPd if that's all it does? There's a whole load of SNTP daemons that are both simple and secure so I have zero need for yet another. NTPd, otoh, there's a complex beast I'd swap out any second if there only was an alternative.

OpenNTPD wasn't built for you

Anonymous (not verified)
on
June 5, 2006 - 12:56pm

OpenNTPD wasn't built for you, it was built for OpenBSD. Also they don't care if you don't want another one SNTPD deamon.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.