Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 29. april 2005.
Som andre store udviklingsprojekter anvender Linux-projektet også et versionsstyringssystem.
I sidste uge frigav Linus Torvalds et nyt open source-system. Det er ikke en ny version af Linux, men et helt nyt versionsstyringssystem eller Source Code Management (SCM)-system kaldet Git.
SCM-systemet skal bruges til at holde styr på koden fra de mere end tusind udviklere, der jævnligt bidrager med kode til Linux-operativsystemet.
Git kommer til at afløse SCM-systemet BitKeeper, som Linux-projektet ellers har anvendt siden 2002. Da Linux-projektet begyndte at anvende BitKeeper for tre år siden, blev Linus Torvalds dobbelt så effektiv, fordi han blev i stand til at håndtere langt flere kodelinier fra de mange Linux-udviklere. Før havde udviklerne blot sendt ændringer til Linux-koden via e-mail. BitKeeper gjorde det nemmere for Linus Torvalds at uddelegere noget af arbejdet med at holde styr på Linux-koden.
BitKeeper er et proprietært SCM-system, hvilket gjorde det til et kontroversielt værktøjsvalg blandt open source-udviklere. Et lukket system til at holde styr på kildekoden for open source-bevægelsens flagskib? Det kan man ikke, mente mange open source-udviklere.
Utilfredsheden med Linus Torvalds' beslutning om at anvende BitKeeper rørte dog ikke Linus Torvalds synderligt. Han sagde, at hans valg var pragmatisk, og at BitKeeper var det bedst egnede værktøj til Linux-projektet.
Firmaet bag BitKeeper, BitMover, stillede værktøjet gratis til rådighed for Linux-udviklerne. En af Linus Torvalds' kolleger i Open Source Developer Labs, Andrew Tridgell, begyndte at undersøge BitKeeper nærmere ved at forbinde sig til Bitkeeper-serverens port 5000 ved hjælp af telnet-protokollen og se, hvilke kommandoer han kunne gøre brug af.
BitMover opfattede det, som om Andrew Tridgell var i gang med at udvikle en open source BitKeeper-klient og trak den gratis version tilbage - og så stod Linus Torvalds i princippet uden et SCM-system til Linux.
Han begyndte derfor at se på andre SCM-systemer, men fandt ikke nogen, der passede til Linux-projektets behov. Derfor skrev han sit eget SCM-system.
Mens udviklingen af Git stod på, håndterede Linus Torvalds opdateringen af Linux-koden på den gamle måde; ved at udviklerne sendte mails med patches til Linus Torvalds.
Linus Torvalds betegner selv sit nye SCM-system Git som "en implementering, der på mange måder stinker, men som opfylder mine behov".
Han forventer derfor ikke, at det kan anvendes til så mange andre projekter end lige Linux. Men han udviklede jo også kun Linux for sjov...
Boks:
git
På engelsk betyder git idiot eller fjols. I det nye versionsstyringssystems egen beskrivelse forklares valget af navnet med følgende:
- Tilfældig trebogstavskombination, som ikke anvendes af nogen Unix-kommano. At det kan være en forkert udtale af "get" er måske, måske ikke, relevant.
- Dum, foragtelig og simpel. Vælg selv fra slangordbogen.
- Global information tracker: Du er i godt humør, og det fungerer for dig. Engle synger, og lys fylder pludselig rummet.
- Goddamn idiotic truckload of sh*t: Når det går ned.
Source code management (SCM)
SCM anvendes til at holde styr på kildekode og binære filer for softwareprojekter. Eksempler på SCM-systemer er open source-produktet CVS, Rationals ClearCase og Perforce.