Deweloperzy OpenBSD: joshua stein

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.

Jedenasty joshua stein


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 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).


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

Nazywam się joshua stein i jestem deweloperem oprogramowania z Chicago. Prowadzę firmę Superblock, która produkuje mobilną aplikację do powiadomień o nazwie Pushover. Prowadzę też serwis lobste.rs.

Ponadto można mnie znaleźć na Twitterze jako @jsc oraz w sieci pod adresem https://jcs.org/.

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

Zacząłem używać OpenBSD w 1998 roku (wersji 2.3 albo 2.4), aby przenieść na niego swój BBS. Przerzuciłem się ze Slackware Linux na OpenBSD ze względu na jego nacisk na bezpieczeństwo. Ostatecznie zostałem przy nim z powodu jego prostoty, zarówno w administracji, jak i w jego architekturze. System portów był równie atrakcyjnym elementem.

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

Powiedziałbym – spróbuj i zobacz, czy ci się podoba oraz nie zniechęcaj się, jeśli rzeczy nie działają dokładnie tak samo, jak w innych systemach operacyjnych. Różne części systemu przyciągają różne osoby, więc powód, dla którego ja używam OpenBSD, może być zupełnie inny u innej, dowolnej osoby. Dokumentacja dostępna w stronach man oraz na stronie sieciowej projektu, jest aktualna i bardzo szczegółowa, wiele innych systemów operacyjnych nie może tego o sobie powiedzieć.

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

Większość moich firmowych i prywatnych serwerów stale działa pod OpenBSD. Znaczna część moich laptopów działa pod kontrolą OpenBSD, ale mój najczęściej używany laptop ma obecnie skonfigurowany dual-boot pomiędzy Mac OS X i OpenBSD w zależności od tego, nad czym obecnie pracuję.

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

Pracowałem u małego dostawcy internetu w 2000 roku, gdzie zacząłem migrować część serwerów na OpenBSD, stałem się dzięki temu bardziej zaangażowany w używanie i tworzenie portów, których potrzebowaliśmy. Zacząłem też utrzymywać mirror rt.fm dla OpenBSD, ponieważ mieliśmy dostęp do darmowego transferu. Dotąd używałem już OpenBSD na kilku laptopach, wiec pomagałem testować  proponowane przez deweloperów zmiany w sterownikach.

W 2001 roku rozpocząłem stronę portplus na oficjalnej stronie projektu OpenBSD. Był to dziennik bieżących zmian zachodzących w drzewie portów. Dzięki mojej pomocy przy portach oraz pomaganiu deweloperom z łatkami, dostałem konto w Sierpniu 2001 roku. Kontynuowałem utrzymywanie strony portplus aż do roku 2005.

Tymczasem jeśli chodzi o wymagania, które należy spełniać by móc zostać deweloperem powiedziałbym, że: 1) umieć pracować w zespole, 2) prosić o pomoc, kiedy jest ona potrzebna, 3) nie zniechęcać się, gdy proponowane przez ciebie zmiany nie są prawidłowe, oraz 4) czuć się swobodnie będąc szorstko traktowanym.

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

Myślę, że przez ostatnie 14 lat zacommitowałem zmiany w każdej części drzewa. Utrzymywałem porty, pisałem sterowniki dla kernela (acpithinkpad, ubcmtp), pisałem dla przestrzeni użytkownika (tftp-proxy dla pf). Psułem też pewne rzeczy od czasu do czasu.

7. Ile czasu zajmuje Ci praca przy projekcie OpenBSD?

Ilość czasu jaką poświęcam na projekt jest mocno zróżnicowana, w ostatnich latach bardzo się zmniejszyła.

Nadal zostawiam sobie trochę czasu każdego dnia po to, by przeczytać wszystkie automatyczne maile wysyłane na listę mailingową po każdym commicie oraz wszystkie posty na pozostałych listach mailingowych, jednak potrafią upłynąć miesiące, zanim sam coś zacommituję. To swego rodzaju świadectwo jakości OpenBSD; zwykle commituję poprawki dla rzeczy, które akurat nie działają, więc gdy wszystko działa, nie czuję potrzeby zbyt wiele zmieniać.

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?

Myślę, że hackathony organizowane przez OpenBSD są ogromną częścią jego sukcesu (bardzo bym chciał, by termin „hackathon” nie został skradziony przez wszystkie firmy organizujące marne konkursy dla programistów po to, by czerpać korzyści z ich darmowej pracy – niestety tak się nie stało).

Zebranie tuzina deweloperów z całego świata w jednym pokoju na cały tydzień drastycznie przyśpiesza pracę nad dużymi pomysłami. Samym deweloperom pozwala to również upewnić się, że są częścią społeczności oraz, że mogą zaprzyjaźnić się z ludźmi, z którymi do tej pory wymienili zaledwie kilka maili.

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

Jestem dumny ze sporej ilości drobnych poprawek, nad którymi spędziłem dni lub tygodnie po to, by je wytropić, ponieważ to one zmusiły mnie do nauczenia nowych aspektów kernela czy też podsystemów takich, jak ACPI, jakich w przeciwnym wypadku nigdy bym nie poznał.

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

Jak mawia Theo – OpenBSD, to ewolucja, nie rewolucja. Nie spodziewam się żadnych masywnych zmian w najbliższej przyszłości, a raczej drobnych, stabilnych, inkrementalnych poprawek, które będą stopniowo ulepszać cały system (oraz elementy poza systemem, takie jak OpenSSH i LibreSSL).

Skomentuj

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