On October 18th 20 years ago the first commits to the OpenBSD project landed in the CVS repository. Today on the anniversary the beastie.pl team invites all readers to a series of interviews that our staff conducted with the project developers.
We continue with our eleventh interview - Joshua Stein.
1. For the readers who don't know you, can you shortly introduce yourself?
I am joshua stein, a software developer living in Chicago. I have a software company called Superblock that makes a mobile notification app called Pushover. I also run the lobste.rs website.
I'm on the Twitters as @jcs, and the Interwebs at https://jcs.org/
2. Why did you choose to run OpenBSD? How long have you been using it?
I started using OpenBSD in 1998 (version 2.3 or 2.4) to host a BBS that I was running. I switched from Slackware Linux to OpenBSD because of its focus on security and eventually stuck with it because of its simple design and ease of administration. The ports system was a big draw for me as well.
3. For those readers that still haven't joined the OpenBSD community, why should they try OpenBSD?
I would say just try it out and see how you like it, and don't get discouraged when things aren't exactly as they are in another operating system. Different parts of the system appeal to different users, so the reasons why I use it might be different than someone else's. The documentation available in man pages and on the website are very thorough and up-to-date, which can't be said for many other operating systems.
4. Is OpenBSD your daily driver at home & at work?
All of my work and personal servers have always run OpenBSD. Most of my laptops have run OpenBSD, although my most frequently used laptop currently dual-boots Mac OS X and OpenBSD depending on what I'm working on.
5. How did you become an OpenBSD developer? What do you think is required in order to join the OpenBSD project as a developer?
I was working at a small ISP in 2000 and had started migrating some of its servers to OpenBSD, so I became more involved in using and creating ports for software we needed. I had also started hosting the rt.fm OpenBSD mirror there since free bandwidth was available. By this time I was also using OpenBSD on a couple laptops, so I was helping to test hardware driver changes proposed by developers.
In 2001 I started the portsplus pages on the OpenBSD website, which were daily changelogs for the ports tree. Due to my work with ports and helping developers test patches, I was given an account in August 2001. I continued maintaining the portsplus pages until 2005.
As for what it takes to join the project as a developer, I would say one needs to be able to: 1) work as a team, 2) ask for help when needed, 3) not get discouraged when your proposed changes aren't correct, and 4) be comfortable eating moose.
6. Can you tell us about some OpenBSD-related areas you work on?
I think I've committed in all of the different trees at one point or another over the past 14 years. I've maintained ports, written kernel drivers (acpithinkpad, ubcmtp), and written user-land stuff (tftp-proxy for pf). I've also broken things from time to time.
7. Do you have an idea of the time you spend working on the OpenBSD project?
It varies quite a bit, and has certainly slowed down in the past few years.
I still take time every day to read every commit e-mail and mailing list post, but I may go months without committing anything. That is partly a testament to OpenBSD's quality; I usually commit fixes for things when I stumble upon something broken, so when everything works properly, I don't feel the need to change much.
8. OpenBSD tends to lead in development best practices does it work the other way around? Is there a process improvement the project started or aims to adapt from the oustide world?
I think OpenBSD's hackathons are a big part of its success (and I wish the term "hackathon" hadn't been co-opted by companies putting on these lame programming contests to take advantage of free labor).
Getting dozens of developers from around the world in a single room for a week at a time greatly speeds up the development of big ideas. As a developer, it also helps reinforce the notion that you're part of a community and you can make friends with people you might have only exchanged e-mails with once in a while.
9. It's been a long 20 years of amazing releases. What are you most proud of and what would you like to revisit/redo?
I am proud of a lot of the little fixes that I spent days or weeks tracking down because they often forced me to learn some new aspect of our kernel or a system like ACPI that I would not have otherwise known.
10. As a conclusion, can you tell us how you forecast OpenBSD's future? What's the next big challenge?
As Theo says, OpenBSD is evolutionary, not revolutionary. I don't really see any massive changes coming, but small, steady, incremental ones that just keep making the operating system better (and outside our OS, with things like OpenSSH and LibreSSL).