Wywiad z Dustinem Kirklandem, deweloperem Ubuntu


Dustin– Kim jesteś? Gdzie mieszkasz? Czym się zajmujesz?

Nazywam się Dustin Kirkland, mieszkam w Austin, w Teksasie i jestem deweloperem w Zespole ds. Ubuntu Server w firmie Canonical. Więcej o mojej pracy w przeszłości, obecnie i w przyszłości możesz przeczytać na:

– Gdzie pracowałeś przed rozpoczęciem pracy dla Canonical? Co sprawiło, że zająłeś się Linuksem?

Przed Canonical pracowałem w IBM, na różnych stanowiskach, wliczając w to Tivoli (Grupa Oprogramowania), Global Technical Services (Grupa Usług) i w Linux Technology Center (Grupa Sprzęt/Systemy)

Zacząłem używać Linuksa jako serwera kiedy byłem na drugim roku studiów w 1998. Wykupiłem swoje pierwsze konto hostingowe, które zawierało konto shellowe i działało na Red Hat 5.2. W mniej więcej tym samym czasie kupiłem książkę o programowaniu (chyba PHP) która zawierała wkładkę z dystrybucją Red Hat, którą to zainstalowałem na lokalnym systemie, aby się więcej nauczyć. Kiedy rozpocząłem staż w IBM Tivoli latem 2000, szef mojego zespołu dostarczył mi maszynę deweloperską, z zainstalowanym Red Hatem 6.2, i sądził, że zrobił mi dobry kawał. Był nieźle zaskoczony, kiedy dowiedział się, że byłem już wtedy użytkownikiem Linuksa.

Całkowicie pozbyłem się Windowsa latem 2001 roku i nigdy do niego nie wróciłem. Wykorzystałem pierwszą okazję aby przenieść się z grupy Tivoli do IBM Linux Technology Center w marcu 2003 i pracowałem przez kilka lat na bezpieczeństwem w Linuksie. To była dla mnie kluczowa zmiana — z użytkownika stałem się deweloperem Linuksa. Sporo pracowałem nad RHEL i SLES, używając na co dzień Fedory.

Większość 2005 roku spędziłem jako pracownik IBM oddelegowany do Red Hat, w Westford, Massachusetts, pomagając przy problemach z IBM POWER w RHEL i zapoznając się z procesem rozwoju Fedory. To był naprawdę wspaniały okres. Poznałem i pracowałem z naprawdę świetnymi ludźmi w społeczności Red Hat i odkryłem pasję do pracy z Linuksem na poziomie dystrybucji.

W 2006 roku moja żona dostała pracę jako nauczyciel i kiedy pomagałem jej przeprowadzić się do jej pracowni, zauważyłem w kącie parę nieużywanych Maców G3. Pracownicy IT w jej szkole już dawno dali sobie z nimi spokój, instalacja MacOS9 była uszkodzona a marne 256MB RAMu sprawiało, że komputery były bezużyteczne. Czytałem wcześniej o Edubuntu i postanowiłem spróbować tej dystrybucji. Byłem naprawdę pod wrażeniem interfejsu i doskonałej dokumentacji, jednocześnie raportując i naprawiając kilka błędów odkryłem Launchpad. Uczniowie mojej żony uwielbiali gry a dzięki Edubuntu byliśmy w stanie tchnąć ponownie życie w porzucone Maki. Natychmiast stałem się użytkownikiem Ubuntu i przeniosłem wszystkie swoje komputery oraz MythTV na Ubuntu.

Po krótkiej pracy w IBM Global Technical Services zdecydowałem spełnić swoje marzenia i ponownie pracować nad Linuksem na poziomie dystrybucji. Szczęśliwie pojawiła się możliwość pracy w Zespole ds. Ubuntu Server w Canonical.

– Jakie wyzwania pojawiają się w projekcie, w którym wszyscy pracują zdalnie?

Komunikacja. Absolutnie niezbędne i krytyczne jest wypracowanie osobistych relacji z ludźmi, z którymi pracujesz. Na szczęście Canonical to rozumie i mamy okazje wspólnie się spotykać kilka razy w roku na Konferencjach Deweloperów (UDS) i sprintach programistycznych. W IBM pracowałem z wieloma ludźmi na całym świecie, niestety nigdy nie miałem okazji spotkać większości z nich. Naprawdę ciężko jest domyślić się, czy ktoś żartuje czy mówi serio kiedy nigdy nie miałeś okazji zobaczyć się i porozmawiać osobiście. Emotikony niosą o wiele większe znaczenie kiedy można je przypisać do mimiki danej osoby. “LoL” znaczy o wiele więcej, kiedy wiesz jak brzmi czyjś głośny śmiech.

– Jaka była motywacja do powstania projektu repozytorium stron man Ubuntu? Czy ktokolwiek rozszerza jego funkcjonalność lub zastosowanie?

Motywacją była chęć rozwinięcia mojego projektu wszechstronnej wyszukiwarki Dokumentacji Technicznej Ubuntu:

Ta wyszukiwarka w zamierzeniu ma wyczerpująco indeksować następujące obszary Ubuntu:

  • oficjalna dokumentacja
  • dokumentacja Wiki
  • strony man
  • projekty w Launchpad
  • odpowiedzi Launchpad
  • fora Ubuntu
  • listy dystrybucyjne Ubuntu
  • logi sesji IRC
  • pakiety w Ubuntu
  • źródła na licencjach Open Source
  • dzienniki zmian

Z wszystkich elementów tej listy ewidentnie brakowało repozytorium stron man. Istniały podobne repozytoria dla Debiana i Red Hata, brakowało natomiast Ubuntu. Pomyślałem, że ważne jest stworzyć takie repozytorium:

Kilku członków społeczności stworzyło naprawdę fajnego bota ircowego! Napisałem o nim tutaj:

– Jedną z poważniejszych nowych funkcji w Ubuntu 8.10 są prywatne szyfrowane katalogi. Na czym ta funkcja polega i czym różni się od na przykład TrueCrypta?

Ubuntu wspiera szyfrowanie całych dysków na wolumenach LVM. To naprawdę wszechstronne i używam tego na swoim laptopie. Niestety to podejście ma kilka wad. Po pierwsze, do odszyfrowania dysku i uruchomienia komputera konieczne jest hasło. Jest to nie do zaakceptowania na serwerach, które powinny się uruchamiać nienadzorowane. Dodatkowo tak naprawdę nie da się wykonywać zapasowych kopi przyrostowych zaszyfrowanych danych do zdalnych lokalizacji. Oprócz tego może wystąpić pogorszenie wydajności i zajętości pamięci podczas szyfrowania absolutnie wszystkiego w systemie (kto się przejmuje, że można odczytać zawartość /usr/bin czy /lib?). I na koniec, jeden klucz jest używany dla całego systemu.

Powodem mojej pracy nad prywatnymi szyfrowanymi folderami, była chęć dostarczenia każdemu użytkownikowi bezpiecznej lokalizacji do przechowywania najbardziej wrażliwych danych. W Intrepid Ibex, jeśli wybierzesz prywatne szyfrowane foldery (see: http://manpages.ubuntu.com/manpages/intrepid/en/man1/ecryptfs-setup-private.html), zobaczysz dwa foldery… /.Private będzie zawierał zaszyfrowane dane, które są zapisywane na dysk, a /Private jest punktem montowanie ustanawianym w momencie zalogowania do systemu. Przy użyciu hasła logowania, odszyfrowywane jest dodatkowe hasło montowania i używane następnie do zamontowania /.Private w /Private. Jak tylko folder zostanie zamontowany, możesz w przezroczysty sposób zapisywać i odczytywać dane z /Private, a jądro w locie zajmuje się szyfrowaniem i odszyfrowywaniem danych. Jeśli chcesz wykonać przyrostową kopię możesz po prostu zrobić rsync katalogu /.Private do niezaufanej, zdalnej lokalizacji.

Istnieje wiele innych implementacji szyfrowania plików i systemów plików, każda posiada swoje wady i zalety. Uważam, że eCryptfs posiada pewne zalety, ponieważ jest systemem plików nadbudowanym w jądrze Linuksa, używającym algorytmów szyfrowania obecnych w jądrze. To teoretycznie może powodować pewną przewagę w wydajności z punktu widzenia przełączania kontekstów. Dodatkowo, ponieważ zaszyfrowane dane są w rzeczywistości przechowywane w systemie plików znajdującym się pod spodem, nie musisz się martwić o wcześniejszą alokację miejsca pod /Private — masz tyle dostępnego miejsca, ile zawiera spodni system plików.

eCryptfs jest bardzo aktywnym projektem, i niedługo pojawi się kilka nowych funkcji. Pracujemy na szyfrowaniem nazw plików i integracją z systemami typu Mandatory Access Control, takim jak SELinux i AppArmor.

Nie jestem za bardzo zainteresowany debatowaniem nad przewagami eCryptfs nad innymi rozwiązaniami kryptograficznymi dla systemów plików. Jednocześnie zachęcam autorów innych projektów do pracy nad automatycznym montowaniem/odmontowywaniem /Private i korzystaniem z mojej pracy w eCryptfs, i jestem pewien, że wszyscy użytkownicy Ubuntu zyskają mając możliwość wyboru szyfrowanego systemu plików dla /Private.

– Co Ubuntu Server musi zrobić, aby wykonać kolejny wielki krok? I co będzie tym wielkim krokiem? Czy istnieje plan odróżnienia Ubuntu Server od innych dostępnych serwerowych produktów?

Doskonałe pytania.

Niektórzy uważają, że dostarczanie tylko konsolowego interfejsu w Ubuntu Server jest przeszkodą w jego przyjęciu na rynku. Jestem w stanie zrozumieć te argumenty. W tej chwili trwają pewne prace nad udostępnieniem narzędzi administracyjnych z interfejsem www. To może pomóc nam zdobyć część rynku serwerów z graficznym interfejsem. Ale tak naprawdę uważam, że to czego potrzebujemy to trochę dokumentacji, kształcenia, jakichś meta pakietów lub zadań które pozwolą użytkownikowi zamienić instalację Ubuntu Desktop w instalację serwerową. To bardzo proste zainstalować paczkę z apache2 i, TADAM!, masz serwer. Niektórzy ludzie domagający się graficznych narzędzi po prostu sobie z tego nie zdają sprawy.

Jednocześnie nie sądzę, aby to był “wielki krok”. Myślę, że “wielkim krokiem” dla Ubuntu Server byłaby obsługa innych architektur. W związku z moim doświadczeniem w IBM mam pewne pojęcie o “wielkim żelastwie”, takim jak architektury POWER i System 390. Obawiam się, że w końcu będziemy musieli je wspierać.

Te architektury w chwili obecnej nie są częścią naszego rynku. Chciałbym abyśmy część pracy wykonanej w ramach zespołu Ubuntu Mobile wykorzystali dla mikro-architektur takich jak arm i lpia. Zamiast skalować Ubuntu Server w górę, skalujmy w dół i spójrzmy na możliwość wykorzystania go na mniejszych, energooszczędnych urządzeniach wbudowanych. Potrafię sobie wyobrazić całkiem ciekawe rzeczy, które moglibyśmy zrobić z Ubuntu Server w kieszeni lub działającym na różnych domowych sprzętach.

– Ubuntu Server jest reprezentowany zarówno przez społeczność jak i Canonical, w jaki sposób obie strony mogłyby pracować lepiej?

Każdy okres pracy nad Ubuntu ma swój początek na Konferencji Deweloperów Ubuntu (UDS). Ta dotycząca Jaunty Jackalope będzie miał miejsce w Mountain View w Kalifornii w grudniu 2008. Cały zespół Canonicala ds. Ubuntu Server będzie tam obecny, i dzięki sponsoringowi firmy powinniśmy mieć tam również dobrą reprezentację społeczności. Dla tych, którzy nie będą w stanie dotrzeć, przygotujemy transmisje w sieci oraz otwarte kanały IRC. Poza konferencją absolutnie zapraszamy wszystkich zainteresowanych do uczestniczenia w pracach zespołu ds. Ubuntu Server na kanale IRC (#ubuntu-server), na listach dystrybucyjnych i poprzez Launchpad. Myślę, że im więcej aktywnych uczestników będziemy mieli na tych forach, tym większa i lepsza stanie się społeczność w ogólności. Demokratyczne procesy zachodzące w społeczności Ubuntu nigdy nie przestaną mnie zadziwiać.

– Co myślisz o przejściu Wikipedii z Red Hat-a/CentOS-a/Fedory na Ubuntu?

Myślę, że to, że Wikipedia ogłosiła to publicznie jest naszym ogromnym zwycięstwem. Jest wiele instalacji Ubuntu Server które nie pojawiają się w materiałach Canonical i nie są powszechnie znane. Byłoby naprawde super, gdyby więcej firm “ujawniło się i dało się policzyć”.

Wiem z dobrych źródeł, że Google Custom Search Appliance działa na Ubuntu, aczkolwiek informacja ta nie pojawia się tutaj:

Jeśli Ubuntu Server jest wystarczająco dobry dla Wikipedii i Google to wydaje mi się, że robimy niezłą robotę. Mam nadzieję, że partnerzy Canonical, jak również zwolennicy Ubuntu mogą używać tych argumentów w swoich własnych organizacjach podczas walki o miejsce Ubuntu na serwerach.

– Wspomniałeś na swoim blogu o podróży przez Szkocję. Planujesz inne ciekawe podróże w przyszłości?

O tak, to była wspaniałą wyprawa. Szkocja jest niesamowitym miejscem.

Będę w Paryżu w listopadzie i w Mountain View w grudniu, chociaż obie te wyprawy są zbyt miejskie jak na moją ryzykowną naturę.

Planuję kolejną daleką wyprawę między świętami Bożego Narodzenia a nowym rokiem. Być może Wielki Kanion, który zwiedziłem wcześniej w lipcu. A może Big Bend w Teksasie, który jest naprawdę piękny i jest daleko. Na pewno wspomnę o tym na blogu.

Bardziej techniczny wywiad z Dustinem Kirklandem znajduje się na http://fridge.ubuntu.com/node/1701.

Tłumaczenie za: UbuntuWeeklyNewsletter/Issue114

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

This site uses Akismet to reduce spam. Learn how your comment data is processed.