Product SiteDocumentation Site

1.3. Wewnętrzne działania projektu Debian

Obfite wyniki końcowe, uzyskane przez projekt Debian, pochodzą jednocześnie z działań w obrębie infrastruktury. Działania te wykonywane są przez doświadczonych twórców Debiana, począwszy od indywidualnych lub zbiorowych prac programistów, tworzących i modyfikujących pakiety Debiana, a kończąc na informacjach zwrotnych od użytkowników.

1.3.1. Twórcy Debiana

Twórcy Debiana mają różne odpowiedzialności. Jako oficjalni członkowie projektu mają duży wpływ na kierunek, w jakim podąża projekt. Ogólnie, twórca Debiana jest odpowiedzialny przynajmniej za jeden pakiet, lecz ta odpowiedzialność jest zależna od ilości czasu, jaką może twórca poświęcić projektowi, i od jego indywidualnych potrzeb i możliwości twórczych. Twórcy mają wolny wybór, jeśli chodzi o rodzaj zaangażowania w projekt i liczne zespoły tego projektu. Im większą aktywność przejawia twórca, tym więcej odpowiedzialności uzyskuje wewnątrz projektu.
Utrzymywanie pakietów jest działalnością poddaną pewnym ograniczeniom proceduralnym, które są dobrze udokumentowane lub nawet regulowane. W rezultacie, aktywność, którą często określa się terminem "opieka nad pakietami" (stąd określenie "opiekun pakietu" – ang. package maintainer) musi być zgodna ze wszystkimi standardami ustanowionymi przez Politykę Debiana (ang. Debian Policy). Na szczęście, jest wiele narzędzi, które ułatwiają pracę opiekunów pakietów. Twórca może więc skupić się na specyfice swojego pakietu, i na innych, bardziej złożonych zadaniach, takich jak śledzenie i likwidowanie błędów.
Polityka, zasadniczy element Projektu Debian, ustanawia normy zapewniające zarówno jakość pakietów, jak i doskonałą interoperacyjność dystrybucji. Dzięki swojej Polityce, Debian pozostaje spójny, niezależnie od gigantycznego rozmiaru. Ta polityka nie jest niezmienna, lecz podlega ewolucji dzięki propozycjom, formułowanym na liście dyskusyjnej . Poprawki, uzgadniane przez wszystkie zainteresowane strony, są akceptowane i wprowadzane do tekstu Polityki poprzez małą grupę opiekunów, posiadających odpowiedzialność wydawniczą (wprowadzają oni tylko te poprawki, które są uzgodnione przez twórców Debiana — członków wyżej wspomnianej listy). Bieżące propozycje poprawek można przeczytać w systemie śledzenia błędów:
Polityka dostarcza znaczną ilość technicznych aspektów pakietowania. Rozmiar projektu zwiększa też problemy organizacyjne. Są one rozwiązywane w oparciu o Konstytucję Debiana, która ustanawia strukturę i środki do podejmowania decyzji. Innymi słowy — ustanawia formalny system zarządzania.
Konstytucja Debiana określa pewną liczbę ról i pozycji społecznych, a także odpowiedzialności i władze dla każdej z nich. Szczególnie warto zwrócić uwagę na fakt, że twórcy Debiana zawsze mają najwyższą władzę decyzyjną podczas głosowania nad rezolucją ogólną, gdzie wymagana jest większość trzech czwartych (75%), aby dokonać znaczących zmian w konstytucji (takich, jak wpływ na Dokumenty Założycielskie). Jednakże, twórcy co roku wybierają "lidera", który ma ich reprezentować na mitingach, i który ma zapewniać wewnętrzną koordynację pomiędzy różnymi zespołami. Wybory lidera są zawsze okresem intensywnych dyskusji. Rola lidera nie jest formalnie zdefiniowana w żadnym dokumencie: kandydaci do tej pozycji zwykle proponują jej własną definicję. W praktyce oznacza to, ze rola lidera obejmuje służenie jako przedstawiciel wobec mediów, koordynowanie zespołów "wewnętrznych" i dostarczanie całkowitego przewodnictwa projektom twórców. Poglądy DPL (ang. Debian Project Leader — lider projektu Debian) są bezpośrednio aprobowane przez członków projektu.
Szczególnie, lider ma rzeczywistą władzę. Głosy liderów mają moc wiążącą. Lider może podjąć dowolną decyzję, której wykonanie nie jest już w mocy kogoś innego, i może delegować część swoich obowiązków.
Od samego początku, projekt był pomyślnie prowadzony przez liderów, którymi byli kolejno: Ian Murdock, Bruce Perens, Ian Jackson, Wichert Akkerman, Ben Collins, Bdale Garbee, Martin Michlmayr, Branden Robinson, Anthony Towns, Sam Hocevar, Steve McIntyre, Stefano Zacchiroli i Lucas Nussbaum.
Konstytucja określa też "komitet techniczny". Zasadniczą rolą tego komitetu jest decydowanie o sprawach technicznych w sytuacji, gdy twórcy nie mogą ze sobą dojść do porozumienia w jakiejś technicznej kwestii. Mówiąc inaczej, komitet odgrywa rolę doradczą, gdy twórcy nie udaje się podjąć decyzji, za jaką jest odpowiedzialny. Warto zapamiętać, że komitet techniczny angażuje się tylko wtedy, gdy jest poproszony, aby być jedną ze stron potencjalnego konfliktu.
W końcu, konstytucja określa stanowisko "sekretarza projektu", który jest odpowiedzialny za organizacje głosowania, związanego z różnymi wyborami i rezolucjami ogólnymi.
Procedura "rezolucji ogólnej" jest szczegółowo określona w konstytucji, od okresu wstępnej dyskusji, aż do końcowego liczenia głosów. Więcej szczegółów można znależć pod adresem:
Nawet jeśli ta konstytucja ustanawia pozory demokracji, codzienna rzeczywistość jest zupełnie inna: Debian w sposób naturalny i niewymuszony przestrzega zasad wolnego oprogramowania: kto robi jakieś rzeczy, ten decyduje o tym, jak je robić (tzw. zasada "rób-to-kracji"; w oryginale angielskim: do-cracy). Dużo czasu można zmarnować rozważając korzyści płynące z różnych sposobów podejścia do problemu; wybrane rozwiązanie będzie pierwszym, zarówno funkcjonalnym, jak i satysfakcjonującym, a jednocześnie podanym przez kompetentną osobę ... Jednak, okaże się to dopiero po pewnym czasie.
Jest to jedyny sposób, aby zasłużyć sobie na szacunek: zrobić coś pożytecznego i pokazać, że się pracowało dobrze. Wiele "administracyjnych" zespołów Debiana działa za pomocą kooptacji, preferując wolontariuszy, którzy już efektywnie przyczynili się do czegoś i potwierdzili swoje kompetencje. Publiczna natura pracy tych zespołów sprawia, że nowi współpracownicy mogą obserwować tę pracę i mogą zacząć pomagać bez specjalnych przywilejów. Z tego powodu Debian jest często określany jako "merytokracja".
Ta efektywna metoda operacyjna gwarantuje jakość współpracowników w "kluczowych" zespołach Debiana. W żaden jednak sposób metoda ta nie jest doskonała i okazjonalnie ujawniają się również ci, którzy nie akceptują tego sposobu działania. Dobór twórców, akceptowanych w zespołach, może wydawać się trochę arbitralny lub nawet nieuczciwy. Co więcej, nie każdy ma te samą definicję służby na rzecz innych, oczekiwaną przez te zespoły. Dla niektórych nie do zaakceptowania jest fakt oczekiwania przez osiem dni na włączenie nowego pakietu Debiana, natomiast inni cierpliwie czekają na to samo przez trzy tygodnie, bez problemu. Tak więc, pojawiają się regularne skargi ze strony tych "niezadowolonych" na temat "jakości usług" tych zespołów.

1.3.2. Aktywna rola użytkowników

Można się zastanawiać, czy warto zaliczać "zwykłych" użytkowników do tych współpracowników, którzy działają wewnątrz projektu Debian. Odpowiedzią jest definitywne TAK: odgrywają oni kluczową rolę w tym projekcie. Niektórzy użytkownicy, będąc dalekimi od bycia "pasywnymi", uruchamiają testowe wersje Debiana i regularnie wypełniają raporty o błędach, wskazując na problemy. Inni idą jeszcze dalej i przesyłają pomysły ulepszeń wypełniając raport o błędzie zawierający "listę życzeń" lub nawet przesyłają poprawki kodu źródłowego, zwane "łatkami" (ang "patches"). Zobacz pasek boczny WRACAJĄC DO PODSTAW "Łatka", sposób na wysłanie poprawki.
Dodatkowo, wielu zadowolonych użytkowników usługi oferowanej przez Debian chciałoby przyczynić wnieść swój wkład do projektu. Ponieważ nie każdy ma odpowiednie poziom doświadczenia w programowaniu, może więc wybrać pomoc w tłumaczeniu i dokonywaniu przeglądów dokumentacji. Istnieją listy dyskusyjne, specyficzne dla poszczególnych języków, które koordynują tę pracę.
Wszystkie te mechanizmy współpracy działają bardziej efektywnie dzięki zachowaniom użytkowników. Użytkownicy, których w żaden sposób nie można określić mianem zbioru wyizolowanych osób, tworzą prawdziwą społeczność, w której mają miejsce liczne wymiany. Szczególnie chcemy zwrócić uwagę na imponującą aktywność na liście dyskusyjnej (Rozdział 7, Rozwiązywanie problemów i poszukiwanie informacji omawia to bardziej szczegółowo).
Użytkownicy nie tylko pomagają sobie wzajemnie (i innym) w kwestiach technicznych, bezpośrednio ich dotyczących, ale także dyskutują na temat najlepszych sposobów, za pomocą których można przyczyniać się do projektu Debian. Dzięki temu pomagają poruszać się do przodu, a dyskusje prowadzą często do sugestii na temat ulepszeń.
Ponieważ Debian nie przeznacza funduszy na jakąkolwiek własną kampanię promocyjną, więc jego użytkownicy odgrywają istotną rolę w rozpowszechnianiu projektu, zapewniając mu renomę poprzez przekazywanie sobie informacji "z ust do ust".
Metoda ta działa całkiem dobrze, ponieważ fanów Debiana można znaleźć na wszystkich poziomach społeczności wolnego oprogramowania: od spotkań instalacyjnych (są to warsztaty, podczas których doświadczeni użytkownicy pomagają początkującym w instalacji systemu), które są organizowane przez lokalne "Grupy Użytkowników Linuksa" (ang. "Linux User Groups" — LUG), na dużych konwencjach stowarzyszeń dotyczących Linuksa kończąc.
Wolontariusze tworzą plakaty, broszury, naklejki i inne przydatne materiały promocyjne w ramach projektu, które udostępniają wszystkim, a które Debian dostarcza za darmo na swojej stronie internetowej:

1.3.3. Zespoły i Pod-Projekty

Debian jest zorganizowany, od samego początku, wokół koncepcji pakietów źródłowych. Każdy taki pakiet ma swojego opiekuna lub grupę opiekunów. Z czasem pojawiło się wiele zespołów roboczych, zapewniając w ten sposób administrację infrastruktury, zarządzanie zadaniami nie specyficznymi dla żadnego pakietu w szczególności (zapewnienie jakości, Polityka Debiana, Instalator, itd). Ostatnio pojawiają się najnowsze serie zespołów, które tworzą się wokół pod-projektów.

1.3.3.1. Istniejące Pod-Projekty Debiana

Dla każdego jego własny Debian! Pod-projekt utworzony przez grupę wolontariuszy zainteresowanych adaptowaniem Debiana do specyficznych potrzeb. Poza wyborem podgrupy programów, przeznaczonych do poszczególnych dziedzin (edukacja, medycyna, tworzenie multimediów, itd.), pod-projekty są również zaangażowane w ulepszanie istniejących pakietów, pakietowanie brakującego oprogramowania, adaptację instalatora, tworzenie specyficznej dokumentacji i inną działalność.
Oto niewielki wybór obecnych pod-projektów:
  • Debjan-Junior, stworzony przez Ben Armstrong, oferujący obiecujące i łatwe użycie systemu Debiana przez dzieci;
  • Debian-Edu, stworzony przez Petter Reinholdtsen, skupiony na tworzeniu wyspecjalizowanej dystrybucji dla świata akademickiego;
  • Debian Med, stworzony przez Andreas Tille, dedykowany dziedzinom medycznym;
  • Debian Multimedia, który obsługuje pracę z audio i multimediami;
  • Debian-Desktop, który skupia się na pulpicie i koordynuje prace artystyczne dla motywu domyślnego;
  • Debian GIS, który opiekuje się aplikacjami i użytkownikami systemów informacji geograficznej (ang. Geographical Information Systems);
  • W końcu, Debian Accessibility, ulepszający Debiana, aby dopasował się do wymagań osób niepełnosprawnych.
Ta lista, prawdopodobnie, będzie się rozszerzała wraz z upływem czasu i z coraz lepszą percepcją zalet pod-projektów Debiana. Dzięki temu pod-projekty — w pełni wspierane przez infrastrukturę Debiana — mogą skupić się na faktycznej wartości dodanej, bez obaw o synchronizację swojego oprogramowania z Debianem, ponieważ są rozwijane wewnątrz tego projektu.

1.3.3.2. Zespoły Administracyjne

Większość zespołów administracyjnych ma względnie zamknięty charakter, a ich członkowie są rekrutowani jedynie poprzez dobranie nowego członka do zespołu. Najlepszym sposobem, aby stać się częścią jednego z tych zespołów, jest inteligentne wsparcie obecnych członków. W ten sposób można wykazać, że się zrozumiało ich cele i metody działania.
ftpmasters są odpowiedzialni za oficjalne archiwum pakietów Debiana. Członkowie zespołu zarządzają programem, przyjmującym pakiety wysłane przez twórców. Program, po pewnych sprawdzeniach, automatycznie je zachowuje na serwerze referencyjnym (ftp-master.debian.org).
Zanim włączą nowe pakiety do istniejącego korpusu pakietów Debiana — muszą też zweryfikować wszystkie licencje tych pakietów, aby upewnić się, że Debian może je rozpowszechniać. Gdy twórca pragnie usunąć jakiś pakiet, zwraca się z tym do zespołu za pomocą systemu śledzenia błędów (ang. bug tracking system) i wysyła "pseudo-pakiet" na ftp.debian.org.
Zespół Administratorów Systemu Debian (ang. The Debian System Administrators — DSA) (), jak tego można oczekiwać, jest odpowiedzialny za administrację systemu wielu serwerów używanych w projekcie. Członkowie Zespołu zapewniają optymalne funkcjonowanie wszystkich podstawowych usług (DNS, Web, e-mail, shell, etc.), instalowanie oprogramowania żądanego przez twórców Debiana, i podejmują wszystkie kroki wstępne dotyczące bezpieczeństwa.
listmasters administrują serwerem e-mail, który zarządza listami dyskusyjnymi. Tworzą nowe listy, obsługują "odbicia" (ang. bounces), czyli uwagi o niedostarczeniu e-mail, i zarzadzają filtrami spamu (niechcianej, masowej poczty elektronicznej).
Każda specyficzna usługa ma swój własny zespół administracyjny, zwykle złożony z wolontariuszy, którzy go zainstalowali (a także często sami zaprogramowali odpowiednie narzędzia). Tak jest w przypadku systemu śledzenia błedów (BTS), programu śledzącego pakiety (ang.the package tracker), alioth.debian.org (serwer FusionForge, zobacz pasek boczny NARZĘDZIE FusionForge, uniwersalne narzędzie (ang. Swiss Army Knife) do tworzenia oprogramowania opartego na współpracy), usług dostępnych na qa.debian.org, lintian.debian.org, buildd.debian.org, cdimage.debian.org, itd.

1.3.3.3. Zespoły twórców, Zespoły przekrojowe

Zespoły twórców, odmiennie niż zespoły administracyjne, są raczej szeroko otwarte, nawet dla zewnętrznych współpracowników. Nawet jeśli Debian nie ma powołania do tworzenia oprogramowania, projekt potrzebuje konkretnych programów, aby osiągnąć własne cele. Oczywiście narzędzia, opracowane na wolnych licencjach, wykorzystują metody już sprawdzone w świecie wolnego oprogramowania.
Debian opracował małe, własne oprogramowanie, ale niektóre programy przyjęły odrębne systemy, których sława wykroczyła poza zakres projektu. Dobrymi przykładami są: dpkg, program do zarządzania pakietami Debiana (w rzeczywistości, jest to skrót od angielskiej nazwy pakietu Debiana — PacKaGe — ogólnie wymawiany jako "dee package") i apt, narzędzie do automatycznej instalacji dowolnego pakietu Debiana i jego zależności, gwarantujące spójność systemu po aktualizacji (jego nazwa jest skrótem do ang. Advanced Package Tool — zaawansowane narzędzie pakietowania). Zespoły, odpowiedzialne za te narzędzia, są stosunkowo niewielkie, ponieważ do uzyskania całkowitego zrozumienia działania tego typu programów wymagany jest raczej wysoki poziom umiejętności programowania.
Najważniejszym zespołem jest prawdopodobnie zespół zajmujący się programem instalacji Debiana, debian-installer, który wykonuje pracę w nieporównywalnie większych niż inne zespoły, począwszy do 2001 roku. Zespół ten potrzebuje wielu współpracowników, ponieważ trudno jest napisać pojedynczy program, który może zainstalować Debiana na wielu różnych architekturach sprzętowych. Każda architektura ma własny mechanizm rozruchu i własny program rozruchowy. Cała ta praca jest koordynowana za pomocą listy dyskusyjnej , pod kierownictwem Cyril Brulebois.
Zespół (bardzo mały) programu debian-cd ma jeszcze bardziej skromny cel. Wielu "małych" współpracowników jest odpowiedzialnych za wyznaczona im "własną" architekturę sprzętową, ponieważ główny twórca nie może (nie musi) znać wszystkich subtelności oprogramowania, ani dokładnego sposobu uruchomienia instalatora z CD-ROM.
Wiele zespołów musi współpracować z innymi osobami w zakresie pakietowania: próbuje, na przykład, zapewniać jakość na wszystkich poziomach projektu Debian. Na liście rozwija się polityka Debiana, zgodnie z propozycjami od wszystkich zespołów. Zespoły odpowiedzialne za każdą architekturę () kompilują wszystkie pakiety, przystosowując je, w razie potrzeby, do konkretnej architektury.
Inne zespoły zarządzają najważniejszymi pakietami, aby w zapewnić ich utrzymanie bez nadmiernego obciążania pracą jednego współpracownika (jednego zespołu); tak jest w przypadku biblioteki C i kompilatora C, na liście , albo Xorg na liście (Ta grupa jest również znana jako X Strike Force).