En person, der ikke er meget computerkyndig, ville ikke vide, at kernel er en grundlæggende del af ethvert operativsystem. Det er så langt væk fra overfladeapps, at det tætteste du kan komme på det fra en typisk app på din maskine er at konfigurere netværksprotokoller og/eller installere driversoftware. Faktisk er det kun programmører, der typisk beskæftiger sig med kerner direkte.
For at tegne et perfekt billede er kernen for en computer, hvad en motor er for en bil. Du spørger, hvad den bedste måde at bidrage til Linux-kernen er? Jeg ved ikke. Jeg er ikke en autoritet inden for kerner, men jeg har helt sikkert nogle forslag, du kan finde nyttige.
Involverede forudsætninger
Linux-kernen blev skrevet i C og assembly-programmeringssprog at være af typen monolitisk. Udgivet under GNU GPL-licensen er den tilgængelig på Linux Kernel Archives-webstedet.
Som standard betyder det, at du som minimum skal have en grundlæggende forståelse af, hvordan man programmerer, især i C og assembly . Kernen administreres ved hjælp af GIT versionskontrolsystem, så du skal også forstå, hvordan du arbejder med GIT.
Et godt sted at starte er Kernel Newbies, hvor du vil blive fortrolig med Eudyptula Challenge – en række programmeringsøvelser, der lærer hvordan du bidrager til Linux-kernen.
En anden ting, du bør vide, før du dykker ned i Linux-koden, er, at Linux-repoen på GitHub stort set er en stand-in spejl og Linus accepterer ikke pull-anmodninger.
Det “faktiske” spejl er her, og alt går over mailinglister. Der er guider online til, hvordan man arbejder med postlister i Git, hvis man ser godt nok efter.
The Ways to Contribution
Der er 3 hovedmåder du kan bidrage til kernen på:
1. Perfekt kodekvaliteten
Linus har strenge regler for at acceptere kodeændringer, og han er den eneste, der kan tilføje til mastergrenen. Der er dog et par fejl, der resulterer i statiske kodekontrolfejl og advarsler, og hvad du kan gøre her er at fjerne sådanne problemer.
Dette er den nemmeste måde at bidrage til kernen på, men vel at mærke, du skal have forstået den anbefalede kodningsstil som angivet i dokumenterne og lavet alle de nødvendige konfigurationer, der vil tillade dig at redigeret arbejde tilgængeligt for de mange andre bidragydere.
2. Fuldfør ToDos
Hvis du enten er tilfreds med det, du har gjort indtil nu, eller allerede ved, hvordan du gør det, er det at udfylde ToDo-listen en fremragende pointe at være. Alle ToDo filer på kildetræet har beskrivelser af det arbejde, der skal udføres, så du kan komme direkte ind i det. Det kan omfatte nye funktioner, der endnu ikke er tilføjet, rettelser til forbedringer osv.
3. Ret fejl
Dette kan være lige så svært som at fuldføre ToDos, hvis ikke sværere. For at rette fejl skal du allerede forstå, hvad fejlen er, og hvordan du løser den på en måde, der overholder dokumentationsstandarden og ikke bryder andre kodeimplementeringer.
Så der har du det!
På en måde bidrager jeg til Linux-kernen ved at skrive om den for at øge bevidstheden. Nogle donerer deres økonomi til bidragydere på tværs af distrospektret, og nogle foretager kodeændringer til kernekodebasen.Den bedste måde for dig afhænger af en række faktorer, du bedst kender, og det er kun dig, der kan beslutte, hvilken vej der er bedst egnet for dig.
I slutningen af dagen er Linux-kernen tilgængelig for alle, der er interesserede i at bidrage til den, og ingen er under nogen tvang til at gøre det.
Hvad synes du er den bedste måde at bidrage til Linux-kernen? Er du bidragyder ved kode eller på anden måde? Eller måske kender du folk, der er. Smid dine to øre i diskussionsboksen nedenfor.