"Debian: Behind the Scenes" talk given by Adam Byrtek back in 2003 (in Polish). Quite old, but the overall structure of Debian project haven't changed that much since then.
2. Wstęp
O czym wykład nie będzie
Instalacja, konfiguracja, obsługa, administracja
●
http://www.debian.org
–
http://www.debianusers.pl
–
http://debian.linux.org.pl
–
O czym wykład będzie (z grubsza)
Historia, sprawy techniczne, filozofia, struktura,
●
społeczność
Pytania
●
3. Wstęp, c.d.
Czym jest Projekt Debian?
quot;Projekt Debian to grupa osób, które wspólnie
●
zdecydowały się stworzyć wolny system operacyjnyquot;
Zasadnicze różnice
Członkami społeczność ochotników
●
Projekt niekomercyjny
●
Tylko otwarte narzędzia
●
Wspiera różnorodność
●
5. Rys historyczny
Ian Murdock, manifest w roku 1993
●
Motywacja
●
dystrybucja quot;w duchu Linuksaquot;
–
zły stan ówczesnych dystrybucji
–
Wsparcie FSF przez pierwszy rok (GNU/Linux)
●
Nazewnictwo dystrybucji, wersji
●
Prawidłowa wymowa: quot;deb ee nquot;
●
Pierwszt system pakietów (z zależnościami)
●
Powołanie SPI
●
6. Fakty
Edycja stablina: Woody 3.0, wydana w lipcu 2002r.
●
10 lat istnienia, silna pozycja wśród dystrybucji
●
11 wspieranych architektur
●
alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
Jedyna dystrybucja wspierająca różne jądra
●
Linux, Hurd, BSD
1134 osób, 7264 pakietów źródłowych, 11758
●
binarnych, 318 serwerów lustrzanych
Polska na piątym miejscu w (nieoficjalnym) rankingu
●
ilości użytkowników
7. Organizacje
Linux International
●
Linux Professional Institute
●
Linux Magazine advisory council
●
Linux Standards Base
●
Free Standards Group
●
SchoolForge
●
GNOME Foundation advisory board
●
OASIS: Organization for the Advancement of Structured
●
Information Standards
Desktop Linux Consortium
●
8. Oparte na Debianie
Xandros (dawniej Corel)
●
Progeny (instalator)
●
Lindows
●
Knoppix
●
i inne...
●
10. Kontrakt społeczny
Debian pozostanie w pełni wolny (patrz DFSG)
●
Spłacimy dług społeczności oprogramowania
●
wolnodostępnego
Nie będziemy ukrywać problemów
●
Naszymi priorytetami są nasi użytkownicy i wolne
●
oprogramowanie
Wsparcie dla programów nie spełniających standardów
●
DFSG (archiwum non-free)
11. Debian Free Software Guidelines
Wolna redystrybucja
●
Dołączony kod źródłowy (i możliwość jego
●
redystrybucji)
Dzieła pochodne, możliwość ich tworzenia i dystrybucji
●
na tej samej licencji
Brak ograniczeń integralności kodu
●
Nie dyskryminuje żadnych osób bądź grup
●
12. Debian Free Software Guidelines, c.d.
Nie ogranicza zakresu użytkowania
●
Licencja musi dotyczyć wszystkich
●
Licencja nie może dotyczyć wyłącznie Debiana
●
Licencja nie może 'zanieczyszczać' innego
●
oprogramowania
Przykłady: GPL, BSD, Artistic
●
Bruce Perens i manifest Open Source
●
13. Debian Policy
Wytyczne techniczne: najważniejsze zasady
●
gwarantujące spójność pakietów w dystrybucji
Pełna zgodność z FHS
●
Niektóre dodatkowe policies
●
Perl
–
Java
–
Menu
–
Emacs
–
...
–
14. Konstytucja
Konstytucja: podstawa formalna
●
Głosowania
●
Decyzje podejmuje
●
Zgromadzenie Ogólne Deweloperów
–
Lider Projektu
–
Komitet Techniczny i/lub jego Przewodniczący
–
deweloper odpowiedzialny za dane zadanie
–
delegaci wyznaczeni przez Lidera do danego zadania
–
Sekretarz Projektu
–
15.
16. Gałęzie
stable (obecnie woody)
●
gałąź do zastosowań produkcyjnych, zamrożona i gruntowanie
przetestowana, do niej pojawiają się poprawki bezpieczeństwa
testing (obecnie sarge)
●
gałąź najprawdopodobniej pozbawiona ciężkich błędów, ale nie jest to
gwarantowane
unstable (zawsze sid)
●
najświeższe pakiety prosto z pieca, bywają z nimi kłopoty
experimental
●
użycie wysoce niewskazane
Archiwa: main, non-free, contrib
●
17. System pakietów
dpkg: nadzór nad bazą pakietów, manipulacja
●
pakietami
zależności
–
pliki konfiguracyjne
–
szablony debconf
–
APT: zarządzanie pakietami pochodzącymi z
●
różnych źródeł
repozytoria oficjalne, nieoficjalne
–
priortety, pinning
–
Liczne nakładki (dselect, aptitude, synaptic, ...)
●
18. Struktura pakietu źródłowego
Oficjalne źródła: foo_x.y.orig.tar.gz
●
Debianowa łata: foo_x.y-z.diff.gz
●
katalog ./debian/*
–
debian/rules: makefile budujący pakiet
–
Z pakietu źródłowego powstaje jeden lub więcej
●
pakietów binarnych:
foo_x.y-z_i386.deb
–
foo-doc_x.y-z_all.deb
–
19. Struktura pakietu binarnego
plik DEB
data.tar.gz
control.tar.gz
control /etc/...
conffiles /usr/...
md5sums /var/...
preinst ...
postinst
prerm
postrm
...
20. Droga pakietu
x.y
nowa wersja upstream
pakiet
upload (podpisany), x.y-z
incoming NMU
max 1 dzień (chyba że pakiet nowy)
experimental unstable stable
testing
brak RC,
10 dni (low),
wydanie
brak
“excuses”
mirror mirror
mirror
21. Edycja stabilna
quot;Release when readyquot;, rządzi Release Manager
●
Zamrożenie testing gdy nie ma już poważniejszych
●
problemów (RC)
Dokładne testowanie
●
Wydanie nowej edycji stabilnej
●
Co jakiś czas edycje poprawiające (najnowsza 3.0r1)
●
Około roczne wsparcie starej wersji stabilnej
●
22. Portowanie
i386 to nie cały świat, deweloper odpowiedzialny za inne
●
architektury
Ekipa odpowiedzialna za porty
●
Dobra praktyka programistyczna
●
Problemy usprawiedliwione w rzadkich przypadkach
●
System auto-builderów
●
Non-Maintainer Upload (NMU)
●
23. Walka z błędami
BTS: informacje zgłaszane przez email (reportbug
●
preferowanym sposobem)
informacje dostępne publicznie
–
flagi i waga błędu (RC)
–
deweloper manipuluje stanem błędu
–
deweloper ma obowiązek przesyłać wszystkie
–
poprawki do upstreamu
nie tylko dla pakietów (np. WNPP, debian-policy)
–
Od niedawna PTS
●
Lintian: pomoc dla deweloperów
●
24. Bezpieczeństwo
Jeden z priorytetów, Security Team
●
Publiczne informacje, otwartość (DFSG)
●
Najlepiej korzystać ze stable
●
Advisories
●
debian-security-announce@lists.debian.org
–
http://www.debian.org
–
Automatyczny upgrade dla stable przez APT
●
deb http://security.debian.org/ woody/updates main contrib non-free
25. Pozostałe cechy Debiana
Instalator
●
Inicjalizacja systemu (update-rc.d)
●
Budowanie własnego jądra (make-kpkg)
●
System menu
●
System alternatyw
●
...
●
26. Lokalizacja
Strona WWW
●
Task quot;polishquot;, pakiety z polską dokumentacją
●
Wsparcie locales (teraz już standard)
●
Instalator
●
Mapy klawiatury, czcionki
●
Opisy pakietów
●
Szablony debconf
●
DWN (na 7thguard.net oraz stronach Debiana)
●
27. LUDZIE
Rdzeń projektu
●
Baza danych informacji o
●
deweloperach (vacation)
Od rodziny do społeczności
●
Od dłuższego czasu (mniej więcej)
●
liniowy wzrost
Różne cele, spojrzenia, poglądy, równe prawo głosu
●
Podział na podgrupy, podprojekty
●
Specjaliści z danych dziedzin (porty, instalator)
●
29. POLSCY DEWELOPERZY
Krzysztof Krzyżaniak
Pawel Więcek
Grzegorz Prokopski
Marcin Owsiany
Marek Habersack
Piotr Roszatycki
Łukasz Jachowicz
Robert Luberda
Mirosław Baran
Janusz A. Urbanowicz
Adam Byrtek
Ryszard Lach
30. Kontakt
Przede wszystkim email (nick@debian.org)
●
wykorzystanie PGP, keyring Debiana
–
IRC: dyskusje robocze, BSP (serwer freenode)
●
Listy dyskusyjne (ponad 100 różnych)
●
debian-devel, debian-private
–
Listy ogłoszeniowe
●
debian-announce, debian-devel-announce
–
debian-security-announce
–
Debian Weekly News
●
31. Praca grupowa
CVS
●
np. strona WWW
–
Alioth, klon SourceForge
●
projekty których założycielem jest deweloper
–
Debiana
32. Jak pomóc
Nie trzeba być deweloperem aby pomagać (sponsoring)
●
Promować Debiana (i Linuksa jako takiego)
●
Zgłaszać informacje o błedach i sugestie, korzystać z
●
testing/unstable
Przeglądać zgłoszenia, przesyłać patche, komentować
●
bugreporty (PTS)
Pomagać przy tłumaczeniu i tworzeniu dokumentacji
●
33. Jak wstąpić
Uwaga na 1 kwietnia!
●
Proces NM (New Maintainer), lista debian-mentors
●
adwokat
–
przydzielenie AM (Application Manager)
–
pierwszy kontakt
–
potwierdzenie tożsamości
–
filozofia i procedury
–
zadania i umiejętności
–
ankieta i podumowanie
–
34. Jak taki projekt może działać?
Wartościowi ludzie, quot;karmaquot; deweloperów
●
Władze formalne ingerujące jedynie gdy jest to
●
konieczne
Współpraca i wymiana poglądów przez Internet
●
Ścisłe reguły i procedury, ale minimum formalizmu
●
Narzędzia, szczegółowa dokumentacja
●
Infrastruktura fundowana przez sponsorów
●
35. Przyszłość
Sarge (“release when ready”)
●
GCC 3.2
–
KDE 3.1
–
Gnome 2
–
Nowy instalator (stary największą zmorą)
●
pełna integracja z debconf
–
zróżnicowany interface
–
Jeszcze większy nacisk na wielonarodowość
●
Pełna zgodność z LSB (Linux Software Base)
●
36. To tylko wierzchołek góry lodowej.
Dziękuję za wysłuchanie wykładu.
Proszę o pytania.
W razie czego mój adres:
alpha@debian.org