Deweloperzy OpenBSD: Antoine Jacoutot

Osiemnastego października dwadzieścia lat temu pierwszy commit wylądował w repozytorium CVS projektu OpenBSD. W rocznicę tego wydarzenia zespół beastie.pl zaprosił wszystkich czytelników do serii wywiadów przeprowadzonych przez nasz zespół z deweloperami projektu.

Dziesiąty Antoine Jacoutot


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

We continue with our tenth interview – Antoine Jacoutot.


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

Hi. My name is Antoine Jacoutot (ajacoutot@, aka aja@). I am from and live in Paris, France. I work as a consultant and have been an OpenBSD developer since 2006.

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

I always loved „playing” with different operating systems so it was just a matter of time that I run into OpenBSD…

I first came to it because of its security reputation. „Security” is a very challenging aspect of modern IT and I was glad to find an operating system that made it its priority. I trust these guys much more than I trust myself in that regard 😉

What made me stick though was totally different. I really fell in love with the system design and simplicity. There’s a huge effort to provide applications that just work out-of-the-box (as much as possible), bundling safe and sane defaults without the need to fiddle with dozains of knobs. Everything is made to be idiot-proof and simple. Just have a look at the recent work with the auto-installer/upgrader. It’s so simple that it’s just beautiful.

I’ve been enjoying this system for a little more than 12 years now.

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

Well, for the reasons I just specified above :-) I’m not very good at advertising, so I’d just advise people to download and try it for a while. Installation takes 5 minutes. I also like the community around it. People often see it as elitist or not obviously friendly. That could not be further away from the truth. The community is very mature and as long as you are ready to do your share (i.e. RTFM), then you will find people to be very nice and ready to help. OpenBSD developers will usually help you fix things by yourself.

Also, like other BSDs, it is a complete operating system. That is, it already comes with a whole set of daemons (ntpd, httpd, bgpd, dhcpd, nsd…), a full development stack, X.org… These are being developed as part of the operating system and are not external add-on packages. So everything is consistent.

Not a lot of people are familiar with OpenBSD or they have a biased image of it. Try it, really and see for yourself…
4. Is OpenBSD your daily driver at home & at work?

At home, yes, definitely.

In my former job, it used to be. We have developed a complete IT infrastructure solution for some niche markets, solely based on OpenBSD. It was a fantastic experience stretching OpenBSD to fit into very big companies eco-system — including Desktops!

In my current job, not really… or not yet… I don’t know, I hope I’ll be able to find a way to bring it in!
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 initially became a developer because people got annoyed at me sending diffs for them to commit… It’s still a very good way to get offered an account :-) IIRC one of my first contributions was porting the Cyrus IMAP server over to OpenBSD. At the time, I was migrating an infrastructure from Linux to OpenBSD and the original Linux IMAP server was running Cyrus… so it was a good excuse to contribute.
6. Can you tell us about some OpenBSD-related areas you work on?

I have written a few programs related to infrastructure management because that’s what I do the most at my $dayjob. The first one would be sysmerge(8) which allows to automatically update configuration files after an upgrade. Then I was part of the rc.d(8) and rc.subr(8) development team, modifying our rc(1) init system to ease daemons interaction. I also wrote rcctl(8) which is feature-wise kind of the chkconfig+service tools in Red Hat. Working with automation tools, it became a requirement to be able to add/remove/modify/… services. I also did some work here and there in userland, also adding some missing library functions that ports required. The other big part of my work is in ports. I maintain a few hundreds of them, work a bit on the build infrastructure and am responsible for the GNOME Desktop with jasper@

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

It’s hard to come up with a precise number because sometimes work and OpenBSD hacking are entangled. So, a little bit out of the blue, I’d say at the very least, 15 hours per week. And I am not taking the regular hackathons into consideration. I usually do at least 2 official 1-week hackathons per year but we also meet regularly amongst French developers for a 3-days extended week-end of hacking (about 4 times per year). So yeah… not much time for other hobbies…
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?

Not sure that it fits into „best practices” but for sure ports is very good at pushing missing pieces into OpenBSD, like KMS, updated toolchain etc. In general I think we benefit from others as others benefit from us.

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?

There’s nothing obvious on my side that I would revisit nor redo. I am sure other developers may have a different answer though…
I am just proud of where we are now, especially considering the size of our development team. I am a great fan of my team-mates and I still cannot believe the chance I have to be an active member of that team :-)
10. As a conclusion, can you tell us how you forecast OpenBSD’s future? What’s the next big challenge?

Personally, there are a few related challenges that I would welcome: a more „modern” filesystem, some containerisation/virtualization system and SMP improvements.
It would be really sad if OpenBSD would end-up being only relevant in the embedded and/or network markets. It is a general-purpose operating system and I hope it’ll be able to stay that way.


1. Czy mógłbyś powiedzieć parę słów o sobie czytelnikom, którzy jeszcze Cię nie znają?

Cześć, nazywam się Antoine Jacoutot (ajacoutot@, aka aja@). Pochodzę z Paryża we Francji i tam mieszkam. Pracuję jako konsultant oraz jestem deweloperem OpenBSD od 2006 roku.

2. Dlaczego wybrałeś OpenBSD? Jak długo korzystasz z tego systemu?

Zawsze lubiłem „bawić” się innymi systemami operacyjnymi, wiec trafienie na OpenBSD było wyłącznie kwestią czasu…

To, co mnie przyciągnęło jako pierwsze, to jego reputacja. „Bezpieczeństwo” jest bardzo trudnym zagadnieniem we współczesnej informatyce, cieszyłem się więc trafiając na system, który obrał ją jako priorytet. W tym zakresie ufam tym gościom bardziej, niż sobie samemu 😉

Zostałem jednak z zupełnie innego powodu. Zakochałem się w tym, jak system został zaprojektowany oraz w jego prostocie. Ogromny wysiłek włożony został w dostarczenie aplikacji, które po prostu działają (jak to tylko możliwe), z bezpiecznymi i sensownymi ustawieniami domyślnymi oraz bez potrzeby ustawiania masy przełączników. Wszystko projektowane jest w prosty, idioto-odporny sposób. Spójrz na ostatnie prace przy auto-installatorze/aktualizatorze. Jest tak prosty, że aż piękny.

Przyjemnie mi się na nim pracuje przez ponad 12 lat.

3. Dlaczego czytelnicy, którzy jeszcze nie przyłączyli się do społeczności OpenBSD powinni tego spróbować?

Z powodów, które wymieniłem powyżej :) Nie jestem zbyt dobry w reklamie, więc doradzę jedynie, aby ludzie pobrali system i wypróbowali go przez chwilę. Instalacja zajmuje 5 minut. Lubię też społeczność powstałą dookoła systemu. Ludzie często postrzegają ją jako „elitarną” i niezbyt przyjazną. Nic bardziej mylnego. Ta społeczność jest bardzo dojrzała. Jeśli gotów jesteś wykonać swoją część roboty (np. RTFM), wtedy znajdziesz ludzi bardzo miłych i gotowych do pomocy. Deweloperzy OpenBSD z reguły pomogą tobie rozwiązać swój problem samemu.

Co więcej, tak jak w przypadku pozostałych BSD, jest to system kompletny. To znaczy, że jest dostarczany wraz z pełnym zestawem demonów (ntpd, httpd, bgpd, dhcpd, nsd…), pełnym zestawem narzędzi deweloperskich, X.org… Wszystko to jest rozwijane jako część systemu operacyjnego, nie są to zewnętrzne dodatki, czyli wszystkie te elementy są spójne.

Niewiele osób jest zaznajomionych z OpenBSD albo też większość ma o nim błędnie wyrobioną opinię. Po prostu, sam wypróbuj system.

4. Czy używasz OpenBSD jako głównego systemu w domu oraz w pracy?

W domu – zdecydowanie tak.

W poprzedniej pracy również. Utworzyliśmy kompletne rozwiązanie dla infrastruktury IT na pewnych niszowych rynkach, bazującą całkowicie na OpenBSD. To było fantastyczne przeżycie, takie dopasowywanie OpenBSD do ec-systemów bardzo dużych korporacji, wliczając w to Desktopy!

W obecnej pracy – raczej nie… a raczej jeszcze nie… Nie wiem, mam nadzieje, że znajdę sposób na wprowadzenie OpenBSD i tutaj.

5. W jaki sposób zostałeś deweloperem OpenBSD? Co – Twoim zdaniem – jest potrzebne by zostać członkiem projektu w roli dewelopera?

Pierwotnie zostałem deweloperem, ponieważ ludzie mieli już dość mojego wysyłania im łat, które musieli za mnie commitować… Jest to wciąż bardzo dobry sposób na dostanie konta :) O ile dobrze pamiętam, jednym z moich pierwszych wkładów w projekt był port serwera IMAP Cyrus dla OpenBSD. Zajmowałem się wtedy migrowaniem infrastruktury z Linuksa na OpenBSD, a IMAP na pierwotnym serwerze Linuksa to był właśnie Cyrus… więc był to dobry pretekst, by przyczynić się do projektu.

6. Czy mógłbyś powiedzieć parę słów o obszarach Twojego zaangażowania w OpenBSD?

Napisałem kilka programów związanych z zarządzaniem infrastrukturą, ponieważ właśnie tym zajmuję się w pracy. Pierwszym był sysmerge(8), który automatycznie aktualizuje pliki konfiguracyjne po aktualizacji systemu. Później byłem częścią zespołu odpowiedzialnego za rc.d(8) i rc.subr(8), modyfikując nasz system rc(1) w celu ułatwienia interakcji demonów. Napisałem ponadto rcctl(8), który jest zbliżony funkcjonalnościami do narzędzi chkconfig+service z RedHat’a. Współpraca z narzędziami do automatyzacji sprawia, że możliwość dodawania/usuwania/modyfikowania/… usług, stałą się konieczna. Poza tym wykonałem trochę pracy w przestrzeni użytkownika, dodałem kilka brakujących funkcji, wymaganych przez niektóre porty. Inną, sporą częścią mojej pracy są porty. Serwisuję kilkaset, pracuję też trochę nad infrastrukturą do budowania portów oraz wraz z jasper@ jestem odpowiedzialny za GNOME Desktop.

7. Ile czasu zajmuje Ci praca przy projekcie OpenBSD?

Ciężko podać konkretną liczbę, ponieważ praca i hackowanie OpenBSD są często ze sobą powiązane, więc tak na oko powiedziałbym przynajmniej 15 godzin tygodniowo. Nie uwzględniając regularnych hackathonów. Zwykle biorę udział w 1-tygodniowych hackathonach przynajmniej dwa razy w roku na,  ale spotykam się także regularnie z Francuskimi deweloperami na 3-dniowych, przedłużonych weekendach hackowania (około 4 razy w roku). Zatem… nie zostaje mi wiele czasu na inne hobby…

8. OpenBSD zwykle przoduje w najlepszych praktykach deweloperskich. Czy działa to również w drugą stronę? Czy istnieją nowe praktyki, które projekt właśnie rozpoczął lub planuje zaadaptować z innych zewnętrznych projektów?

Nie wiem, czy pasuje to do „najlepszych praktyk”, ale porty są naprawdę dobre we wprowadzaniu brakujących elementów w OpenBSD, jak KMS, zaktualizowany zestaw narzędzi itd. Myślę, że my korzystamy z pracy innych tak samo, jak inni z naszej.

9. To już długie 20 lat wspaniałych wydań. Z czego jesteś najbardziej dumny oraz do czego chciałbyś ponownie zajrzeć/zrobić inaczej?

Nie widzę nic szczególnego, do czego chciałbym powrócić lub zrobić to inaczej. Myślę natomiast, że inni deweloperzy mogą podać inne odpowiedzi na to pytanie…

Jestem dumny z punktu, w którym obecnie się znajdujemy, zwłaszcza gdy uwzględnimy rozmiar naszego zespołu deweloperów. Jestem wielkim fanem swoich kolegów z zespołu i nadal nie wierzę, że otrzymałem szansę stać się jego aktywnym członkiem.

10. W ramach podsumowania, jak kreślisz przyszłość dla OpenBSD? Co jest kolejnym największym wyzwaniem?

Osobiście znalazłbym kilka problemów, których rozwiązanie byłoby mile widziane: bardziej „współczesny” system plików, jakieś rozwiązanie konteneryzacji/wirtualizacji systemu, czy ulepszenia w SMP.

Bardzo smutna byłaby sytuacja, w której OpenBSD pozostałby istotny tylko dla rynków embedded i/lub sieci. To system operacyjny generalnego przeznaczenia i mam nadzieje, że takim pozostanie.

Jeden komentarz do “Deweloperzy OpenBSD: Antoine Jacoutot

  1. No tak, lepszy system plików by się przydał. I coś co by zastąpiło ręczne „fsck” po niespodziewanym resecie. Irytująca jest sytuacja gdy system nie wstaje z powodu nieprawidłowego zamknięcia.

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *