Download: CommunityInterview

Transkrypt

Download: CommunityInterview
Wywiady
SPOŁECZNOŚĆ
ROZMOWA
Z MARIUSZEM MAZUREM
LINUX MAGAZINE: Od czasu do czasu na
LKML wysyłasz informacje o nagłówkach
glibc dla jądra. Skąd pomysł przygotowania takich nagłówków i kto może z nich skorzystać?
MARIUSZ MAZUR: Pod koniec 2003 roku,
gdy byłem jeszcze Release Managerem wersji
2.0 PLD (tzw. Ac), stało się jasne, że jądro
2.6 zostanie niedługo oficjalnie wydane i trzeba się zacząć przygotowywać do zastąpienia
nim serii 2.4. Niestety, był jeden poważny
problem – podczas gdy kompilowanie programów w oparciu o nagłówki zawarte w jądrach
2.2 czy 2.4 prawie nigdy nie sprawiało żadnych problemów, to już w przypadku 2.6 nie
dało się zbudować nawet najbardziej podstawowych rzeczy. Na dodatek oficjalna polityka
deweloperów Linuksa była taka, że nie powinno się używać nagłówków jądra do kompilowania programów przestrzeni użytkownika
(tzw. userlandu), ale nic nie wskazywało na to,
żeby ktoś pracował nad alternatywnym rozwiązaniem. Ponieważ problem był na mojej
głowie, więc rozejrzałem się w sytuacji,
i stwierdziwszy, że nie mam innego wyjścia,
praktycznie po omacku zacząłem przygotowywać oczyszczoną wersję nagłówków, do użycia
w PLD. A skoro robiłem to na potrzeby własnej dystrybucji, to minimalnym nakładem
pracy mogłem swoje wysiłki udostępniać innym. No i tak to się ciągnie od ponad roku,
mimo że o samym jądrze nie mam praktycznie żadnego pojęcia (nawet nie wiem jak się
teraz kompiluje kernel; nigdy nie robię tego
ręcznie). W międzyczasie tych nagłówków zaczęły używać różne mniejsze i większe projekty, a ostatnio zgłosił się do mnie jeden z deweloperów Debiana (opiekun ich glibca) i powiedział, że po wprowadzeniu odpowiednich
poprawek prawdopodobnie użyje ich jako
podstawy następnej wersji Debiana.
LINUX MAGAZINE: Jak oceniasz tempo rozwoju PLD po rozstaniu z Tomkiem Kłoczko?
Czy – z perspektywy czasu – nie żałujesz, że
sprawy potoczyły się tak, a nie inaczej?
MARIUSZ MAZUR: Prawdę mówiąc, kloczek
funkcjonuje obecnie już tylko jako odległe
wspomnienie i wdzięczny temat do żartów.
Można powiedzieć, że straszy się nim nowych deweloperów :) A na poważnie, to pożegnanie się z nim miało swoje dobre i złe strony. Zła jest taka, że straciliśmy kogoś, kto
dysponował wręcz niesamowitymi ilościami
wolnego czasu i poświęcał go nie tylko na zagadnienia techniczne, ale także, a może
przede wszystkim, organizacyjne (a takich
osób nigdy za wiele, czego dowodem są obecne zastoje w rozwoju Ac). No i sposób rozstania pozostawia wiele do życzenia.
Jednak więcej jest plusów – deweloperzy
wreszcie mają poczucie, że są na swoim i nie
muszą walić głową w mur, gdy wymusza się
na nich rozwiązania, z którymi się nie zgadzają. Flejmy przestały być codziennością
i ludzie wreszcie nie poświęcają na nie nie
wiadomo jakich ilości czasu. I, co najważniejsze, obecnie nikt nie ma w PLD władzy
absolutnej, gdyż każdą decyzję może unieważnić powołana do tego grupa deweloperów. Przy czym, od odejścia kloczka nie było
właściwie poważniejszych spięć.
LINUX MAGAZINE: A w jaki sposób te wydarzenia wpłynęły na kwestie pozatechniczne,
takie jak osobowość prawna PLD, prawo do
korzystania z nazwy i logo itd.?
MARIUSZ MAZUR: W zasadzie nijak. Osobiście uważam, że gdybyśmy chcieli z kloczkiem
w Polsce walczyć o prawo do używania nazwy,
to byśmy przegrali (aczkolwiek nie jest to zdanie wszystkich deweloperów). Z drugiej strony
ostatnio mówiono w telewizji o tym, jak Partii
Demokratycznej ktoś zakosił nazwę sprzed nosa, bo złożył wcześniej wniosek o rejestrację
w sądzie, więc wygląda mi na to, że kto pierwszy założy stowarzyszenie PLD, ten będzie
miał oficjalnie prawo do nazwy. Jednak nie ma
mnie co cytować, bo nie jestem prawnikiem.
W praktyce co jakiś czas pojawia się ktoś bardzo chętny na formalizowanie się, ale i tak
nigdy nic z tego nie wychodzi. Już od dosyć
dawna ignoruję tego typu inicjatywy. Wśród
deweloperów nie mają specjalnie aktywnego
poparcia, a wręcz niektórzy są niechętni,
WWW.LINUX-MAGAZINE.PL
gdyż nie chcą zmieniać obecnego sposobu organizacji projektu, a formalizacja mogłaby
wymusić zmiany. Więc skoro jest ryzyko wymuszania zmian, to OK, można zakładać stowarzyszenie, ale nie może ono mieć właściwie żadnego wpływu na sam projekt (a przynajmniej na początku, zanim deweloperzy
nie zobaczą jakichś rzeczywistych korzyści
i sami nie zdecydują, że chcą się przyłączyć).
Tylko jaki jest sens powoływać formalną
strukturę, która w statucie ma zapisane, że
nic nie może w stosunku do projektu, który
teoretycznie ma reprezentować?
LINUX MAGAZINE: Mówiąc o PLD, nie da
się uciec od porównań do innych dystrybucji.
Jak przekonałbyś kogoś, kto zastanawia się
nad wyborem dystrybucji, do wyboru PLD,
a nie np. Debiana czy Gentoo?
MARIUSZ MAZUR: Nigdy nikogo do PLD nie
przekonywałem i tym razem też tego nie zrobię. Powód jest prosty – nie chcę, żeby ktoś
miał później do mnie pretensje, że naobiecywałem gruszek na wierzbie (celem istnienia
PLD nie jest zdobycie jak największej ilości
użytkowników; nie jesteśmy firmą). Jedyne, co
mogę zrobić, to opisać powody, dla których
PLD istnieje. Niestety, to jest większy temat,
a miejsca jest niewiele, więc jeśli ktoś jest zainteresowany, to napisałem już jeden tekst wyjaśniający te sprawy, a drugi jest od dłuższego
czasu „w drodze” (no cóż, leń jestem). Zakładam, że z punktu widzenia użytkowników,
PLD jest jak połączenie Debiana z Gentoo
(warunkowe budowanie programów to nie jest
wynalazek zarezerwowany dla Gentoo, mimo
że używamy RPM), a jednak głowy nie dam,
gdyż ze zbyt dużą ilością nie rozmawiałem na
ten temat.
LINUX MAGAZINE: Jakiś czas temu jako zalety PLD wymieniano Poldka, możliwość samodzielnej (tj. szybkiej) naprawy znalezionych
błędów, czy nawet szybki czas uruchamiania
systemu (owo słynne sh zamiast basha w skryptach startowych). Na co wskazałbyś dziś?
MARIUSZ MAZUR: Poldek to jest chyba tzw.
killer-app, czyli coś, co się ludziom po prostu
NUMER 16 MAJ 2005
101
SPOŁECZNOŚĆ
Wywiady
bardzo podoba, ale właściwie nie jestem w stanie powiedzieć, dlaczego. Zgaduję, że jego shellowy interfejs połączony z bardzo dużą ilością
dostępnych paczek powoduje, że użytkownicy
wreszcie nie muszą się męczyć z własnoręczną
kompilacją paczek, a i tak mają dostęp do najnowszych wersji prawie każdego oprogramowania i mogą tym wygodnie zarządzać (takie
Gentoo, tyle że bez konieczności oczekiwania
na zakończeni kompilacji). I to by było chyba
na tyle, jeśli chodzi o zwykłych użytkowników,
choć w zasadzie trzeba by ich samych o to zapytać. Osobiście mnie prawie zawsze dziwiło, że
nie-deweloperzy chcą PLD używać. Zapewne
nie doceniam ich entuzjazmu...
Łatwe poprawianie błędów i owszem, ale to
przychodzi ze znajomością pewnie dowolnej
technologii, więc w PLD, jest, ale dla deweloperów – ze względu na sposób organizacji
pracy nad dystrybucją, a nie dla użytkowników ze względu na jakieś specyficzne rozwiązania techniczne.
Na koniec mogę chyba dodać, że jeśli ktoś
chce mieć dostęp do tych organizacyjnych
ułatwień dla deweloperów, to zostanie takowym jest stosunkowo proste...
LINUX MAGAZINE: PLD korzysta zarówno
z CVS jak i SVN: dlaczego nie zrezygnowano
całkowicie z CVS na rzecz – podobno – ulepszonego następcy?
MARIUSZ MAZUR: SVN w wielu miejscach
naprawia niedociągnięcia CVS, ale nie oznacza to, że wszyscy powinni prędko migrować.
Podstawowa infrastruktura PLD (służąca do
pracy nad pakietami) jest mocno zintegrowana z naszym repozytorium CVS i choć migracja na nowe rozwiązanie pewnie wprowadziłaby kilka usprawnień, to po pierwsze wymagałaby sporego nakładu pracy, a po drugie
zmian w sposobie rozwoju dystrybucji, do którego wszyscy się już przyzwyczaili. Deweloperzy najwyraźniej są całkiem zadowoleni
z obecnego stanu rzeczy i nie ma zbytnich nacisków na tak radykalne kroki. Po prostu akurat w przypadku pracy nad pakietami, CVS
sprawdza się bardzo dobrze, przy czym praktycznie wszystkie podprojekty tworzone w ramach PLD już przeszły na używanie SVN (ja
z moimi nagłówkami dosyć niedawno też).
LINUX MAGAZINE: Czego można się spodziewać w PLD 3.0? Czy w ogóle jest sens
wydawania wersji – być może wszyscy są zadowoleni z używania takiego zestawu pakietów, jaki jest dostępny, oznaczenie go „.0” to
tylko formalizm?
MARIUSZ MAZUR: Deweloperzy muszą jeść
i przeważnie zarabiają na chleb, administrując serwerami, na których mają zainstalowa-
102
NUMER 16 MAJ 2005
ne PLD. I chcą z nimi mieć jak najmniej kłopotów, gdyż testowanie nowego oprogramowania jest fajne, ale nie na maszynie produkcyjnej. Dlatego zawsze mieliśmy problem
z zapewnieniem z jednej strony stabilności,
a z drugiej umożliwienia deweloperom swobodnego wprowadzania zmian (zresztą Linus
też ma obecnie ten kłopot z jądrami serii
2.6). Przy tworzeniu PLD 2.0 nadal są niedociągnięcia, ale mam nadzieję, że zmiany, jakie wprowadzam przy tworzeniu linii 3.0,
spełnią pokładane w nich nadzieje.
LINUX MAGAZINE: Swego czasu popularne
były wojny usenetowe dotyczące wyższości
RPM nad DPKG (i odwrotnie). Dziś temat
ten nie wzbudza zbytniego zainteresowania,
choć oba narzędzia stale się rozwijają. Jakie
cechy RPM-a są Twoim zdaniem najbardziej
przydatne?
MARIUSZ MAZUR: Znowu jest to obszerniejszy temat (o którym traktuje mój jeszcze nieukończony tekst). Zasadniczo większych różnic
w funkcjonalności pomiędzy paczkami RPM
a DEB zapewne nie ma, jednak jako deweloper
PLD powiem, że wyciąganie z debianowych pakietów potrzebnych łatek jest dosyć niewygodne. Ale to już jest pewnie kwestia organizacji
pracy nad dystrybucją, a nie ograniczeń technicznych (z Fedorą, czy komercyjnymi dystrybucjami RPM-owymi, też jest ten problem).
Rzeczywiście, ciekawe porównanie pod
względem technicznym jest z Gentoo i ich
sposobem dystrybucji oprogramowania. Zapewne mało osób zdaje sobie sprawę z tego,
że RPM oferuje warunkową kompilację pakietów i jest to coś, co zostało stworzone
przez deweloperów PLD i chyba tylko u nas
jest używane (nie trzeba się opierać na zawartości serwera FTP). Oczywiście, nigdy
nie daje to takich możliwości, jakie dają tzw.
dystrybucje źródłowe (jak Gentoo), ale naszym zdaniem rozwiązania PLD są bardzo
rozsądnym kompromisem
LINUX MAGAZINE: Co jakiś czas różne organizacje publikują rozmaite standardy, mające ujednolicić różne aspekty systemu. Jak
w PLD traktuje się Linux Standard Base,
Desktop Linux Capabilities itp.?
MARIUSZ MAZUR: Są standardy, które są dla
nas podstawą, czyli głównie Filesystem Hierarchy Standard, ale jest też mnóstwo takich,
do których praktycznie nikt nie zagląda. Nie
czytałem ani LSB, ani właściwie niczego innego i nie mam pojęcia, czy jest tam cokolwiek ciekawego. I o ile mi wiadomo, deweloperzy PLD też nie czują żadnej potrzeby, żeby tam zaglądać. Bo i po co? Te rekomendacje
(„standardy”) zaczną być rzeczywiście coś
WWW.LINUX-MAGAZINE.PL
warte, gdy będą nam do czegoś potrzebne,
czyli wtedy, gdy jakieś ważne kawałki oprogramowania będą ich wymagały. Zanim to się
nie stanie, to próby ich zastosowania w dystrybucji są właściwie sztuką dla sztuki, gdyż
nie ma z nich, póki co, żadnego pożytku. Mi
się LSB kojarzy z potwornie nieaktualnymi
wymaganiami (jakieś prehistoryczne kompilatory, biblioteki, dziwne formaty binarne,
etc.). Pomóc tu może ogłoszona jakiś czas temu modularyzacja standardu, czyli podział
na mniejsze części, których można używać
według uznania. Od jakiegoś czasu noszę się
z zamiarem dokładniejszego przyjrzenia się
LSB, może rzeczywiście jest tam coś wartego
uwagi, a PLD ma to do siebie, że jeśli postanowi zaadaptować jakieś rozwiązanie, to ma
ono właściwie zapewnione przeżycie, gdyż
w razie czego sami zajmujemy się rozwijaniem tego, co jest nam potrzebne (moje nagłówki są jednym z bardziej widocznym przykładów). Jest to taka cecha projektu, która nigdy nie przestanie mnie zadziwiać. Jeśliby
np. ktoś napisał uniwersalny system obsługi
demonów (żeby w każdej dystrybucji nie trzeba było przygotowywać własnych skryptów
startowych) i wprowadził go w PLD, to prędzej czy później stworzylibyśmy odpowiednie
poprawki do praktycznie dowolnego programu (i moglibyśmy je podsyłać autorom). To
jest niesamowity potencjał, który można wykorzystać do robienia różnych ciekawych rzeczy w skali globalnej, jeśli się wie, jak.
LINUX MAGAZINE: Utrzymywanie kilku architektur nie jest łatwe - nawet w tak dużym
projekcie jak Debian, nad którym pracują
setki osób, rozważa się możliwość znacznego
ograniczenia ich oficjalnie wspieranej liczby.
Jak to wygląda w PLD?
MARIUSZ MAZUR: Dosłownie kilka dni temu
zapadła decyzja (tzn. zaproponowałem takie
rozwiązanie i nie było sprzeciwów), żeby
w PLD 3.0 jako podstawowe traktować tylko
architektury PowerPC, AMD64 i x86 (kompilacje dla Athlona, i486, i686). Możliwe, że gdyby było zainteresowanie i maszyna, to pokusilibyśmy się też o obsługę PowerPC64. No,
i ewentualnie IA64, ale to już kwestia dyskusyjna, gdyż Intel obecnie nie ma za dużo do powiedzenia na rynku 64-bitowym. I na tym się
właściwie podstawowe architektury kończą.
Sparc, Alpha i i386 będę w 3.0 obsługiwane,
gdyż deweloperzy nadal ich używają, ale jako
tzw. AIDA – dodatkowe, niezależnie rozwijane
architektury (Additional, Independently Developed Architectures), czyli takie, których rozwój nie będzie bezpośrednio zsynchronizowany z rozwojem architektur podstawowych. ■

Podobne dokumenty