Jeśli jesteś jedną z osób, które zwykły mówić ja nigdy nie zostanę deweloperem, bo się do tego nie nadaję
, to właśnie za chwilę stracisz część swoich argumentów. Ale może od początku.
Jeśli usłyszałeś od kogoś, że w PLD są tylko spece
, to twój rozmówca miał rację, tylko źle go zrozumiałeś. W PLD spece są, ale w repozytorium.
Oczywiście, to tylko jeden z moich kiepskich żartów, ale jego celem jest podkreślenie, że nie wszyscy pracujący przy dystrybucji muszą być (i nie są) bogami Linuksa. Jeśli wydaje ci się, że przy tak dużym tworze pracuje dwieście klonów Kevina Mitnicka, to właśnie padłeś ofiarą mitu. PLD swoją wielkość (a jesteśmy bodaj największą dystrybucją na świecie, jeśli chodzi o ilość dostępnych i możliwych do zbudowania pakietów) zawdzięcza właśnie rozdrobnieniu pomiędzy sporą liczbę osób o bardzo różnych zainteresowaniach i potrzebach. Panuje tu jedna zasada - rób to, na czym się znasz i czego sam używasz. Dzięki temu mamy ogromny przekrój pakietów, od tych stricte desktopowych do tych o bardzo specyficznych zastosowaniach serwerowych. A kto nad tym panuje? Teoretycznie nikt, w praktyce całością kieruje Release Manager, czyli opiekun danej linii dystrybucji. Jego praca nie polega oczywiście na staniu i poganianiu innych za pomocą bicza. Praca jest całkowicie dobrowolna i wykonywana w wolnym czasie (za wyjątkiem jednego człowieka, którego wszyscy chyba znają, ale jest on w rzeczywistości klastrem ludzi zamieszkujących na stałe w czeluściach naszego CVS). Nad jakością, niejako przy okazji, czuwa ogół deweloperów. Za zepsucie czegokolwiek czeka cię lincz publiczny i siedem lat ciężkich robót w pobliskiej restauracji szybkiej obsługi na literę M
. W praktyce skończy się najwyżej na krótkim flame’ie, ciężko bowiem kogoś zwolnić z wolontariatu. Nie zdarzyło się chyba jeszcze, żeby ktoś wskutek pomyłki utracił prawo dokonywania zmian w dystrybucji. Jak więć można pomóc?
Pomóc może prawie każdy. Tutaj pewnie odezwą się głosy mówiące ja nie umiem programować
, ale smutna prawda jest taka, że nie jest to umiejętność niezbędna ani nawet wymagana, a w codziennej pracy często nieprzydatna. Wymagane jest za to pewne doświadczenie w pracy z systemami linuksowymi. Pozostałe umiejętności zależeć będą od kierunku, w jakim zechcesz się udać. Oczywiście, mamy programistów i własne projekty OpenSource, ale na tym dystrybucja się nie kończy. Gro pracujących nad nią ludzi stanowią opiekunowie bazy pakietów i to o nich w mowie potocznej mówi się deweloperzy
.
Podstawowym zadaniem takiego dewelopera jest dbanie o to, by dystrybucja (przynajmniej w ramach danej linii) była spójna, ale jednocześnie dostarczała niezbędnej funkcjonalności każdemu użytkownikowi, nie stając się jednocześnie dinozaurem ze względu na przestarzałe oprogramowanie. Codzienna (termin zwyczajowy, nie oznacza konieczności pracy od poniedziałku do niedzieli) praca polega na edycji plików spec - instrukcji dla farmy maszyn budujących pakiety. Jeśli pakiet jest potrawą, a komputer budujący kucharzem, to plik spec jest przepisem na przyrządzenie tej potrawy. Wygląda trochę jak strona z książki kucharskiej dla opornych, potrzebujesz następujących składników, następnie weź takie naczynie i wsyp do niego to i tamto, mieszając powoli aż do uzyskania jednolitej konsystencji
. Brzmi groźnie, ale składnia recepty jest dość prosta i opanowanie jej nie zajmuje więcej niż dwa dni. Zwłaszcza, że krótki opis, przykładowy plik i linki do szczegółowej dokumentacji znajdują się w naszym poradniku dewelopera.
A jak zostać deweloperem? To proste - trzeba chcieć. Na początek dobrze zapisać się na listy dyskusyjne do tego celu przeznaczone. Rozsądnie jest też znaleźć sobie opiekuna na start - osobę, która wyjaśni wątpliwości, pomoże, doradzi i, co najważniejsze, będzie miała uprawnienia wprowadzić nasze zmiany do dystrybucji. A należy tu zaznaczyć, że całość utrzymywana jest w repozytorium CVS, do którego prawo zapisu mają tylko deweloperzy. Stąd początkowe ulepszenia musimy komuś podsyłać, jeśli nie mamy opiekuna, to możemy wysłać je na listę pld-devel-pl. Tutaj kilka uwag pro-forma - opiekuna nie szukamy na siłę, jeśli nikogo nie znamy, to nie wysyłamy do wszystkich maila z pytaniem, kto się podejmie; poprawki przysyłamy w postaci czystego tekstu, nie pakujemy plików spec zipem, tarem ani rarem; poprawki do istniejących plików wysyłamy w postaci zunifikowanej łatki (wypluwa ją z siebie diff -u); nie zniechęcamy się, jeśli nikt nam nie podziękuje i nie padnie do stóp, a bardziej prawdopodobne jest, że ktoś zwróci nam uwagę na kilka błędów w naszych pierwszych dziełach
.
Pliki spec brzmią strasznie? Mamy też dział dokumentacji, a ta przy dynamicznie rozwijającym się oprogramowaniu szybko się dezaktualizuje. Panowie zajmujący się tą działką z chęcią przywitają skorych do pomocy. Potrzebujemy także zainteresowanych prowadzeniem tłumaczeń dokumentacji na inne języki. Wymagana jest przede wszystkim znajomość opisywanego tematu, podstawowa chociażby wiedza z dziedzin gramatyki i ortografii oraz umiejętność pisania w sposób zrozumiały. Jeśli uważasz, że dokumentacja to dla ciebie zbyt wiele, pozwól, że zaproszę cię do rozwoju naszej oficjalnej strony. Ta ostatnia oparta jest o publicznie dostępne Wiki i nie wymaga żadnych specjalnych uprawnień do wprowadzania na niej zmian. Zanim jednak ruszysz sprawdzić, czy da się za jej pomocą pozdrowić ciocię, uprzedzę że zmiany w każdym aspekcie dystrybucji są natychmiast widoczne dla wszystkich zapisanych na stosowne listy monitorujące, więc swym przebojowym włamaniem
możesz co najwyżej zyskać paru wrogów i etykietkę niespecjalnie rozwiniętego intelektualnie.
Jeśli i to nie spełnia twoich oczekiwań, możesz zawsze uwolnić swoją duszę artysty. Z otwartymi ramionami przyjmiemy wszystko, co nadaje się do publikacji - tapety, wygaszacze, style, skórki do programów, zestawy dźwiękowe czy własne kursory. Jedynym warunkiem jest licencja pozwalająca na swobodną dystrybucję danego elementu i odpowiednio wysoki poziom wykonania (choć o gustach się nie dyskutuje, przypominam o istnieniu pojęcia smaku).
Co zaś mitów się tyczy, jeśli planujesz zasilić nasze szeregi dla sławy czy poklasku, to trafiłeś kiepsko. Nikt jeszcze na tym nie zarobił, a i płeć przeciwna nie darzy większą sympatią ludzi związanych z Linuksem. Pracujemy dla siebie samych i dla własnych korzyści, czy to z powodu dostępu do szerokiego oprogramowania, czy możliwości lepszego poznania używanej przez siebie platformy.
Pozdrawiam i żegnam się powoli, jako że godzina już niemłoda. Mam nadzieję, że kogokolwiek zainteresowałem.

hmm, zabrzmialo jak ogloszenie :P
Bez przesady. Debian i Gentoo mają więcej pakietów…
sztywny: ile pakietów liczy sobie PLD?
Nie mam pojęcia, ale po pobieżnym przejrzeniu repo naprawdę nie sądze żeby było ich więcej niż w Gentoo czy Debianie.
# poldek
Loading [pdir]ac…
Loading [pdir]ac-ready…
Loading [pdir]ac-test…
Przeczytano 13460 pakietów
Tak więc masz rację - gentoo i debian mają więcej pakietów - razem.
I to jest 13460 unikalnych pakietów? Nie sądze… Chyba że ftp://ftp.pld.org.pl/pool to nie jest pełne repozytorium oficjalnych pakietów PLD?
To co jest na ftpie, to nie są wszystkie pakiety (poza tym http://ftp.pld-linux.org, a nie pld.org.pl, a pool jest chyba martwy). Specy mamy jakieś 8500.
Co do tekstu, to on by się zasadniczo nadawał do wrzucenia na nasze wiki do 'jak zostać deviloperem'. Jak tylko poprawisz tego Release Maintainera na Release Managera :)
Oops… faktycznie, ale ze względu na godzinę, sam sobie się nie dziwię :)
Z tego 1505 z perlem, 623 z php i okolicami, 275 z dwoma wersjami apche, 180 tetexem, 174 zkernelem. Za to firefox pojawil się w działającej wersji kilka miesięcy po premierze. Często to co jest w innych dystrybucjach w jednym pakiecie w pld jest w kilkunastu. To taki mój kameczyek do mierzenia dystrybucji przez statystyki.
PawelK, i dzieki tym malutkim pakiecikom jest dobrze. To byla jedna z tych rzeczy ktrore mnie pchnely ku PLD. Mialem dosyc sytuacji, w ktorych chcac miec kmix musialem instalowac kdemultimedia z cala masa innego softu. Poza tym gentoo tez zaczyna sie rozbijac na kawalki (kde). Czyli to co dobre i tak bedzie na wierzchu :P
Inna sprawa, ze w PLD jest naprawde duzo oprogramowania, nieraz zdziwilem sie (i nie tylko ja), ze spec juz jest. I to czasem do jakis azjatyckich progsow.
Sorki, mialo byc egzotycznych nie azjatyckich :P
Kochanie, wyczuwam dyskretną nutkę propagandy :P
I nadal twierdzę "ja się do tego nie nadaję" ;))
Nie bardzo rozumiem zarzuty odnośnie rozbicia paczek…
Czy w Debianie jest pakiet "php" zawierający wszystko, od CLI po moduły PEAR? A może pakiet "perl" zawierający wszystkie możliwe biblioteki Perla?
Fakt, że mamy duże rozbicie (żeby uniknąć ciągnięcia zbędnych rzeczy), ale nie na poziomie osobnych plików spec. Jeśli pakiet jest rozbijany, to z jednego pliku spec najzwyczajniej buduje się kilka plików RPM.
O wielkości dystrybucji nie świadczy to, że ma X plików na FTP i Y plików w CVS. Używając Debiana na serwerach (nie mam często wpływu na wybór systemu) często muszę z palca dobudowywać różne rzeczy do systemu. W PLD w najgorszym wypadku musiałem napisać "cd ~/rpm/SPECS; ./builder pakiet".
Tak samo błędny jest zarzut nieaktualności pakietów. Nie oceniaj nas po zawartości repozytorium http://FTP. Firefox nowy był wcześniej, tylko leżał w CVS zbudowany tylko do ac-test.
Gdzie moge zobaczyć listę wszystkich pakietów w PLD jeśli takowego nie posiadam?
@sztywny: http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/
Faktycznie, robi wrażenie…
[jpc@jpc ~/rpm/SPECS] ls . |wc -l
8472
Zbyt dużo, żeby zrobić "grep coś_tam *". Od pewnego czasu trzeba robić "grep coś_tam -R ." ;]
jpc: to nie jest śmiesze ;-P
/me śpiewa ,,Było ich zbyt wielu, by powiedzieć dużo…'' :P
do 'ja':
# find /usr/portage -name '*.ebuild' -print | wc -l
18912
(to tak gwoli ścisłości. /me PLD lubi i uważa, że jest git)
smk: każdy ebuild od osobnego programu? Skąd oni mają tego TYLE? ;]
bo oni maja rozne ebuildy do roznych wersji tego samego progsa.
Pierwszy z brzegu katalog:
.-(/mnt/gentoo/usr/portage/app-admin/webmin)——————————————————————————————————————————————(root@pstryk)-
`–# ls
ChangeLog files Manifest metadata.xml webmin-1.160.ebuild webmin-1.170.ebuild webmin-1.170-r3.ebuild webmin-1.180.ebuild
Dzielac ta liczbe 18912 przez cztery (zakladajac ze kazdy soft ma srednio cztery wersje w gentoo) wyjdzie nam liczba mniejsza niz w PLD. Dziekuje za uwage. ;>
jpc: oczywiście, że nie..
ale ja odnosiłem się do tego:
– 8< — 8< –
# poldek
Loading [pdir]ac…
Loading [pdir]ac-ready…
Loading [pdir]ac-test…
Przeczytano 13460 pakietów
– 8< — 8< –
to też są pakiety, a nie oddzielne programy…
Z drugiej strony na FTP PLDowym też nie ma wszystkiego, co leży w CVSie (a ebuild to raczej jak plik spec, a nie jak paczka RPM).
Tak czy siak — największe na pewno są PLD, Debian i Gentoo.
Btw. Zmien ,,Kevina Mitnicka'' na ,,lcamtufa''. Będzie bardziej poprawnie (lcamtuf bardziej mi się kojarzy ze specjalistą niż Mitnick, który był złodziejem) i bardziej swojsko. ;]
Zamiast porównywać ebuildy i spece po 10 do tego samego, porównajcie lepiej ilość źródłowych *.tar.{gz,bz2} do których się te especobuildy odwołują.
Porównajcie też rozmiary swoich męskości przy okazji i zacznijcie wojnę o to, kto dłużej używa linuksa/bsd/hpux/solarisa/whatever.
Patrys: Po co. I tak wszyscy wiedzą, że używam linuksa dopiero od paru lat, ale za to (a może dzięki temu :P) mam najdłuższego członka!
BSD ssie.
czemu tylko pld brak na distrowatch.com? Można spokojnie znaleźć wymienione tam (polskie distra): aurox, pingwinek, hakin9, linux+ live, czasami przewija się navyn-os. PLD tylko brak, które wydawało mi się jedną z najpotężniejszych polskich distro. No, może poza Auroxem, ale to pewnie kwestia sporna.