To tłumaczenie może nie uwzględniać zmian od 2022-05-10 dokonanych w oryginale angielskim.

Możecie podejrzeć zmiany. Aby zapoznać się z informacjami dotyczącymi utrzymywania tłumaczeń tego artykułu, proszę odwiedzić stronę tłumaczeń.

Zasoby GNU dla deweloperów

Ta strona opisuje wiele z usług, które są dostępne dla deweloperów GNU na maszynach Projektu GNU. Aby uzyskać wszystkie informacje na temat przywilejów i odpowiedzialności opiekunów projektów GNU, proszę przeczytać Informacje dla opiekunów projektów GNU, a także zapoznać się ze Standardami Programowania GNU. Warto również zainteresować się radami dla opiekunów GNU oraz opisem tego co jest pakiet GNU.

Dzięki obfitości niedrogich komputerów, na których może działać GNU/Linux, a także szerokiego dostępu do Internetu, wielu wolontariuszy GNU posiada wszystkie narzędzia komputerowe, których potrzebują. Nadal jednak istnieją zalety posiadania centralnego serwera, gdzie mogą oni współpracować bez udostępniania własnych maszyn innym.

Z tego powodu, Fundacja Wolnego Oprogramowania zachęca aby projekty GNU jako swoją główną bazę wykorzystywały maszyny gnu.org. Używanie ich pomaga niebezpośrednio również projektowi GNU, poprzez zwiększenie publicznej świadomości na temat GNU i szerzenia idei wspólnej pracy, przynoszącej korzyść wszystkim.

Savannah i kontrola wersji

Jeśli pracujesz nad oficjalnym pakietem GNU, stanowczo zalecamy użycie publicznego repozytorium kodu źródłowego na Savannah, serwerze hostingowym GNU. Aby to zrobić należy najpierw stworzyć konto użytkownika oraz zarejestrować swój pakiet GNU. Następnie przedstawiony zostanie wybór systemu kontroli wersji, stworzenia stron internetowych projektu, zarządzania uprawnieniami dla innych osób wnoszących swój wkład oraz wiele innych funkcji.

Lista mailingowa

W wypadku potrzeby prowadzimy listy mailingowe dla projektów oprogramowania GNU, zarówno zarządzane ręcznie, jak i automatycznie.

Po zarejestrowaniu pakietu GNU na Savannah, interfejs dostępny na stronie pozwala deweloperom na tworzenie i zarządzanie związanymi z ich pakietem listami mailingowymi.

Każdy pakiet GNU powinien mieć przynajmniej listę mailingową, na której można zgłaszać błędy o nazwie kanonicznej bug-nazwa pakietu@gnu.org (z dodatkowymi przydatnymi aliasami, czyli innymi nazwami kierującymi na ten adres). Używając Savannah możesz stworzyć listę z taką nazwą dla swojego pakietu. Niektóre pakiety korzystają wspólnie z [email protected], ale obecnie zalecamy, żeby każdy pakiet miał oddzielną listę.

Pakiety mogą mieć inne listy w różnych celach: ogłoszenia, pytania o pomoc, umieszczania kodu źródłowego, dyskusji użytkowników lub cokolwiek innego co opiekun pakietu uzna za przydatne.

Archiwa automatycznie zarządzanych list dostępne są na lists.gnu.org (archiwa mbox dostępne przez HTTPS), a także poprzez menedżera listy. Archiwa ręcznie zarządzanych list zazwyczaj trzymana są w /com/archive na serwerach GNU.

Kiedy lista mailingowa stanie się wystarczająco duża, by było to uzasadnione, możemy stworzyć grupę dyskusyjną gnu.* połączoną obustronnym linkiem z listą mailingową.

Strony internetowe

Głównym serwerem GNU jest http://www.gnu.org/. Stanowczo zalecamy, aby pakiety GNU używały adresu http://www.gnu.org/software/nazwa pakietu jako swojej głównej strony domowej.

Używając Savannah, twórcy oprogramowania mogą tworzyć i zarządzać własnymi stronami pod tym adresem url przez repozytorium CVS (oddzielnym od głównego repozytorium projektu, które może używać dowolny wspierany system kontroli wersji). Więcej informacji o zarządzaniu stronami na serwerach GNU.

FTP

Główny serwer FTP dla oprogramowania GNU znajduje się pod adresem http://ftp.gnu.org/ i posiada kopie na całym świecie. Stanowczo zalecamy by wszystkie projekty GNU wysyłały tu swoje wydania (oprócz innych lokalizacji, które uznają za stosowne).

Używamy innego serwera dla wydań testowych, aby ludzie nie instalowali ich myśląc, że są one ostatecznymi wydaniami programu. Ten serwer to ftp://alpha.gnu.org/.

Informacja dla opiekunów GNU zawiera wszystkie szczegóły opisujące proces wysyłania danych przez ftp. Są one takie same dla obu serwerów.

Konta shellowe

Udostępniamy też konta shellowe na maszynach GNU ludziom, którzy potrzebują ich do pracy nad oprogramowaniem GNU. Posiadanie konta jest przywilejem, ale też odpowiedzialnością. Powinno być one wykorzystywane tylko do pracy nad GNU. Instrukcje uzyskania konta są opisane oddzielnie.

Na ogólnej maszynie opiekunowie pakietu gsrc utrzymują hierarchię bieżących wersji pakietów GNU (/gd/gnu/gnusys/live), skompilowanych z oryginalnych źródeł. Aby je użyć, wykonajcie „source /gd/gnu/gnusys/live/setup”.

Można także używać konta GNU do poczty elektronicznej.

Hydra: Ciągła integracja i testowanie przenośności

Narzędzia do ciągłej integracji pozwalają na wychwytywanie błędów programistycznych krótko po tym jak zostają wprowadzone do projektu, co jest szczególnie przydatne w przypadku współpracy wielu osób.

Hydra jest wolnym narzędziem do ciągłej integracji bazującym na menedżerze pakietów Nix. Administratorzy serwera Hydra na Politechnice w Delft wspaniałomyślnie zgodzili się na udostępnienie zasobów dla Projektu GNU. Projekty na Hydra są ponownie kompilowane przy każdym commit lub zmianie w zależnościach, którekolwiek nastąpi pierwsze (zależności to też środowisko kompilacji, które zawiera wydane wersje GCC, GNU make, itd.)

Obecnie może ona budować programy na GNU/Linux (i686 oraz x86_64), jak również FreeBSD, Darwin oraz Cygwin, a także budować skrośnie na GNU/Hurd, GNU/Linux dla innych architektur oraz MinGW. Dostarcza raporty pokrycia kodu utworzone za pomocą LCOV. Oprócz archiwów tar oraz paczek Nix, może budować pakiety deb oraz RPM. Pakiety mogą być budowane w oparciu o najnowszą wersją swoich zależności. Na przykład GnuTLS jest budowane z użyciem najnowszych wersji GNU libtasn1 oraz GNU libgrypt.

Oprócz interfejsu webowego, Hydra może wysyłać powiadomienia mailem kiedy zmieni się status kompilacji projektu (np. z SUCCEEDED na FAILED). Gdy pakiet ma status FAILED, log i drzewo kompilacji są dostępne z interfejsu sieciowego; to drugie pozwala na podejrzenie wygenerowanych plików (przykładowo config.log lub testsuite.log) i uzyskania podpowiedzi przy debugowaniu.

Dowolny pakiet oprogramowania GNU może wnieść prośbę o zasoby na Hydra. Każdy pakiet musi dostarczyć swój własny “przepis budowy” napisany w języku Nix ( wyrażenie Nix, w żargonie Nix). Wyrażenia Nix dla projektów GNU są dostępne poprzez Git. Dla prostych projektów używających standardowych narzędzi GNU takich jak Automake oraz Autoconf, przepis jest całkiem prosty. Dla przykładu, przepis dla GNU Patch. Proszę pytania o porady kierować na listę [email protected].

Po konsultacji Waszego przepisu budowy, napiszcie na listę [email protected] z prośbą o włączenie do Hydry [maile proszę wysyłać w języku angielskim – przyp. tłum.]. Zapiszcie się także do projektu hydra-recipes na Savannah. To umożliwi dostosowanie do własnych potrzeb proces kompilacji Waszego projektu.

Aby uzyskać techniczne informacje na temat Hydra, można skonsultować podręcznik Hydra. Więcej szczegółów znajduje się w podręczniku Nix.

platform-testers: ręczne sprawdzanie przenaszalności

Inna przydatna możliwość sprawdzania przed wydaniem jest lista mailowa platform-testers. Jeśli mają czas, ludzie na tej liście kompilują oprogramowanie na różnych systemach na prośbę. (Dodatkowi wolontariusze do tych kompilacji są mile widziani! Zapiszcie się na listę i zacznijcie uczestniczyć.)

W przeciwieństwie do narzędzia Hydra opisanego wyżej, lista platform-testers działa w zasadzie ręcznie, więc każda z metod ma swoje wady i zalety. Przykładowo, drużyna platform-testers ma dostęp do więcej różnych platform i kompilatorów niż Hydra.

Jeśli macie program przed wydaniem, możecie napisać na tą listę dostarczając (1) adres źródła, (2) planowaną datę wydania i (3) adres, na który mają być wysłane wyniki kompilacji. Kompilacje i ich wyniki są składane ręcznie przez wolontariuszy na liście.