Date: 2015-10-21

On October 18th 20 years ago the first commits to the OpenBSD project landed in the CVS repository. Today on the anniversary the team invites all readers to a series of interviews that our staff conducted with the project developers.

We continue with our fourth interview - Marc Espie.

1. For the readers who don't know you, can you shortly introduce yourself?

My name is Marc Espie, I'm french, I live in Paris and I love that city. I also hold a position as researcher/teacher at LSE (Security Lab, Epita).

2. Why did you choose to run OpenBSD? How long have you been using it?

Funny story actually. It was about 20 years ago, and I didn't have any Internet access at home. I wanted to play with some Unix on my home Amiga, as I didn't have root access on the suns at University. Getting anything on my Amiga was complicated, as I had to transfer everything through floppies. Turned out OpenBSD was the only OS with sane and clear instructions. NetBSD gave you so many different choices, I couldn't figure out which one to follow, and Linux was a jungle of patches.

I've been using it ever since. It has replaced every single other Unix/Linux installation for me over the years.

3. For those readers that still haven't joined the OpenBSD community, why should they try OpenBSD?

In my mind, OpenBSD is for grown-ups. It's made by people who have graduated beyond "hey, let's turn THAT knob and go look for help on the mailing-lists to make things work". As far as possible, it Just Works. And that means you can actually concentrate on doing things.

Besides that, it's got the best set of man pages ever, so it's great to actually learn Unix.

4. Is OpenBSD your daily driver at home & at work?

Yep. I'll admit to having a Windows 7 install on my laptop, but I probably boot it once every three months, now that flash videos are more or less extinct.

5. How did you become an OpenBSD developer? What do you think is required in order to join the OpenBSD project as a developer?

Back then, the project was slightly smaller. I started interacting with the mailing-lists, and complaining that there were some flaws in the documentation. Some dude named Theo asked me privately "do you think you can do better ?" Foolishly enough, I said "yes". That's how I got my account.

Qualities ? Mostly getting the work done, and being proud of your code, be willing to learn, and to take responsibility from your mistakes.

The folks I work with in the OpenBSD project are great folks! Very smart. Can be hard to keep up, sometimes.

6. Can you tell us about some OpenBSD-related areas you work on?

Err... ways too many things. I stopped maintaining gcc, for instance, or doing any kernel work, or improving with utf8 support.

I'm still defacto maintainer of make, m4, and tsort.

I'm probably mostly known from my work on pkg_add, our ports infrastructure, and the latest baby, dpb (distributed ports builder).

7. Do you have an idea of the time you spend working on the OpenBSD project?

Varies widely along the year. I would estimate over 10 hours per week.

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 we're certainly very happy to steal work from outside if it furthers our goals. The modern gfx support for radeon and intel most certainly came from outside, even though jsg@ and kettenis@ did some tremendous work.

On a more personal front, I keep close tabs on what happens in similar projects wrt package tools and ports building. We frequently exchange information with Baptist Darroussin from FreeBSD, so that our tools end up having more or less the same features, even though we no longer share any code.

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?

The proudest thing I did was cleaning up our ports tree to the current level. In my opinion we definitely have the cleanest tree of all BSDs. Of course, that was a group effort, so I'm proud of having good work relations with my fellow ports.

Revisit/redo ?... well, more or less everything. Which is always what's happening. Every few years, you revisit former decisions and figure out better ways to do things.

I guess I'm fairly happy with the way things go. In order to make things substantially better, I would probably need to have ways more time to spend on the project.

10. As a conclusion, can you tell us how you forecast OpenBSD's future? What's the next big challenge?

The future is bright! People are just beginning to figure out that Computer Security is actually hard, and that appliances such as firewall aren't going to be enough. The biggest challenge, in general, would be to raise the standards in general development so that it looks at least vaguely secure.

I'm not kidding, we're still seeing people doing the darnedest blunders in 2015, such as making sql injections because they don't even know what an sql injection is.

So I see OpenBSD still leading the way.

In OpenBSD land, the biggest challenge is probably going to be C++11 and beyond, as more and more projects rely on it. Right now, we rely on the ports tree compiler, but there's just one point where we will need to have C++11 support in base. There are a lot of interesting steps (such as locale thread support) for that to happen. Hopefully, clang has broken enough FreeBSD/NetBSD/bitrig installations by now that we should be able to benefit from that.