En person som inte är så mycket datorkunnig skulle inte veta att kärnan är en grundläggande del av alla operativsystem. Det är så långt borta från apparna på ytan att det närmaste du kan komma det från en typisk app på din maskin är att konfigurera nätverksprotokoll och/eller installera drivrutinsprogram. I själva verket är det bara programmerare som vanligtvis hanterar kärnor direkt.
För att måla en perfekt bild är kärnan för en dator vad en motor är för en bil. Du frågar vad det bästa sättet att bidra till Linux-kärnan är? Jag vet inte. Jag är ingen auktoritet på kärnor, men jag har säkert några förslag som du kan ha nytta av.
Förutsättningar involverade
Linux Kernel skrevs i C och assembly-programmeringsspråk att vara av typen monolitisk. Utgiven under GNU GPL-licensen och är tillgänglig på Linux Kernel Archives-webbplatsen.
Som standard betyder detta att du åtminstone måste ha en grundläggande förståelse för hur man programmerar, speciellt i C och montering . Kärnan hanteras med GIT versionskontrollsystem så du måste också förstå hur man arbetar med GIT.
Ett bra ställe att börja är Kernel Newbies, där du kommer att bli bekant med Eudyptula Challenge – en serie programmeringsövningar som lär ut hur du bidrar till Linux-kärnan.
En annan sak du bör veta innan du fördjupar dig i Linux-koden är att Linux-repo på GitHub är ganska mycket en stand-in spegel och Linus accepterar inte pull-förfrågningar.
”faktiska” spegeln är här och allt går över e-postlistor. Det finns guider på nätet om hur man arbetar med e-postlistor i Git om man tittar tillräckligt bra.
Sätten att bidra
Det finns tre huvudsakliga sätt du kan bidra till kärnan:
1. Perfekt koden Quality
Linus har strikta regler för att acceptera kodändringar och han är den enda som kan lägga till mastergrenen. Det finns dock ett par misstag som resulterar i statiska kodkontrollerfel och varningar och vad du kan göra här är att eliminera sådana problem.
Detta är det enklaste sättet att bidra till kärnan, men kom ihåg att du måste ha förstått den rekommenderade kodningsstilen som anges i dokumenten och gjort alla nödvändiga konfigurationer som gör att du kan göra din redigerat arbete tillgängligt för många andra bidragsgivare.
2. Slutför uppgifterna
Om du antingen är nöjd med vad du har gjort hittills eller redan vet hur du gör det, fyller du i listan ToDo en utmärkt poäng att vara. Alla ToDo-filer i källträdet har beskrivningar av det arbete som behöver göras så att du kan komma direkt in i det. Det kan inkludera nya funktioner som ännu inte har lagts till, förbättringar, etc.
3. Fixa buggar
Det här kan vara lika svårt som att slutföra ToDos, om inte svårare. För att fixa buggar måste du redan förstå vad felet är och hur du ska åtgärda det på ett sätt som följer dokumentationsstandarden och inte kommer att bryta andra kodimplementeringar.
Så där har du det!
På ett sätt bidrar jag till Linuxkärnan genom att skriva om den för att öka medvetenheten. Vissa donerar sin ekonomi till bidragsgivare över hela distrospektrumet, och vissa gör kodändringar i kärnans kodbas.Det bästa sättet för dig beror på ett antal faktorer som är mest kända för dig och bara du kan bestämma vilken väg som är bäst för dig.
I slutet av dagen är Linux Kernel tillgänglig för alla som är intresserade av att bidra till den och ingen är under någon tvång att göra det.
Vad tycker du är det bästa sättet att bidra till Linux-kärnan? Är du en bidragsgivare genom kod eller på något annat sätt? Eller så kanske du känner folk som är det. Släpp dina två cent i diskussionsrutan nedan.