Previous Up Next

1.0.4  Hoe werkt het GNU/Linux ontwikkelmodel?

Een distributie, zoals al eerder aangehaald, bevat verschillende softwarecomponenten. Deze componenten worden onafhankelijk van elkaar ontwikkeld en het samenbrengen van deze componenten in een distributie gebeurt tevens op verschillende manieren, afhankelijk van de distributie die je bekijkt.

Algemeen geldt dat de software componenten op een gelijkaardige manier ontwikkeld worden. Er is een publieke mailinglist waarop men discussies houdt en waar bijdragen gepresenteerd worden zodat andere ontwikkelaars en geinteresseerden deze kunnen testen. Wanneer een dergelijke bijdrage aanvaard wordt wordt ze aan de broncode van de software component toegevoegd door een officiele ontwikkelaar van het project. Een dergelijke officiele ontwikkelaar kan een vrijwilliger zijn maar tevens een werknemer die actief bijdraagt aan het ontwikkelproces.

De broncode wordt meestal centraal beheerd op een server waarvan ontwikkelaars steeds de laatste versie kunnen afhalen. Dergelijke servers draaien meestal specifieke software die toelaten om de software parallel te ontwikkelen, aanpassingen ongedaan te maken en dergelijke meer.

Af en toe zal de hoofdontwikkelaar van de software de broncode in zijn huidige toestand vastleggen en, na wat laatste aanpassingen, voor het brede publiek ter beschikking stellen. Dit wordt dan een release genoemd en wordt met een versienummer geidentificeerd.

Als voorbeeld van een dergelijk ontwikkelproces nemen we de Linux kernel onder de loupe.

De Linux kernel

De kernel, het hart van elk GNU/Linux systeem, wordt ontwikkeld door enkele honderden ontwikkelaars, zowel vrijwilligers als werknemers in dienst. Zo bevat de upgrade tussen 2.6.8 en 2.6.9 bijdragen van ongeveer 667 mensen.

De ganse ontwikkeling van de Linux kernel gebeurt hoofdzakelijk op een specifieke (publieke) mailinglist. Het zal je niet verbazen wanneer ik je vertel dat deze zeer druk is. Op deze mailinglist komen bijdragen terecht die dan door tientallen, zoniet honderden anderen getest worden alvorens ze ook maar in aanmerking komen voor toevoeging aan de "officiele" kernel.

Wanneer een dergelijke bijdrage in aanmerking komt om in de officiele kernel opgenomen te worden wordt de bijdrage door een hoofdontwikkelaar in de kernel broncode opgenomen. Dit kan Linus Torvalds zelf zijn, de geestelijke vader van Linux, of een van de ontwikkelaars die Linus’ zegen hebben gekregen om rechtstreeks code aan te passen.

Wanneer er voldoend grote aanpassingen gebeurd zijn aan de broncode wordt een nieuwe release gemaakt en aangekondigd door Linus Torvalds. Deze release is dan voor publiek gebruik en wordt door een versienummering aangegeven (zoals bv 2.6.9).

Elke bijdrage moet wel duidelijk afgetekend zijn door de ontwikkelaar zelf zodat men later kan terugvinden van wie een bepaalde bijdrage komt en hoe deze in de broncode is terecht gekomen (via welke andere tussenpersonen). Dit "sign-off" proces wordt nu recent toegepast om toekomstige discussies betreffende intellectueel eigendom eenvoudiger te kunnen beslechten. Voorts komen er enkel GPL- of GPL-compatibele bijdragen in de kernel zodat deze altijd vrij blijft.

Documentatie en distributie ontwikkelingen

Software is echter niet het enige dat ontwikkeld wordt. Bijna elk software project heeft een actieve documentatie-ontwikkeling. Dit ontwikkelproces loopt meestal analoog aan het software proces alhoewel aanpassingen aan documentatie sneller publiek gemaakt worden.

Verder heb je ook de ontwikkeling van een GNU/Linux distributie. Aangezien een distributie meer is dan simpelweg de CD die je downloadt of de software die je installeert kan je dit niet vergelijken met het voorgaande ontwikkelproces. Distributies hebben onderling vaak verschillende ontwikkelprocessen.

Sommige distributies worden niet op een publieke manier ontwikkeld, anderen dan weer volledig open. De ene distributie wordt door een zeer selecte groep van mensen onderhouden, soms zelfs door 1 enkel individu. De andere dan weer door een groep van meer dan honderd ontwikkelaars. Om het ontwikkelproces van een distributie te doorgronden verwijzen we u dan ook liever door naar de website van de distributie zelf.


BCOL-FAQ : De Belgische Linux nieuwsgroep vragen
Previous Up Next