Osoba, która nie jest zbyt biegła w obsłudze komputera, nie wiedziałaby, że kernel to podstawowa część każdego systemu operacyjnego. Jest tak daleko od aplikacji powierzchniowych, że najbliżej do niego z typowej aplikacji na komputerze jest konfigurowanie protokołów sieciowych i/lub instalowanie oprogramowania sterownika. W rzeczywistości tylko programiści zwykle zajmują się bezpośrednio jądrami.
Aby namalować doskonały obraz, jądro jest dla komputera tym, czym silnik dla samochodu. Pytasz, jaki jest najlepszy sposób wniesienia wkładu w jądro Linuksa? Nie wiem. Nie jestem autorytetem w dziedzinie jąder, ale z pewnością mam kilka sugestii, które mogą Ci się przydać.
Wymagane wymagania wstępne
Jądro Linuksa zostało napisane w języku C i asemblerze być typu monolityczny. Wydany na licencji GNU GPL, jest dostępny na stronie Linux Kernel Archives.
Domyślnie oznacza to, że musisz mieć przynajmniej podstawową wiedzę na temat programowania, zwłaszcza w C i asemblerze . Jądro jest zarządzane przy użyciu systemu kontroli wersji GIT, więc musisz także zrozumieć, jak pracować z GIT.
Dobrym miejscem na początek jest Kernel Newbies, gdzie zapoznasz się z Eudyptula Challenge – serią ćwiczeń programistycznych, które uczą jak współtworzyć jądro Linuksa.
Kolejną rzeczą, o której powinieneś wiedzieć, zanim zagłębisz się w kod Linuksa, jest to, że repozytorium Linuksa na GitHub jest w zasadzie zastępstwem mirror i Linus nie akceptuje pull requestów.
„rzeczywiste” lustro jest tutaj i wszystko przechodzi przez listy mailingowe. Istnieją przewodniki online, jak pracować z listami mailingowymi w Git, jeśli dobrze wyglądasz.
Sposoby udzielania się
Istnieją 3 główne sposoby wspierania jądra:
1. Doskonal jakość kodu
Linus ma ścisłe zasady akceptowania zmian w kodzie i jako jedyny może dodawać do gałęzi master. Istnieje jednak kilka błędów, które skutkują błędami statycznego sprawdzania kodu i ostrzeżeniami, a jedyne, co możesz zrobić, to wyeliminować takie problemy.
To najłatwiejszy sposób współtworzenia jądra, ale pamiętaj, że musisz znać zalecany styl kodowania podany w dokumentacji i wykonać wszystkie niezbędne konfiguracje, które pozwolą ci zredagowana praca dostępna dla wielu innych autorów.
2. Wypełnij Zadania
Jeśli jesteś zadowolony z tego, co zrobiłeś do tej pory lub już wiesz, jak to zrobić, wypełnienie listy Do zrobienia jest doskonały punkt. Wszystkie pliki Do zrobienia w drzewie źródłowym zawierają opisy prac, które należy wykonać, aby można było od razu się do nich zabrać. Może zawierać nowe funkcje, które dopiero mają zostać dodane, poprawki ulepszeń itp.
3. Naprawić błędy
To może być równie trudne jak wykonanie Zadania, jeśli nie trudniejsze. Aby naprawić błędy, musisz już wiedzieć, czym jest błąd i jak go naprawić w sposób zgodny ze standardem dokumentacji i nie psujący innych implementacji kodu.
No i proszę!
W pewnym sensie przyczyniam się do rozwoju jądra Linuksa, pisząc o nim, aby zwiększyć świadomość. Niektórzy przekazują swoje finanse współpracownikom z całego spektrum dystrybucji, a niektórzy wprowadzają zmiany w kodzie jądra.Najlepszy dla Ciebie sposób zależy od wielu najlepiej znanych Ci czynników i tylko Ty możesz zdecydować, który sposób jest dla Ciebie najbardziej odpowiedni.
Pod koniec dnia Linux Kernel jest dostępny dla wszystkich zainteresowanych współtworzeniem go i nikt nie jest objęty żadnymi ograniczeniami zmuszać do tego.
Jak myślisz, jaki jest najlepszy sposób wniesienia wkładu w jądro Linuksa? Czy jesteś współtwórcą za pomocą kodu lub w inny sposób? A może znasz ludzi, którzy są. Wrzuć swoje trzy grosze w polu dyskusji poniżej.