20 éves a Git: Linus Torvalds visszatekintése a kezdetektől a jelenkorig

2005.április 7-én Linus Torvalds, a Linux kernel atyja, útjára indította a Git nevű verziókezelő rendszert. Húsz évvel később ez az eszköz szinte minden fejlesztő eszköztárának alapja. Az évforduló alkalmából Linus egy a napokban megjelent interjúban visszatekintett a szoftver keletkezésére, korai időszakára, és elmondta véleményét a jelenlegi irányokról.

20 éves a Git: Linus Torvalds visszatekintése a kezdetektől a jelenkorig

A Git létrehozását a kényszer szülte

Torvalds kifejezetten utálta a korabeli verziókövetőket. A CVS, az RCS, az SCCS és később az SVN használata szerinte frusztráló élmény volt, amely nem oldotta meg az alapvető problémákat, csak újakat hozott létre. A BitKeeper – egy nem nyílt forráskódú rendszer – ugyan hozott előrelépést, például a disztribuált modelljével és globális verziótörténetével, de korlátozott licencelése végül lehetetlenné tette a további használatát a Linux kernelfejlesztésben.

Torvalds világosan látta: ha nincs megfelelő eszköz, meg kell írnia saját magának. Így született meg néhány nap alatt a verziókezelő első változata, de a gyors kódolás mögött hónapok gondolkodása, tapasztalatgyűjtése és tervezése állt. Már az induláskor alapelv volt a megbízhatóság, a teljesítmény és a disztribuált működés – ezek a pillérek ma is meghatározók.

A kernel fejlesztés nem álhatott le, ezért a projekt vezetése kikerült Torvalds kezéből

A szoftver fejlesztését Linus már néhány hónap után továbbadta. A választás Junio Hamano-ra esett, aki már az első héten bekapcsolódott a projektbe. Torvalds számára egyértelmű volt: amint talál valakit, akiben megbízik, visszatér a kernelhez. Hamano azóta is a projekt vezetője, és Torvalds szerint a szoftver mai állapotát sokkal inkább neki, mint önmagának köszönhetjük.

Minek köszönheti a Git vezető pozicióját?

2005-ben szinte egyszerre indult a Mercurial és a Git. Sokak szerint a Mercurial kezelése barátságosabb volt, mégis a Git vált uralkodóvá. Torvalds szerint ebben nagy szerepe volt a „hálózati” hatásoknak: a kernel projekt átvette, majd hamarosan a Ruby on Rails közösség is, innen pedig már megállíthatatlan volt a terjedése.

De nem csak a körülmények döntöttek. A szoftver mögötti architektúra – egyszerű és erős modellje – könnyen adaptálhatóvá tette más környezetekhez. A kezdeti komplexitása ellenére a „helyes” döntések hosszú távon előnyt jelentettek.

Fejlődés, hatás és alkalmazkodás

Torvalds szerint a szoftver legnagyobb mérföldkövei gyakran nem magában az eszközben, hanem a köré épülő ökoszisztémában jelentek meg. A nagy Git-alapú tárhelyszolgáltatók megjelenése, vagy a Windows-kompatibilitás például mások számára kulcsfontosságú volt – számára viszont kevésbé, mivel ő kizárólag a kernel fejlesztésére használta már a kezdetektől.

Az is világos, hogy nem kíván visszatérni a projekt aktív fejlesztéséhez. Nem azért hozta létre a szoftvert, mert érdekelte a verziókezelés – hanem mert kellett neki. A projekt mögött meghúzódó elvi tisztaság, az egyszerű objektumtár-koncepció és a strukturált gondolkodás viszont a mai napig meghatározza a rendszer működését, hasonlóan ahhoz, ahogyan a Unix-filozófia irányította a klasszikus operációs rendszerek fejlődését.

Nyelvi bővítés? Csak ha van értelme

A Linux kernel már elkezdett egyes részeiben Rustot használni, és felmerült a kérdés: vajon a Gitnek is ez a jövője? Torvalds szerint nem feltétlenül. A szoftver ugyanis nem egyetlen összefüggő bináris, mint a kernel, így kevesebb kényszer van a nyelvkeverésre. A külön nyelvű implementációk, mint például a JGit (Java), már eddig is jól szolgálták azokat a környezeteket, ahol más programozási nyelv jobban illeszkedik. Rustos komponensek is megjelentek, de ezek célzott, speciális problémák megoldására valók – nem az egész kód átírására.

Van élet a Git után? Egyelőre nem valószínű

Torvalds úgy látja, hogy a verziókezelő rendszerek terén érvényesülő hálózati hatás olyan erős, hogy a Git leváltásához nem elég egy kicsivel jobb alternatíva – annak drámaian jobbnak kellene lennie. Ráadásul a szoftver már nem szenved azoktól az alapvető problémáktól, amelyek a korábbi eszközöket sújtották. Így jelenleg sokkal valószínűbb, hogy a Git köré épül tovább az innováció, mint hogy teljesen új verziókezelő rendszer váltsa le.

A Torvaldssal készült interjú eredeti nyelven, teljes terjedelmében a GitLab weboldalon olvasható.