Iemand die niet echt computervaardig is, zou niet weten dat de kernel een fundamenteel onderdeel is van elk besturingssysteem. Het is zo ver verwijderd van de oppervlakte-apps dat u er het dichtst bij kunt komen met een typische app op uw machine, door netwerkprotocollen te configureren en/of stuurprogramma's te installeren. Eigenlijk werken alleen programmeurs rechtstreeks met kernels.
Om een perfect beeld te schetsen: de kernel is voor een computer wat een motor is voor een auto. U vraagt wat de beste manier is om bij te dragen aan de Linux-kernel? Ik weet het niet. Ik ben geen autoriteit op het gebied van kernels, maar ik heb zeker enkele suggesties die je misschien nuttig vindt.
Vereisten Betrokken
De Linux-kernel is geschreven in C en assembleerprogrammeertalen van het type Monolithisch zijn. Vrijgegeven onder de GNU GPL licentie, is beschikbaar op de Linux Kernel Archives-website.
Standaard betekent dit dat u op zijn minst een basiskennis moet hebben van programmeren, vooral in C en assembleren . De kernel wordt beheerd met behulp van GIT versiebeheersysteem, dus je moet ook begrijpen hoe je met GIT moet werken.
Een goede plaats om te beginnen is Kernel Newbies, waar u vertrouwd zult raken met de Eudyptula Challenge – een reeks programmeeroefeningen die leert hoe je kunt bijdragen aan de Linux-kernel.
Nog iets dat je moet weten voordat je je verdiept in de Linux-code, is dat de Linux-repo op GitHub zo'n beetje een stand-in is mirror en Linus accepteert geen pull-verzoeken.
De “echte” spiegel is hier en alles gaat over mailinglijsten. Er zijn handleidingen online over hoe te werken met mailinglijsten in Git als je goed genoeg kijkt.
De manieren om bij te dragen
Er zijn drie belangrijke manieren waarop u kunt bijdragen aan de kernel:
1. Perfectioneer de codekwaliteit
Linus heeft strikte regels voor het accepteren van codewijzigingen en hij is de enige die kan toevoegen aan de master branch. Er zijn echter een aantal fouten die leiden tot statische codecontrolefouten en waarschuwingen en wat u hier kunt doen, is dergelijke problemen oplossen.
Dit is de makkelijkste manier om bij te dragen aan de kernel, maar let wel, je moet de aanbevolen coderingsstijl zoals vermeld in de documenten begrepen hebben en alle nodige configuraties gemaakt hebben om je bewerkt werk beschikbaar voor de vele andere bijdragers.
2. Voltooi de ToDos
Als je tevreden bent met wat je tot nu toe hebt gedaan of al weet hoe je dat moet doen, is het invullen van de ToDo lijst een uitstekend punt om te zijn. Alle ToDo bestanden in de broncodeboom bevatten beschrijvingen van het werk dat moet worden gedaan, zodat u er meteen mee aan de slag kunt. Het kan nieuwe functies bevatten die nog moeten worden toegevoegd, verbeteringsoplossingen, enz.
3. Repareer fouten
Dit is misschien net zo moeilijk als het voltooien van de ToDos, zo niet moeilijker. Om bugs op te lossen, moet u al begrijpen wat de fout is en hoe u deze kunt oplossen op een manier die voldoet aan de documentatiestandaard en andere code-implementaties niet verbreekt.
Zo, daar heb je het!
In zekere zin draag ik bij aan de Linux-kernel door erover te schrijven om het bewustzijn te vergroten. Sommigen doneren hun financiën aan bijdragers in het hele distro-spectrum, en sommigen brengen codewijzigingen aan in de kernelcodebasis.De beste manier voor jou hangt af van een aantal factoren die je het best kent en alleen jij kunt beslissen welke manier voor jou het meest geschikt is.
Aan het einde van de dag is de Linux Kernel beschikbaar voor iedereen die geïnteresseerd is om eraan bij te dragen en niemand dwang daartoe.
Wat is volgens jou de beste manier om bij te dragen aan de Linux-kernel? Ben je een bijdrager via code of op een andere manier? Of misschien ken je mensen die dat wel zijn. Laat je twee cent vallen in het discussievenster hieronder.