Date: 2015-10-20

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 third interview - Vadim Zhukov.


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

I'm a 30 years old programmer/sysadmin with wide range of interests from Moscow, Russia. I'm working in IT industry for about half of my life, and last few years I'm also a freelance teacher at Moscow State University of Information Technologies, Radiotechnics and Electronics (ex. Moscow State Institute of Radio Engineering, Electronics and Automation). I have a daughter (best one in the world, of course), which was born at October, 18 - you may call this a Fate. :)

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

Somewhere around of 1998 I've tired of MS Windows which was running on my home PC (it was P-200MMX, IIRC). First thing I've tried to run was some Red Hat distro. I've tried to start using it twice, but both times I tired of bad documentation quickly. It was too unfriendly for me.

To make it clear: I didn't know anything about Unix at all. No one taught *nix neither at middle or high school at those times in Russia at all. The bundle of IBM PC-compatible hardware and Microsoft software conquered almost all minds. There was a FreeBSD gang at those times, but I simply didn't hear about them - and I was living in a capital city of biggest country!

Things changed when a journal "Hacker" appeared in my life. It was like a gulp of fresh air, I discovered a new world, full of possibilities and alternatives... At one of the issues there was a comparision of different Unix-like systems. And it talked about OpenBSD like many people say: "very secure generic purpose OS". I sat and thought: "How could I ever use software if I can't rely on it?". So I found this wonderful book, "Absolute OpenBSD", and read it all, and only then (!) downloaded my first OpenBSD CD image. This was a 3.5 i386 one, IIRC . I've carefully crafted an OpenBSD partition, put the new shiny OS on it... And such partition lived on all my personal computers since then. So I'm using it more than 10 years now.

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

Of course, I can't speak for all people around the world. Here are things the OpenBSD Project can, IMHO, give you:

  1. A big bunch of mature and mostly well-designed code. There are still dragons, but much less than in most other popular generic purpose OSes.
  2. A chance for keeping OS up-to-date without being afraid of crossing "major release" boundary.
  3. A team of people that care about giving both respect and shame when you deserve it.

IMHO (please note that I can't speak for the whole project, obviously), OpenBSD isn't only "just for fun", but it's about OpenBSD cultural wealth. If OpenBSD ideas are near your heart, then it's definitely worth a try.

I won't try to agitate everyone to use OpenBSD, the world is better when it has all kinds of colors. And that's one of the things I've actually learned when I started to use OpenBSD.

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

Yep.

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

At some point I've become familiar with system enough to start tweaking a bit or two of code. Some of patches went upstream (I'm still proud of finding and fixing small bugs in sudo(8) and mkstemp(3)), but it was just an occasional work.

First time I think the devs noticed me (I never asked about this) would be my attempt to add some deep packet inspection logic into PF. The patch itself was discarded (but the code still ran on my ex-job for a few years), but that was a nice experience.

But my main work for now was related to KDE. I've started to use OpenBSD with KDE3-based user interface. espie@ did a lot of work on porting it, but then KDE4 came. If you don't know, the KDE4 was such a major rework that almost all the porting had to be re-done from scratch. At the same time the amount of KDE packages and code started to increase quickly, so Marc couldn't keep it together with rewriting the whole Ports subsystem and package build/management tools. I was young and stupid, and had some spare time then, so I've stepped in. Not sure if I'd ever try to start such huge project as of now. :) What I've planned to finish in a half of year longed for a few. But at some point in 2011 I got core KDE4 components running. A big help here was an openbsd-wip ports set up by jasperla@, where I've requested account and did almost all the work. Now I definitely got shadowed (by espie@ at least), and at some point was I invited to the OpenBSD hackers chat, and then got an account. And I still think this is my best professional achievement. :)

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

In ports land, I work mostly on KDE- and Qt-based ports. Thank God, it's not such a dirty work like aja@, jasperla@ and others have with GNOME. :) My current worry here is KDE5 - it's just a matter of time which I don't have enough last months, unfortunately. :(

I also tweak some generic parts of port infrastructure: libtool, portcheck, portbump, .port.mk modules... I try to help others when I can - again, it's sad to state that this happens too seldom.

In base, I'm working in the 802.11 stack now. The actual work is a big WIP that I tried to present on the recent EuroBSDCon (I definitely should thank its organizers, especially Jahne Johansson, again!), but failed to prepare properly. :( Anyway, slides are at http://www.openbsd.org/papers/eurobsdcon2015-raceless-network/ and video could be found via the conference website:

https://2015.eurobsdcon.org/live-streaming/.

I also tend to step in sometimes, like it was with doas(1) recently. And, again, it's a pity that I'm so slow at hacking and have so many other activities.

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

I try to have at least one full work day per week in total. I know that OpenBSD drives me to be better, so I always try to have something done - be it a port review, patch testing or whatever. This allows to keep the hand on pulse.

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?

OpenBSD is open by definition. There are no other barriers for adapting things from the outside than bad coding practices and lack of effort. It means, the code is not something you could just drop in and run, like some "effective managers" think. The OpenBSD doesn't hunt for features, but you can always come in with something well-designed. Sometimes one or other OpenBSD developer will find some time to import (or reimplement) something useful, but that's not the thing you could rely on. If you want to make sure OpenBSD adapt more cool stuff, you'd help yourself, by donating either work or money. It's that simple, and it works really well. But keep in mind, that code needs to be maintained. Otherwise, eventually the tedu@ will come after it. :)

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 can't speak here. This question should be answered by "release managers": deraadt@, miod@, naddy@, sthen@ and others. I'm proud of working together with those people, and that's enough for me. :)

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

I'm bad at forecasts, really. For example, in the late 1990s I've said that next Russian President should come from KGB. See, I'm really bad at forecasts. :)

Anyway, I see that interest to OpenBSD is raising slowly. Big challenges, IMHO, are implementing features becoming de-facto standard in people minds: better virtualization support (hypervisor is in work already, no containers-like things, though), multicore processing (5.9 should be a huge improvement in this direction, many developers are involved here already), ARM support, better partition management (something ZFS-like), more convenient network management. Having those OpenBSD would attract more quality developers that are interested in applications built on top of those features. But it's better to see the wonderful "OpenBSD sucks" talk from henning@: slides are at http://bulabula.org/papers/2015/asiabsdcon/ , and video is also available at EuroBSDCon website.

I don't think OpenBSD should change something in the process it is itself. But, again, I'd better leave that question to people who do much better at project management than me.