Linus chce změnit značení verzí jádra

Petr Krčmář 17. 7. 2008

Více než deset let jsme byli zvyklí na verzování jádra podle nových vlastností a odlišování stabilních a vývojářských verzí sudými a lichými verzemi. Systém se ale změnil a Linus se obává matoucích a příliš vysokých verzí a rád by přijal nový způsob označování verzí. Jaké jsou konkrétní návrhy?

Jak je to s verzemi jádra?

V podstatě od začátku vývoje linuxového jádra byl udržován jednotný verzovací systém označovaný jako X.Y.Z. Tři čísla oddělená tečkou měla pevně daný význam: X udávalo generaci jader a měnilo se velmi zřídka. Sudé Y označovalo stabilní řadu, liché pak vývojovou větev, která nebyla určena pro běžné uživatele. Z pak značilo konkrétní verzi jádra v té které stabilní či nestabilní větvi.

První stabilní jádro vyšlo v březnu roku 1994 a bylo označeno jako 1.0.0. Zároveň vznikla vývojová větev 1.1.0, do které byly vkládány změny. Z ní pak vzešla nová stabilní řada 1.2.0 a tak dále. Tento vývojový model byl udržován v nezměněné podobě také při vývoji stabilních řad 2.2, 2.4 a 2.6. Ve chvíli, kdy se Linus Torvalds rozhodl otevřít novou vývojovou (lichou) řadu, dostalo aktuální stabilní jádro svého správce, který se o něj nadále staral.

Tento model vývoje a označování verzí byl považován za naprostý standard po více než deset let. Pak se jej v roce 2004 rozhodli vývojáři změnit. Linus se společně s Andrewem Mortonem rozhodl přejít na obvyklejší vývojový model, který využívá většina softwarových projektů „ vývoj mezi jednotlivými stabilními verzemi.

Namísto paralelního vývoje ve dvou větvích tak vývoj přešel na klasický cyklus, kdy je jeden zdrojový kód neustále upravován, jednou za čas je stabilizován, otestován a vzejde z něj jedna nová verze. Tímto způsobem jsou již mnoho let vyvíjena jádra řady 2.6 a žádná vývojová řada 2.7 neexistuje.

Dojde ke změně?

Z dnešního pohledu je tedy trojčíselný způsob označování verzí zcela zbytečný a můžeme jej označit za přežitý. Proto nyní ve vývojářské konferenci padla otázka, jak bude vývoj vypadat, až vyjde verze 2.7 a co to bude přesně znamenat?

Vůbec nic. Nehodlám se vrátit ke starému modelu. Nový model je podstatně lepší, takže nemá vůbec smysl se bavit o návratu. Zvažuji tedy jen změnu verzování. Nechci návrat ke starému modelu, ale stabilní zvyšování verze vede k velkým číslům. Rozhodně nejsem nadšený z čísla ‚26‘, které je velmi obtížně zapamatovatelné.

Je tedy zřejmé, že aktuální vývojový model se osvědčil a Linus je s ním spokojený. Sám si ale uvědomuje zastaralost aktuálního označování verzí a aktuální jádro 2.6.26 už má podle něj příliš vysoké číslo verze. Linus se tak chce vyhnout verzím jako 2.6.168 a podobně.

Dalším důvodem pro změnu je změna cyklu vydávání. Dříve byly testovací verze vydávány vždy podle nových vlastností. Pokud se jich nakupilo větší množství, vývojáři zveřejnili další verzi. Nyní ale nové verze vycházejí v pravidelných časových cyklech, nezávisle na novinkách. Testovací verze vycházejí ve dvoutýdenních cyklech, stabilní vydání pak přicházejí přibližně jednou za dva měsíce.

Myslím, že pravidelná vydání jsou tak úspěšná, že bych rád vyměnil i verzovací model. Nevydáváme na základě nových vlastností, takže proč bychom měli na základě nových vlastností číslovat?

Co Linus navrhuje?

Pravidelný vývojový model by měl mít také pravidelné verzování. Stejný způsob používá například linuxová distribuce Ubuntu, která vychází ve zcela pravidelných cyklech vždy jednou za půl roku. Tomu je logicky přizpůsobeno i číslování verzí: letošní verze z dubna je označena rokem a měsícem jako 8.04 a příští verze, která vyjde v říjnu, ponese označení 8.10.

Linus navrhl několik nových řešení, založených na pravidelných cyklech, která by nevedla k příliš vysokým a nezapamatovatelným číslům.

Pokud budou verze založeny na datech, pak bychom místo 2.6.26 měli mít spíše 2008.7. Nebo můžeme hlavní [major] verzi zvýšit po každé dekádě, střední pak každý rok a nejnižší [minor] pokaždé, kdy uvolníme vydání. Jakkoliv. Mohli bychom u druhého čísla vycházet také z roku vydání, takže 2008 by dalo 2.8 a první vydání roku 2009 by bylo označeno jako 2.9.1. A 2010 by bylo 3.0.1.

Linus se chce také vyhnout „nulovým“ vydáním, která by mohla opět uživatele zmást. Vyhnul bych se ‚.0‘, protože to opět vypadá jako ‚nové velké neotestované vydání‘, což není ve schématu založeném na datech pravda.

Anketa

Jak by měla vypadat verze jádra v roce 2009?

Co dál?

Linus původně plánoval prezentovat nové verzování až na nadcházejícím Linux kernel summitu, ale když už byla otázka položena, nebyl důvod na ni neodpovědět. Celá otázka tedy bude ještě probírána v širším kruhu vývojářů a bude zřejmě široce diskutována.

Navíc Linus sám ještě není pevně rozhodnut, které řešení by bylo nejvýhodnější pro vývojáře i uživatele. Je tedy možné, že někdo přijde se zajímavějším způsobem verzování, takže vše může být nakonec ještě jinak.

Musím říct, že ještě nemám žádný pevný názor na nové číslování verzí. Každopádně souhlasím s tím, že ‚velká nesmyslná čísla‘ jsou špatná. Číslo ‚26‘ je už docela velké. Řada 2.4.x má navíc už nyní vyšší čísla.

Debata ve vývojářské konferenci pokračuje, názorů je samozřejmě hodně, ale je zřejmé, že by se měl model změnit. Zatím ale rozhodně není jisté jak. Co si o tom myslíte vy?


Citáty a údaje čerpány z KernelTrap.org.

Ohodnoťte jako ve škole:

Průměrná známka 2,86

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

DigiZone.cz: O2TV zve na souboj Ledecké s Myslivcovou

O2TV zve na souboj Ledecké s Myslivcovou

Podnikatel.cz: Paušální daň: Sociální, zdravotní v jednom

Paušální daň: Sociální, zdravotní v jednom

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid

Podnikatel.cz: Když už je sexy, tak ať taky funguje

Když už je sexy, tak ať taky funguje

DigiZone.cz: Změní se veřejnoprávní status ČT?

Změní se veřejnoprávní status ČT?

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

120na80.cz: Poznáte, který z léků je pravý?

Poznáte, který z léků je pravý?

Vitalia.cz: Vydával se za český, prozradila ho DNA

Vydával se za český, prozradila ho DNA

120na80.cz: Co jí dělá? Sklerotizaci

Co jí dělá? Sklerotizaci

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

Podnikatel.cz: Různé podoby lahve Coca–Coly. Úchvatné

Různé podoby lahve Coca–Coly. Úchvatné

Vitalia.cz: Mražené ryby z Makra byly falšované

Mražené ryby z Makra byly falšované

DigiZone.cz: Konec geoblokace? Ani náhodou…

Konec geoblokace? Ani náhodou…

DigiZone.cz: Stream představil souboj žroutů

Stream představil souboj žroutů

Podnikatel.cz: Proměny stavebnice Seva. Znáte ji?

Proměny stavebnice Seva. Znáte ji?