18 października, dwadzieścia lat temu, pierwszy commit wylądował w repozytorium CVS OpenBSD. W rocznicę tego wydarzenia zespół beastie.pl zaprosił wszystkich czytelników na cykl wywiadów przeprowadzonych przez nasz zespół z twórcami projektów.
Trzynasty Henning Brewer
18 października 20 lat temu w repozytorium CVS wylądowały pierwsze commity dotyczące projektu OpenBSD. Z okazji jubileuszu zespół beastie.pl zaprosił wszystkich czytelników na serię wywiadów, które nasi pracownicy przeprowadzili z twórcami projektu.
Kontynuujemy naszą trzynastą rozmowę – Henning Brauer.
- Czy możesz się krótko przedstawić czytelnikom, którzy Cię nie znają?
Mam na imię Henning, nie mam już wcale 20 lat, jestem programistą OpenBSD od 2002 roku. Zaprojektowałem i napisałem duże części pf, zacząłem, zaprojektowałem i napisałem duże części bgpd i ntpd. Framework imsg i privsep, który napisałem dla bgpd, znajduje się w prawie wszystkich nowszych demonach OpenBSD. Dużo pracowałem też w stosie sieciowym, uruchamiając wiele przeprojektowań. Jednym z ostatnich większych projektów, nad którym pracowałem, była wymiana podsystemu kolejkowania.
- Dlaczego zdecydowałeś się uruchomić OpenBSD? Jak długo go używasz?
Zacząłem używać OpenBSD około 2,6 lub 2,7 razy. Zasadniczo mieliśmy atak DoS na serwer WWW z systemem Linux i reakcja na niego była raczej negatywna. Mniej więcej w tym samym czasie kolega opowiadał mi o swoim bardzo pozytywnym doświadczeniu z przełączaniem swoich Nameservers na FreeBSD, więc przyjrzałem się FreeBSD i OpenBSD + NetBSD, w trakcie używania go. OpenBSD zachowywał się bardzo dobrze przeciwko powtórzonemu atakowi i ogólnie mnie bardzo zainteresował, wszystko było po prostu wykonane dobrze.
Niedługo potem mieliśmy parę zapór ogniowych OpenBSD z ipf, oczywiście z ręcznym przełączaniem awaryjnym, nic takiego jak carp nie było nawet zdalnie na radarze – w tamtych czasach schemat „spokojnego czuwania” był powszechny dla wielu rzeczy z wyższymi wymaganiami dostępności. Miałem problemy z wydajnością. Kiedy opublikowano OpenBSD 3.0 z pierwszym wcieleniem pf, wypróbowałem go od razu. Okazało się to bardzo szybkie – zarówno w czasie wykonywania, jak i podczas awarii. Podczas długiej sesji debugowania z Danielem Hartmeierem w końcu znaleźliśmy problem i naprawiliśmy go; od tego momentu używałem pf zamiast ipf i te same maszyny, które były uzależnione od procesora przez wiele godzin każdego dnia, osiągały szczyt przy około 10% obciążeniu procesora. Napisałem e-maila do misc@, podając krótkie podsumowanie historii, i otrzymałem w zamian zaproszenie na nadchodzący hackathon od Theo. Od tamtej pory nie spuszczają mnie ze smyczy :).
Szczerze mówiąc, oprócz niesamowitej wiedzy technicznej w grupie hakerów OpenBSD, jest to niesamowita paczka, z którą praca jest bardzo fajna, ale i nie tylko. Bycie częścią tej grupy to dla mnie nadal zaszczyt.
- Dla tych czytelników, którzy nadal nie dołączyli do społeczności OpenBSD, wytłumacz nam dlaczego mieliby wypróbować OpenBSD?
Cóż, tak naprawdę nie interesuję się marketingiem, ale mogę łatwo powiedzieć, dlaczego używam OpenBSD prawie wszędzie
Niezawodność.
To idzie znacznie dalej niż „nie zawieść”. Uruchamianie usług internetowych z często wysokimi wymaganiami dotyczącymi dostępności oznacza, że potrzebujesz oprogramowania, które po prostu działa przez cały czas i nie jest dla Ciebie zaskoczeniem. „Po prostu działa” zawiera tutaj bardzo ważny element: nie dać się przejąć osobom trzecim. Bezpieczeństwo jest krytyczne.
Niezawodność oznacza również, że stos oprogramowania musi być przyjazny dla użytkownika w tym sensie, aby nie zaskakiwać administratora – nie chcesz nagłych restartów, nagłej śmierci demonów zapewniających podstawowe usługi i tak dalej. Konsekwencja, jaką zapewnia OpenBSD, daje mi to, że cokolwiek robię w ramach podstawowego systemu OpenBSD, nie skutkuje żadnymi niespodziankami, ale działa dokładnie tak, jak tego oczekujesz (a drobne derywacje są naprawiane niemal od razu po ich napotkaniu). Konieczność dodania odrobiny do systemu produkcyjnego, który nie zawiedzie i brak obawy, że ten dodatek spowoduje spustoszenie, jest bardzo warty.
Mógłbym pisać i pisać, jest tak wiele, że liczę na pozytywne strony. Bardzo godne uwagi jest oczywiście bezpieczeństwo, które zapewnia OpenBSD. Nie muszę się martwić przejmowaniem maszyn, gdy piję piwo z przyjaciółmi, śpię, siedzę w samolocie, i tak dalej. Istotne podejście do ochrony w OpenBSD, a także wiele technik łagodzenia skutków, bardzo pomaga, nawet w przypadku oprogramowania innych firm, które jest czasami wątpliwe z punktu widzenia bezpieczeństwa, ale nie można od niego uciec – prawdopodobnie najlepszym przykładem jest php. Uzyskanie tego wszystkiego bez większego wpływu na wydajność jest imponujące.
- Czy OpenBSD jest Twoim codziennym kierowcą w domu i w pracy?
Tak, moja stacja robocza w pracy obsługuje OpenBSD (a nawet obsługuje moją osobistą stronę domową), tak samo jak wszystkie moje laptopy. Mam pracę do wykonania i nie chcę majstrować przy systemie operacyjnym w tym procesie, musi on po prostu sprawnie działać. OpenBSD mi to gwarantuje.
Zdecydowana większość z wielu, wielu, wielu maszyn w pracy również obsługuje OpenBSD. Fakt, że nie wymagają one ekstra opieki, ale generalnie wymagają od czasu do czasu tylko uwagi w celu aktualizacji, co robi konkretną różnicę. Oczywiście mamy w działaniu obszerny monitoring, aby nie napotkać niespodzianek, ale generalnie maszyny OpenBSD wymagają bardzo niewielkiej obsługi ręcznej.
Ale jest o wiele więcej zalet. Nawet mój mały serwer multimediów w domu obsługuje OpenBSD. Mikrokontrolery sterujące zamkami drzwi w pracy współpracują z OpenBSD, podobnie jak te sterujące światłami. Wszystkie transakcje finansowe przechodzą przez OpenBSD – działają na nim interfejsy banku. To samo dotyczy wszystkich rozliczeń, w tym generowania faktur.
Myślę, że nazwanie OpenBSD moim codziennym sterownikiem jest zupełnie właściwe.