Deweloperzy NetBSD-7.0: Pierre Pronchery

Pierre Pronchery jest francuskim deweloperem mieszkającym w Niemczech, swoje pierwsze kroki jako deweloper NetBSD stawiał już kilka lat temu, a w 2013 r. powołał do życia projekt EdgeBSD.

Pierre Pronchery is a French developer living in Germany. His first steps as a NetBSD developer were a few years ago. In 2013 he founded the new project EdgeBSD.


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

Sure: a European citizen living in Germany, in my early thirties, I am passionate about Computer Science and Open Source in particular, with a strong interest in Operating System design and security; both of which I gladly exercise during freelance assignments as a consultant, or among my other few hobbies.

2. Why did you choose to run NetBSD? How long have you been using it? What are your ports (hardware platforms)?

It is a funny story, really. A good friend gave me my first Linux install discs back in 1999 (RedHat 5.2 and Debian 2.0 FWIW) and it was an experience which I quickly completed in different contexts with some FreeBSD, OpenBSD and Solaris uptime.

So by the time I joined a sysadmin course in 2005, I was already very comfortable with UNIX, and my teacher considered it would give my group of like-minded students a harder time to have to use NetBSD instead of Linux like the others. Needless to say, I got hooked :)

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

In my perception NetBSD is as close as can be to the original UNIX philosophy: get together a number of tools that each do one simple task, and do it well. There is very particular care in the implementation of the system for consistency and clean design. This makes it a fantastic platform to study and understand the system.

4. In your professional environment, do you work with NetBSD?

My own computers run NetBSD, which has served me well so far for both research, auditing, and reporting. My situation is quite particular though, because I am also often restricted to the system my customers provide me on site – and so far none of them have been running NetBSD (that I could tell). Reading the user manual of my VoIP soft-phone, I learned that it runs NetBSD – so all my professional phone calls are issued with NetBSD.

More seriously now, my current assignment requires a mix of development, sysadmin, and setting up production and development environments for a mid-size team; in some very specific cases it turned out that NetBSD was actually a better solution and was therefore deployed.

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

The typical way to enter the NetBSD project is as follows:

  • submit patches and improvements regularly;
  • use the feedback to progressively improve their quality and get them
    good enough for direct integration;
  • someone in the project will grow tired of acting as your proxy
    eventually, look for mentors, ask for objections and send an invitation.

In my case it was a mix of fixes for hardware support, backports of a few drivers from OpenBSD and integration work for an x86-based tablet. But the most important aspect was probably to join the community both online (via IRC and mailing lists) and personally by going to conferences and hackathons.

The latter made it much easier to get acquainted with existing developers and let them authenticate my PGP/GPG key – which is the only actual requirement, together with adhering to the NetBSD Foundation, a US-based nonprofit organization.

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

I put myself in the shoes of a NetBSD vendor when starting the EdgeBSD project a couple of years ago. It started as an experiment to work on NetBSD using Git instead of CVS, to facilitate collaborative review and integration in particular. The current direction involves a complete overhaul of the release process and focuses on delivering a stable distribution to the user:

  • rolling release for the base system,
  • long-term security support for packages,
  • improved security for the distribution process and the system itself,
  • reproducible audit trail,
  • convenient update path.

If you ask me, I would rather work on Clean-Slate Internet (with NetBSD as a base system) and pursue my research project on seamless ubiquitous personal computing (DeforaOS), but I need a system that I can reasonably rely on this day and in this age in the first place. It is a hostile world out there and NetBSD has some means to defend itself already – but most are still not enabled by default for some reason.

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

Yes: no matter what, I always try to spend one hour on any of my Open Source projects every day. In practice, I would say that I spend somewhere between 5 to 10 hours on either DeforaOS or EdgeBSD/NetBSD per week – with both projects completing one another.

8. Please tell us about the strongest points and features of the 7.0 release.

The first thing that comes to my mind is riastradh@’s work on supporting modern graphics cards. NetBSD was lagging behind on hardware support and the gap is closing now.

Everything around the rump kernel is also fantastic research in Operating System design, and this release marks another step forward. It is a great example of achieving more by removing code and through simplification. I really need to spend time on this project.

9. Please tell us about some improvements for the NetBSD project that are worth picking up for newcomers?

The pkgsrc project, definitely: it is more and more complete, offering a very extensive list of polished packages for the system. There is a lot of work on desktop support, showing progress with XFCE in particular but also GNOME, MATE, KDE and the usual environments. This project is catching up too with some of the releases upstream – in spite of the madness we have seen recently around systemd, both politically and technically. This is refreshing, and is critical to help newcomers get started.

10. As a conclusion, can you tell us how you forecast NetBSD future?

To be honest, I have mixed feelings. The reasons leading me to start EdgeBSD are still there. I see NetBSD suffering from a lack of leadership, both politically and technically. The project has survived very well without it so far and still cares at least as much for quality as it did before.

It is still a great research platform, but the shadow of suboptimal usability and irrelevance for daily use on modern hardware is not far behind. Given the amount of work and dedication to the project from its growing community, I have good hope that we can keep it out of this niche. And even if not, it may still be a perfectly acceptable direction for the project. I just want to run NetBSD everywhere :)


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

Pewnie: Trzydziestoparoletni obywatel Europy, mieszkający w Niemczech, pasjonuję się informatyką a w szczególności Otwartym Oprogramowaniem z naciskiem na projektowanie i bezpieczeństwo systemów operacyjnych; obydwa zagadnienia aktywnie praktykuję wykonując pracę jako konsultant oraz w ramach jednego z moich paru hobby.

2. Dlaczego wybrałeś NetBSD? Jak długo korzystasz z tego systemu? Z którymi portami (platformami sprzętowymi) masz do czynienia?

To naprawdę śmieszna historia. Dobry przyjaciel dał mi mój pierwszy zestaw płyt instalacyjnych Linuksa w 1999 roku (RedHat 5.2 oraz Debian 2.0 jeśli kogoś to interesuje) i było to doświadczenie, które wkrótce zakończyłem w zupełnie innym kontekście z FreeBSD, OpenBSD i Solarisem.

Zatem, do momentu w którym dołączyłem do kursu dla administratorów w 2005 r., już byłem dość obeznany z systemem UNIX, a nasz nauczyciel stwierdził, że sprawi naszej grupie podobnie myślących kursantów trochę więcej kłopotu zmuszając nas do używania NetBSD zamiast Linuksa, którego używają inne grupy. Nie muszę chyba mówić, że złapałem bakcyla :)

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

Z mojej perspektywy NetBSD jest najbliżej jak się da oryginalnej filozofii systemu UNIX: zbierz zestaw narzędzi, które wykonują tylko jedno proste zadanie i wykonują je dobrze. Bardzo dużo uwagi przywiązuje się do spójności i czystości projektu systemu. W ten sposób powstaje fantastyczna platforma do studiowania i zrozumienia systemu.

4. Czy w swoim środowisku zawodowym masz do czynienia z NetBSD?

Moje własne komputery pracują na NetBSD, które dotąd dobrze mi służą zarówno w badaniach naukowych, audytach oraz raportowaniu. Moja sytuacja jest jednak dość specyficzna, ponieważ często jestem ograniczony do systemu dostarczonego przez moich klientów w miejscu pracy – jak dotąd żaden z nich nie używał NetBSD (w sposób widoczny dla mnie). Czytając instrukcję mojego telefonu VoIP, dowiedziałem się, że jego systemem operacyjnym jest NetBSD – zatem wszystkie moje służbowe rozmowy są obsługiwane przez NetBSD.

Tak bardziej na poważnie, moje obecne zadanie wymaga rozwoju, administracji i konfiguracji środowisk produkcyjnych i deweloperskich dla średniego rozmiaru zespołu; w niektórych bardzo specyficznych przypadkach NetBSD okazywało się faktycznie najlepszym rozwiązaniem, zatem zostawało wdrażane.

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

Typowa droga do projektu NetBSD jest następująca:

  • wysyłaj regularnie łatki i ulepszenia;
  • ucz się na podstawie otrzymywanych odpowiedzi w celu doskonalenia jakości swojej pracy na tyle, by mogła być bezpośrednio integrowana z projektem;
  • ktoś w projekcie znudzi się rolą pośrednika dla twoich zmian, poszuka mentora, zapyta o zastrzeżenia, a następnie wyśle zaproszenie.

W moim przypadku była to mieszkanka poprawek dla wsparcia sprzętu, backportowania sterowników z OpenBSD i praca integracyjna dla tabletu opartego na platformie x86. Jednak prawdopodobnie najważniejszym aspektem było dołączenie do społeczności zarówno online (przez IRC i listy mailingowe) jak i osobiście poprzez uczestniczenie w konferencjach i hackathonach.

Uczestniczenie w konferencjach i hackathonach znacznie ułatwiło zapoznanie się z obecnymi deweloperami oraz umożliwiło im podpisanie mojego klucza PGP/GPG – co jest jedynym faktycznym wymaganiem wraz z dołączeniem do fundacji NetBSD, która jest organizacją nonprofit mającą siedzibę w USA.

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

Znalazłem się w sytuacji producenta oferującego NetBSD w momencie rozpoczęcia projektu EdgeBSD kilka lat temu. Początkowo był to eksperyment polegający na pracy z NetBSD przy użyciu Git zamiast CVS, by ułatwić w szczególności wspólne przeglądy kodu i jego integrację. Obecny kierunek to kompletne przerobienie procesu produkcji wydań systemu, skupia się to na dostarczaniu do użytkownika dystrybucji:

  • rolling release (aktualizowanej na bieżąco) dla systemu bazowego,
  • z długoterminowym dostarczaniem łat bezpieczeństwa dla paczek,
  • zwiększonym bezpieczeństwie dla procesu tworzenia dystrybucji i systemu samego w sobie,
  • powtarzalnej ścieżce audytowej,
  • wygodnej ścieżce aktualizacji.

Jeżeli o mnie chodzi, to wolałbym pracować nad  projektowaniem internetu od zera (z NetBSD jako bazowym systemem) i dążyć w pracy badawczej do bezbłędnego wszechobecnego komputera osobistego (DeforaOS), ale przede wszystkim potrzebuję systemu, na którym mogę polegać już teraz, w dzisiejszych czasach. Świat jest nieprzyjazny, a NetBSD już teraz posiada odpowiednie środki by się bronić – jednak większość jest wciąż domyślnie wyłączona z jakiegoś powodu.

7. Czy wiesz ile czasu zajmuje Ci praca w projekcie NetBSD?

Tak: niezależnie od wszystkiego, zawsze staram się spędzić przynajmniej godzinę nad dowolnym z moich projektów Open Source każdego dnia. W praktyce, powiedziałbym, że spędzam pomiędzy 5 a 10 godzin nad projektami DeforaOS oraz EdgeBSD/NetBSD w tygodniu – gdzie oba te projekty uzupełniają siebie nawzajem.

8. Proszę przybliż nam najmocniejsze punkty i cechy charakterystyczne najbliższego wydania NetBSD-7.0.

Pierwszą rzeczą, jaka przychodzi na myśl to praca wykonana przez riastradh@’a, dotycząca wsparcia współczesnych kart graficznych. NetBSD było odrobinę w tyle jeżeli chodzi o wsparcie tego typu sprzętu, obecnie ta luka jest domykana.

Wszystko dotyczące rump kerneli jest również fantastycznym obszarem badawczym w rozwoju systemów operacyjnych, to wydanie jest kolejnym kamieniem milowym. Jest to świetny przykład nowych osiągnięć poprzez usuwanie kodu oraz jego uproszczenie. Naprawdę muszę spędzić więcej czasu nad tym projektem.

9. Proszę przybliż nam również obszary systemu NetBSD, które uznajesz za wartościowe do ulepszenia dla nowych deweloperów?

Zdecydowanie projekt pkgsrc: jest coraz bardziej kompletny i oferuje długą listę doszlifowanych paczek dla systemu. Wykonujemy sporo pracy dotyczącej wsparcia na desktopie, w szczególności pokazującej postępy z XFCE ale również z GNOME, MATE, KDE i typowymi środowiskami. Projekt powoli dogania wydania oferowane przez upstream – pomimo szaleństwa ostatnio spowodowanego przez systemd, zarówno politycznego jak i technicznego. To jest krytyczny element, który pomaga nowym osobom rozpocząć pracę z systemem.

10. W ramach podsumowania, jaką kreślisz przyszłość dla NetBSD?

Szczerze mówiąc, mam mieszane uczucia. Przyczyny, z powodu których rozpocząłem projekt EdgeBSD nadal są obecne. Widzę, że NetBSD cierpi z powodu braku przywództwa zarówno politycznego jak i technicznego. Projekt poradził sobie bez niego dotychczas bardzo dobrze i nadal dba o jakość jak w ubiegłych latach.

Nadal jest to świetna platforma badawcza ale cień pozostawiającej wiele do życzenia wydajności i braku znaczenia na nowoczesnym sprzęcie jest tuż tuż. Biorąc jednak pod uwagę zaangażowanie w projekt rosnącej społeczności użytkowników – mam wielką nadzieję, że projektowi uda się wyjść ze swojej niszy. A nawet jeżeli nie, możliwe iż jest to nadal doskonale akceptowalny kierunek dla projektu. Ja po prostu chcę pracować na NetBSD wszędzie. :)



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