Verze softwaru - Software versioning

Verze softwaru je proces přiřazování jedinečných názvů verzí nebo jedinečných čísel verzí unikátním stavům počítačového softwaru. V rámci dané kategorie čísel verzí (hlavní, vedlejší) jsou tato čísla obvykle přiřazována ve vzrůstajícím pořadí a odpovídají novému vývoji softwaru. Na jemnozrnné úrovni se často používá kontrola revizí ke sledování postupně různých verzí informací, ať už jde o počítačový software.

Moderní počítačový software je často sledován pomocí dvou různých schémat verzování softwaru: číslo interní verze, které lze během jednoho dne mnohonásobně zvýšit, například číslo kontroly revize, a verze vydání, která se obvykle mění mnohem méně často, například sémantická verze nebo název kód projektu .

Schémata

Byla vytvořena řada schémat číslování verzí pro sledování různých verzí softwaru. Všudypřítomnost počítačů také vedla k tomu, že se tato schémata používala v kontextech mimo výpočetní techniku.

Sekvenční identifikátory

Posloupnost čísel verzí

V schématech verzí softwaru založených na sekvenci je každé verzi softwaru přiřazen jedinečný identifikátor, který se skládá z jedné nebo více sekvencí čísel nebo písmen. Toto je rozsah shodnosti; schémata se velmi liší v oblastech, jako je množství sekvencí, přiřazování významu jednotlivým sekvencím a způsoby zvyšování sekvencí.

Změnit význam

V některých schématech jsou identifikátory založené na sekvenci použity k přenosu významu změn mezi vydáním. Změny jsou klasifikovány podle úrovně významnosti a rozhodnutí, která sekvence se bude mezi vydáními měnit, je založeno na významnosti změn oproti předchozímu vydání, přičemž první sekvence se mění pro nejvýznamnější změny a změny sekvencí po prvním představují změny s klesající významností.

V závislosti na schématu může být významnost posouzena změnami řádků kódu, přidáním nebo odebráním funkčních bodů, potenciálním dopadem na zákazníky z hlediska práce potřebné k přijetí nové verze, rizikem chyb nebo nedeklarovaných prolomených změn, stupněm změn ve vizuálním rozložení „množství nových funkcí nebo téměř cokoli, co vývojáři produktů nebo obchodníci považují za významné, včetně marketingové touhy zdůraznit„ relativní dobrotu “nové verze.

Sémantické verzování (aka SemVer) je široce používané schéma verzí, které používá sekvenci tří číslic (Major.Minor.Patch), volitelnou značku před vydáním a volitelnou metaznačku sestavení. V tomto schématu jsou rizika a funkčnost měřítky významnosti. Průlomové změny jsou indikovány zvýšením hlavního čísla (vysoké riziko), nové neporušené funkce zvyšují menší počet (střední riziko) a všechny ostatní nepřerušované změny zvyšují počet oprav (nejnižší riziko). Přítomnost tagu před vydáním (-alfa, -beta) značí značné riziko, stejně jako velký počet nula (0.yz), který se používá k označení rozpracované výroby, která může obsahovat jakoukoli úroveň potenciálně prolomení změn (nejvyšší riziko).

Vývojáři se mohou rozhodnout přeskočit více vedlejších verzí najednou, aby uvedli, že byly přidány významné funkce, ale nestačí k zaručení zvýšení čísla hlavní verze; například Internet Explorer 5 od 5.1 do 5.5 nebo Adobe Photoshop 5 až 5.5. To lze provést s cílem zdůraznit hodnotu upgradu pro uživatele softwaru, nebo, jako v případě společnosti Adobe, představovat vydání na půli cesty mezi hlavními verzemi (ačkoli úrovně verzí založených na sekvenci nejsou nutně omezeny na jednu číslici, jako v programu Blender verze 2.91 nebo Minecraft Java Edition po 1.10).

Jiným přístupem je použití hlavních a vedlejších čísel spolu s alfanumerickým řetězcem označujícím typ vydání, např. „Alfa“ (a), „beta“ (b) nebo „release candidate“ (rc). Verze softwaru vlak použitím tohoto přístupu může vypadat například 0,5, 0,6, 0,7, 0,8, 0,9 → 1.0b1, 1.0b2 (s některými opravy), 1.0b3 (s více chyb) → 1.0rc1 (který, v případě, že je stabilní dost ) , 1.0rc2 (pokud je nalezeno více chyb) → 1.0. V tomto schématu je běžnou praxí blokovat nové funkce a přerušovat změny během fází kandidáta na vydání a u některých týmů jsou dokonce i beta verze uzamčeny pouze k opravám chyb, aby se zajistila konvergence v cílovém vydání.

Další schémata udělují význam jednotlivým sekvencím:

major.minor [.build [.revision]] (příklad: 1.2.12.102 )
major.minor [.maintenance [.build]] (příklad: 1.4.3.5249 )

Opět platí, že v těchto příkladech je definice toho, co představuje „hlavní“ na rozdíl od „menší“ změny, zcela subjektivní a záleží na autorovi, stejně jako to, co definuje „stavbu“ nebo jak se „revize“ liší od "malá změna.

Sdílené knihovny v systémech Solaris a Linux mohou používat formát current.revision.age, kde:

aktuální : Nejnovější číslo rozhraní, které knihovna implementuje.
revize : Číslo implementace aktuálního rozhraní.
věk : Rozdíl mezi nejnovějším a nejstarším rozhraním, které knihovna implementuje. Toto použití třetího pole je specifické pro libtool : ostatní mohou používat jiný význam nebo jej jednoduše ignorovat.

Podobný problém relativní významnosti změn a nomenklatury verzí existuje při vydávání knih, kde lze čísla edic nebo názvy zvolit na základě různých kritérií.

Ve většině proprietárních softwarů má první vydaná verze softwarového produktu verzi 1.

Stupeň kompatibility
Sémantické verzování třídílné číslo verze

Některé projekty používají k označení nekompatibilních verzí číslo hlavní verze. Dva příklady jsou Apache Portable Runtime (APR) a FarCry CMS.

Sémantické verzování je formální konvence pro specifikaci kompatibility pomocí třídílného čísla verze: hlavní verze; vedlejší verze; a patch. Číslo opravy se zvyšuje pro drobné změny a opravy chyb, které nemění softwarové rozhraní pro programování aplikací (API). Vedlejší verze se zvyšuje u verzí, které přidávají nové, ale zpětně kompatibilní funkce API, a hlavní verze se zvyšuje u změn API, které nejsou zpětně kompatibilní. Například software, který se spoléhá na verzi 2.1.5 API, je kompatibilní s verzí 2.2.3, ale ne nutně s 3.2.4.

Programátoři často píší nový software, aby byl zpětně kompatibilní , tj. Nový software je navržen tak, aby správně interagoval se staršími verzemi softwaru (pomocí starých protokolů a formátů souborů) a nejnovější verzí (pomocí nejnovějších protokolů a formátů souborů). Například IBM z/OS je navržen tak, aby správně fungoval se 3 po sobě jdoucími hlavními verzemi operačního systému spuštěnými ve stejném sysplexu. To umožňuje lidem, kteří provozují počítačový klastr s vysokou dostupností, udržet většinu počítačů v provozu, zatímco je jeden počítač v době vypnut, upgradován a obnoven do provozu.

Záhlaví paketů a formát souboru často obsahují číslo verze - někdy stejné jako číslo verze softwaru, který jej napsal; jindy „číslo verze protokolu“ nezávislé na čísle verze softwaru. Kód pro zpracování zastaralých protokolů a formátů souborů je často považován za krutý .

Určení fáze vývoje

Software v experimentální fázi ( alfa nebo beta ) často používá k označení svého stavu nulu v první („hlavní“) pozici sekvence. Toto schéma je však užitečné pouze pro počáteční fáze, nikoli pro nadcházející vydání se zavedeným softwarem, kde číslo verze již pokročilo přes 0.

K označení stavu novější verze se používá řada schémat:

  • Alfanumerická přípona je běžné schéma přijaté sémantickým verzováním. V tomto schématu jsou verze opatřeny pomlčkou a několika alfanumerickými znaky k označení stavu.
  • Numerický stav je schéma, které pomocí čísel označuje stav, jako by byl součástí sekvence. Typickou volbou je třetí pozice pro čtyřpolohové verzování.
  • Numeric 90+ je další schéma, které používá čísla, ale zjevně pod číslem předchozí verze. Používá se velké číslo na poslední pozici, obvykle 90 nebo vyšší. To běžně používají starší open source projekty jako Fontconfig .
Porovnání indikátorů fáze vývoje
Etapa Semver Č. Postavení Číslo 90+
Alfa 1.2.0-a.1 1.2.0.1 1,1,90
Beta 1.2.0-b.2 1.2.1.2 1,1.93
Uvolněte kandidáta 1.2.0-rc.3 1.2.2.3 1.1.97
Uvolnění 1.2.0 1.2.3.0 1.2.0
Opravy po vydání 1.2.5 1.2.3.5 1.2.5

Tyto dvě čistě číselné formy odstraňují speciální logiku potřebnou ke zpracování srovnání „alfa <beta <rc <žádná předpona“, jak je nalezeno v sémantickém verzování, za cenu jasnosti. (sémantické verzování ve skutečnosti neurčuje konkrétní termíny pro vývojové fáze; srovnání je jednoduše v lexikografickém pořadí .)

Přírůstkové sekvence

Existují dvě myšlenkové pochody ohledně toho, jak se čísla číselných verzí zvyšují. Většina bezplatných a open-source softwarových balíčků, včetně MediaWiki , považuje verze za sérii jednotlivých čísel oddělených tečkami s progresí jako 1.7.0, 1.8.0, 1.8.1, 1.9.0, 1.10.0, 1.11.0, 1.11.1, 1.11.2 atd.

Na druhou stranu některé softwarové balíky identifikují vydání podle desetinných čísel: 1,7, 1,8, 1,81, 1,82, 1,9 atd. Desetinné verze byly v 80. letech běžné, například u NetWare , DOS a Microsoft Windows , ale dokonce i v roce 2000 byly například použity Opera a Movable Type . V desítkovém schématu je 1,81 menší verzí následující po 1,8, zatímco vydání údržby (tj. Pouze opravy chyb) mohou být označena abecední příponou, například 1,81a nebo 1,81b.

Standardní schéma číslování verzí GNU je major.minor.revision, ale Emacs je pozoruhodným příkladem použití jiného schématu, kde bylo zrušeno hlavní číslo (1) a byla přidána revize uživatelského webu, která je v původních balících Emacsu vždy nulová, ale distributory ji zvětšila . Podobně čísla balíků Debianu mají předponu s volitelnou „epochou“, která se používá ke změně schématu verzí.

Resetování

V některých případech se vývojáři mohou rozhodnout resetovat číslo hlavní verze. To se někdy používá k označení nové vývojové fáze, která byla vydána. Například Minecraft Alpha běžel z verze 1.0.0 na 1.2.6, a když byla vydána Beta, resetovala hlavní číslo verze a běžela z 1.0 na 1.8. Jakmile byla hra plně vydána, číslo hlavní verze se znovu resetovalo na 1.0.0.

Oddělovací sekvence

Při tisku mohou být sekvence odděleny znaky. Výběr postav a jejich použití se liší podle schématu. Následující seznam ukazuje hypotetické příklady separačních schémat pro stejné vydání (revize třinácté třetí úrovně revize čtvrté druhé úrovně druhé revize druhé úrovně):

  • Schéma může používat stejný znak mezi všemi sekvencemi: 2.4.13, 2/4/13, 2-4-13
  • Volba schématu, které sekvence k oddělení mohou být nekonzistentní, oddělující některé sekvence, ale ne jiné: 2.413
  • Volba znaků schématu může být v rozporu se stejným identifikátorem: 2.4_13

Je-li lhůta zvyklé na oddělené sekvencí, to může nebo nemusí představovat desetinnou čárku, - viz „ Inkrementační sekvence sekci" různých interpretačních stylů.

Počet sekvencí

Někdy existuje čtvrté, nepublikované číslo, které označuje sestavení softwaru (jak ho používá Microsoft ). Adobe Flash je pozoruhodný případ, kdy je veřejně uvedeno čtyřdílné číslo verze, jako v 10.1.53.64. Některé společnosti také uvádějí datum výroby. Čísla verzí mohou také obsahovat písmena a jiné znaky, například Lotus 1-2-3 Release 1a.

Použití záporného čísla

Některé projekty používají záporná čísla verzí. Jedním příkladem je kompilátor SmartEiffel, který začínal od −1,0 a počítal směrem nahoru do 0,0.

Datum vydání

Úvodní obrazovka Street Fighter EX s číslem vydání ve formátu CalVer

Mnoho projektů používá schéma verzí založené na datech s názvem Calendar Versioning (aka CalVer ).

Ubuntu Linux je jedním příkladem projektu využívajícího verzi kalendáře; Například Ubuntu 18.04 bylo vydáno v dubnu 2018. Výhodou je, že je snadno propojitelný s plány vývoje a časovými osami podpory. Některé videohry používají jako verzi také datum, například arkádová hra Street Fighter EX . Při spuštění zobrazuje číslo verze jako datum plus kód oblasti, například 961219 ASIA .

Při používání dat ve verzích, například názvů souborů, je běžné používat schéma ISO 8601 : RRRR-MM-DD, protože toto je řetězec snadno seřazen podle rostoucího nebo klesajícího pořadí. Pomlčky jsou někdy vynechány. Projekt Wine dříve používal schéma verzí data, které používalo rok, za nímž následoval měsíc a den vydání; například „Víno 20040505“.

Čísla sestavení Microsoft Office jsou zakódovaná data: první dvě číslice označují počet měsíců, které uplynuly od ledna roku, ve kterém byl projekt spuštěn (přičemž každé hlavní vydání Office je jiný projekt), zatímco poslední dvě číslice označují den toho měsíce. 3419 je tedy 19. den 34. měsíce po měsíci lednu roku, kdy byl projekt zahájen.

Mezi další příklady, které identifikují verze podle roku, patří Adobe Illustrator 88 a WordPerfect Office 2003. Pokud se pro označení verze používá rok, je to obecně pro marketingové účely a existuje také skutečné číslo verze. Například Microsoft Windows 95 má interní verzi MS-DOS 7.00 a Windows 4.00; podobně je systém Microsoft Windows 2000 Server interně verzován jako Windows NT 5.0 („NT“ je odkaz na původní název produktu).

Krajta

Python Software Foundation zveřejnila PEP 440-Verze pro identifikaci a specifikaci závislostí, nastiňující jejich vlastní flexibilní schéma, které definuje epochový segment, segment vydání, segmenty před vydáním a po vydání a segment vydání pro vývoj.

TeX

TeXvýstřední systém číslování verzí. Od verze 3 byly aktualizace indikovány přidáním další číslice na konci, takže číslo verze se asymptoticky blíží π ; forma unárního číslování - číslo verze je počet číslic. Aktuální verze je 3.14159265. Toto je odrazem toho, že TeX je velmi stabilní a očekávají se pouze drobné aktualizace. Vývojář TeX Donald Knuth uvedl, že „absolutně konečnou změnou (bude provedena po [jeho] smrti“) bude změna čísla verze na π , kdy se všechny zbývající chyby stanou trvalými rysy.

Podobným způsobem se číslo verze Metafont asymptoticky blíží e .

Jablko

V éře klasického systému Mac OS se čísla menších verzí jen zřídka dostala nad „.1“. Když to udělali, obvykle skočili rovnou na „0,5“, což naznačuje, že vydání bylo „významnější“. „8.5“ byl tedy uveden na trh jako jeho vlastní verze, představující „Mac OS 8 a půl“, a 8.6 ve skutečnosti znamenalo „8.5.1“.

Mac OS X se od tohoto trendu odchýlil, a to z velké části proto, že v názvu produktu bylo „X“ (římská číslice pro 10). Výsledkem bylo, že všechny verze OS X začínaly číslem 10. První hlavní vydání OS X dostalo číslo verze 10.0, ale další hlavní vydání nebylo 11.0. Místo toho bylo očíslováno 10.1, následované 10.2, 10.3 atd. Pro každé další hlavní vydání. 11. hlavní verze OS X byla tedy označena „10.10“. Přestože v systému macOS 10.12 bylo z názvu vypuštěno „X“ , toto schéma číslování pokračovalo v systému macOS 10.15. Podle schématu verzí založeného na „X“ třetí číslo (místo druhého) označovalo menší vydání a další aktualizace pod touto úrovní, stejně jako aktualizace dané hlavní verze OS X přicházející po vydání nové hlavní verze, nesly název Doplňkové aktualizace.

Římská číslice X byla souběžně využívána pro marketingové účely u více produktových řad. Jak QuickTime, tak Final Cut Pro přeskočily z verze 7 přímo na verzi 10, QuickTime X a Final Cut Pro X. Stejně jako samotný Mac OS X nebyly produkty upgrady na předchozí verze, ale zbrusu nové programy. Stejně jako u OS X, hlavní verze pro tyto programy zvýšily druhou číslici a menší verze byly označeny pomocí třetí číslice. „X“ bylo vypuštěno z názvu Final Cut s vydáním macOS 11.0 (viz níže) a značka QuickTime začala být diskutabilní, když byla v roce 2011 zastaralá podpora ve prospěch AVFoundation (program pro přehrávání videa QuickTime byl pojmenován pouze QuickTime Player od začátek).

Další vydání Apple macOS, prozatímně číslované 10,16, bylo oficiálně oznámeno jako macOS 11.0 na WWDC v červnu 2020. Následující verze macOS , macOS Monterey byla vydána v WWDC 2021 a narazila na hlavní číslo verze na 12.

Microsoft Windows

Microsoft Windows operační systém byl nejprve označeny standardními čísla verze pro Windows 1.0 přes Windows 3.11 . Poté společnost Microsoft vyloučila číslo verze z názvu produktu. U Windows 95 (verze 4.0), Windows 98 (4.10) a Windows 2000 (5.0) byl rok vydání uveden v názvu produktu. Po Windows 2000 vytvořil Microsoft rodinu Windows Serverů, která pokračovala v ročním stylu s rozdílem: U menších verzí Microsoft k názvu přidal příponu „R2“, např. Windows Server 2008 R2 (verze 6.1). Tento styl zůstal dodnes konzistentní. Klientské verze systému Windows však nepřijaly konzistentní styl. Nejprve obdrželi názvy s libovolnými alfanumerickými příponami jako u Windows ME (4,90), Windows XP (5.1) a Windows Vista (6.0). Poté společnost Microsoft opět přijala přírůstková čísla v názvu, ale tentokrát to nebyla čísla verzí; čísla verzí Windows 7 , Windows 8 a Windows 8.1 jsou 6.1, 6.2 a 6.3. V systému Windows 10 přeskočilo číslo verze na 10.0 a následné aktualizace operačního systému pouze zvýšily číslo sestavení a číslo revize aktualizace sestavení (UBR).

Nástupce Windows 10, Windows 11 , byl vydán 15. října 2021. Přestože byl nový systém Windows pojmenován „11“, nenarazil na číslo hlavní verze na 11. Místo toho zůstal na stejném čísle verze 10.0. , používaný systémem Windows 10.

Další schémata

Někteří výrobci softwaru používají k označení vydání svého softwaru různá schémata. Projekt Debian používá u verzí svého operačního systému hlavní/vedlejší verzi verzí, ale během vývoje používá kódová jména z filmu Toy Story k označení stabilních, nestabilních a testovacích verzí.

BLAG Linux a GNU nabízí velmi velká čísla verzí: hlavní verze mají čísla jako 50 000 a 60 000, zatímco malá vydání zvyšují počet o 1 (např. 5 0001, 5 0002). Alfa a beta verze mají desetinná čísla o něco menší než hlavní číslo vydání, například 19999.00071 pro alfa 1 verze 20000 a 29999.50000 pro beta 2 verze 30000. Počínaje 9001 v roce 2003 je nejnovější verze z roku 2011 140000.

Urbit používá Kelvinovu verzi (pojmenovanou podle absolutní teplotní stupnice Kelvin ): Verze softwaru začínají na vysokém počtu a odpočítávají se do verze 0, kdy je software považován za dokončený a neprovádějí se žádné další úpravy.

Interní čísla verzí

Software může mít „interní“ číslo verze, které se liší od čísla verze uvedeného v názvu produktu (a které se obvykle důsledněji řídí pravidly číslování verzí). Například Java SE 5.0 má interní číslo verze 1.5.0 a verze Windows od NT 4 pokračovaly ve standardních numerických verzích interně: Windows 2000 je NT 5.0, XP je Windows NT 5.1, Windows Server 2003 a Windows XP Professional x64 Edition jsou NT 5.2, Windows Server 2008 a Vista jsou NT 6.0, Windows Server 2008 R2 a Windows 7 jsou NT 6.1, Windows Server 2012 a Windows 8 jsou NT 6.2 a Windows Server 2012 R2 a Windows 8.1 jsou NT 6.3, nicméně první verze Windows 10 byla 10.0 (10.0.10240). Všimněte si však, že Windows NT je pouze na své páté hlavní revizi, protože jeho první vydání bylo očíslováno 3.1 (aby odpovídalo aktuálnímu číslu vydání Windows) a spuštění Windows 10 způsobilo skok ve verzi z 6.3 na 10.0.

Verze před vydáním

Ve spojení s různými schématy verzí uvedenými výše se obecně používá systém pro označování verzí před vydáním, protože program prochází fázemi životního cyklu vydání softwaru .

Programy, které jsou v rané fázi, se často za prvním písmenem řecké abecedy nazývají „alfa“ software. Poté, co dospějí, ale ještě nejsou připraveni k vydání, se jim může říkat „beta“ software, podle druhého písmene řecké abecedy. Software alfa je obecně testován pouze vývojáři, zatímco software beta je distribuován pro testování komunity.

Některé systémy používají numerické verze menší než 1 (například 0,9), aby navrhly svůj přístup ke konečnému vydání „1,0“. Toto je běžná konvence v open source softwaru . Pokud je však předběžná verze pro existující softwarový balíček (např. Verze 2.5), pak k číslu verze může být připojeno „a“ nebo „alfa“. Takže alfa verze 2.5 verze může být identifikována jako 2.5a nebo 2.5.a.

Alternativou je odkazovat na verze před vydáním jako na „kandidáty na vydání“, takže softwarové balíky, které budou brzy vydány jako konkrétní verze, mohou nést značku verze následovanou „rc-#“, která udává číslo kandidáta na vydání ; po vydání finální verze bude značka „rc“ odstraněna.

Uvolněte vlak

Verze softwaru vlak je forma harmonogramu uvolňování software, ve kterém řada odlišných sérií s verzí verze softwaru pro různé produkty se uvolňují jako řada různých „vlaky“ podle pravidelného jízdního řádu. Obecně platí, že pro každou produktovou řadu jezdí v daném čase několik různých uvolňovacích souprav, přičemž každý vlak se pohybuje od počátečního uvolnění k případné zralosti a odchodu do důchodu podle plánovaného plánu. Uživatelé mohou experimentovat s novější verzí vlaku, než ji přijmou do produkce, což jim umožní experimentovat s novějšími „surovými“ verzemi brzy, zatímco budou pokračovat ve sledování bodových verzí předchozího vlaku pro své produkční systémy před přechodem na nový uvolňovací vlak jako stane se zralým

Softwarová platforma Cisco IOS používala po mnoho let jízdní řád vydání s mnoha odlišnými vlaky. V nedávné době řada dalších platforem včetně Firefoxu a Fenixu pro Android, Eclipse , LibreOffice , Ubuntu , Fedora, Python, digiKam a VMware přijala model uvolňovacího vlaku.

Úpravy numerického systému

Liché verze pro vývojové verze

Mezi řadami 1.0 a 2.6.x používalo jádro Linuxu lichá čísla menších verzí k označení vývojových verzí a sudá čísla menších verzí k označení stabilních vydání; viz jádro Linuxu § číslování verzí . Například Linux 2.3 byl vývojovou rodinou druhého hlavního návrhu jádra Linuxu a Linux 2.4 byla rodina stabilních verzí, do kterých Linux 2.3 dospěl. Za číslem vedlejší verze v jádře Linuxu je číslo vydání ve vzestupném pořadí; například Linux 2.4.0 → Linux 2.4.22. Od vydání jádra 2.6 v roce 2004 již Linux tento systém nepoužívá a má mnohem kratší cyklus vydání.

Stejný lichý-sudý systém používá i jiný software s dlouhými cykly vydání, například Node.js až do verze 0.12, stejně jako GNOME a WineHQ .

Politický a kulturní význam čísel verzí

Verze 1.0 jako milník

Tyto Svobodný software a open source komunity mají tendenci uvolňovat software brzy a často . Počáteční verze jsou menší než 1, přičemž tyto verze 0.x slouží k vyjádření, že software je neúplný a není dostatečně spolehlivý pro obecné vydání nebo použitelný v aktuálním stavu. Zpětně nekompatibilní změny jsou běžné u verzí 0.x. Verze 1.0 se používá jako hlavní milník , což naznačuje, že software má přinejmenším všechny hlavní funkce a funkce, které vývojáři chtěli do této verze dostat, a je považován za dostatečně spolehlivý pro obecné vydání. Dobrým příkladem je linuxové jádro, které bylo poprvé vydáno jako verze 0,01 v roce 1991 a trvalo až do roku 1994, než dosáhlo verze 1.0.0.

Vývojáři emulátoru arkádových her MAME nikdy nemají v úmyslu vydat verzi 1.0 programu, protože emulátorů arkádových her bude vždy k dispozici více a projekt tak nebude nikdy možné skutečně dokončit. V souladu s tím následovala verze 0.99 a verze 0.100.

Vzhledem k tomu, že se internet rozšířil, většina prodejců komerčního softwaru již nedodržuje zásadu, že by hlavní verze měla být „úplná“, a místo toho spoléhá na záplaty s opravami chyb, které vyřeší známé problémy, pro které bylo nalezeno řešení, které lze opravit.

Čísla verzí jako marketing

Relativně běžnou praxí je z marketingových důvodů provádět velké skoky v číslech verzí. Někdy prodejci softwaru jednoduše obejdou vydání 1.0 nebo rychle vydají vydání s následným číslem verze, protože software 1.0 považuje mnoho zákazníků za příliš nezralý na to, aby důvěřoval produkčním nasazením. Například, stejně jako v případě dBase II , je produkt uveden na trh s číslem verze, které znamená, že je vyspělejší než je.

Jindy se čísla verzí zvýší, aby odpovídala konkurenci. To lze vidět na mnoha příkladech číslování verzí produktů společností Microsoft, America Online , Sun Solaris , Java Virtual Machine , SCO Unix, WordPerfect . Microsoft Access skočil z verze 2.0 na verzi 7.0, aby odpovídal číslu verze aplikace Microsoft Word .

Microsoft byl také cílem „catch-up“ verzí, přičemž prohlížeče Netscape přeskočily verzi 5 až 6, v souladu s Microsoft Internet Explorer , ale také proto, že aplikační sada Mozilla zdědila verzi 5 ve svém řetězci uživatelských agentů v době před verzí 1.0 vývoj a Netscape 6.x byl postaven na kódové základně Mozilly.

Dalším příkladem udržení kroku s konkurencí je, když Slackware Linux v roce 1999 přeskočil z verze 4 na verzi 7.

Vypuštění nejvýznamnějšího prvku

Sunova Java měla občas hybridní systém, kde číslo interní verze bylo vždy 1. x, ale bylo uváděno na trh pouze s odkazem na x :

  • JDK 1.0.3
  • JDK 1.1.2 až 1.1.8
  • J2SE 1.2.0 („Java 2“) až 1.4.2
  • Java 1.5.0, 1.6.0, 1.7.0, 1.8.0 („Java 5, 6, 7, 8“)

Sun také vypustil první číslici pro Solaris, kde je Solaris 2,8 (nebo 2,9) v marketingových materiálech označován jako Solaris 8 (nebo 9).

K podobnému skoku došlo u stavebnice Asterisk s otevřeným zdrojovým kódem PBX na začátku roku 2010, jejíž vedoucí projektů oznámili, že aktuální verze 1.8.x bude brzy následována verzí 10.

Tento přístup, který mnozí zvažují, protože narušuje sémantický význam sekcí čísla verze, přijal rostoucí počet prodejců včetně Mozilly (pro Firefox).

Pověra

  • Verze Microsoft Office pro Office 2007 měla číslo interní verze 12. Další verze Office 2010 má interní verzi 14 kvůli pověrám kolem čísla 13 . Visual Studio 2013 je číslo verze 12.0 produktu a nová verze Visual Studio 2015 má číslo verze 14.0 ze stejných důvodů.
  • Roxio Toast přešel z verze 12 na verzi 14, pravděpodobně ve snaze přeskočit pověry kolem čísla 13.
  • Corel ‚s WordPerfect Office , verze 13 je prodáván jako "X3"( římské číslo 10 a "3"). Postup pokračoval do další verze X4. Totéž se stalo s Corel's Graphic Suite (tj. CorelDRAW , Corel Photo-Paint ) a jeho softwarem pro úpravu videa „Video Studio“.
  • Sybase ve svém relačním databázovém produktu Adaptive Server Enterprise přeskočila hlavní verze 13 a 14 z 12,5 na 15,0.
  • ABBYY Lingvo Dictionary používá číslování 12, x3 (14), x5 (15).
  • SUSE Linux Enterprise přeskočil verzi 13 a 14 po verzi 12 a přímo vydal SLES 15 v červenci 2018.

Geek kultura

Překonání vnímaných marketingových potíží

V polovině devadesátých let se rychle rostoucí CMMS , Maximo, přesunulo z Maximo Series 3 přímo na Series 5, přeskočilo Series 4 kvůli marketingovým potížím tohoto čísla na čínském trhu, kde je číslo 4 spojeno s „smrtí“ (viz. tetrafobie ). To však nezabránilo vydání Maximo Series 5 verze 4.0. (Od té doby bylo upuštěno od verzí „Series“, což účinně resetovalo čísla verzí po vydání Series 5 verze 1.0.)

Význam v softwarovém inženýrství

Čísla verzí spotřebitel nebo klient v praxi používá k identifikaci nebo porovnání své kopie softwarového produktu s jinou kopií, jako je nejnovější verze vydaná vývojářem. Pro programátora nebo společnost se verze často používá na základě revize po revizi, kdy jsou jednotlivé části softwaru porovnávány a porovnávány s novějšími nebo staršími revizemi stejných částí, často v systému pro správu kolaborativních verzí .

V 21. století začalo více programátorů používat formalizovanou politiku verzí, jako je politika sémantického verzování. Účelem těchto zásad je usnadnit ostatním programátorům vědět, kdy změny kódu pravděpodobně zlomí věci, které napsali. Takové zásady jsou zvláště důležité pro softwarové knihovny a rámce , ale mohou být také velmi užitečné pro aplikace příkazového řádku (které lze volat z jiných aplikací) a skutečně pro všechny další aplikace (které mohou být skriptovány a/nebo rozšířeny třetími stranami ).

Správa verzí je také požadovanou praxí, která umožňuje mnoho schémat oprav a aktualizací softwaru, zejména pro automatické rozhodování, na co a kam upgradovat.

Význam v technické podpoře

Čísla verzí umožňují lidem poskytujícím podporu přesně zjistit , který kód uživatel používá, aby mohli vyloučit chyby, které již byly opraveny jako příčinu problému a podobně. To je zvláště důležité, když má program značnou komunitu uživatelů, zvláště když je tato komunita dostatečně velká, aby lidé poskytující technickou podporu nebyli lidé, kteří kód napsali. Sémantický význam číslování stylů version.revision.change je také důležitý pro pracovníky informačních technologií, kteří jej často používají k určení, kolik pozornosti a výzkumu musí novému vydání věnovat, než jej nasadí ve svém zařízení. Obecně platí, že čím větší jsou změny, tím větší je šance, že se něco zlomí (ačkoli prozkoumání seznamu změn, pokud existuje, může odhalit pouze povrchní nebo irelevantní změny). To je jeden z důvodů pro nechuť vyjádřenou v přístupu „drop the major release“, který zvolili Asterisk et alia: nyní musí zaměstnanci (nebo by alespoň měli) provést úplný regresní test pro každou aktualizaci.

Čísla verzí pro soubory a dokumenty

Některé počítačové systémy souborů , například OpenVMS Filesystem , také uchovávají verze pro soubory.

Správa verzí mezi dokumenty je relativně podobná rutině používané u počítačů a softwarového inženýrství, kde při každé malé změně struktury, obsahu nebo podmínek se číslo verze zvýší o 1 nebo o menší nebo větší hodnotu, opět v závislosti na osobním preference autora a velikost nebo důležitost provedených změn.

Systémy pro objednávání čísel verzí

Čísla verzí se velmi rychle vyvíjejí z jednoduchých celých čísel (1, 2, ...) na racionální čísla (2,08, 2,09, 2,10) a poté na nečíselná „čísla“, například 4: 3,4,3-2. Tato složitá čísla verzí jsou proto lépe považována za řetězce znaků. Operační systémy, které zahrnují zařízení pro správu balíčků (jako jsou všechny netriviální distribuce Linuxu nebo BSD ), budou pro porovnání čísel verzí různých softwarových balíků používat algoritmus specifický pro distribuci. Algoritmy řazení Red Hat a odvozené distribuce se například liší od algoritmů distribucí podobných Debianu.

Jako příklad překvapivého chování implementace při objednávání čísel verzí jsou v Debianu počáteční nuly v blocích ignorovány, takže 5.0005 a 5.5 jsou považovány za stejné a 5.5  <  5.0006. To může uživatele zmást; nástrojům pro shodu řetězců se nemusí podařit najít číslo dané verze; a to může způsobit jemné chyby ve správě balíků, pokud programátoři používají datové struktury indexované řetězci, jako jsou například hashovací tabulky indexované číslem verze .

Pro usnadnění třídění představují některé softwarové balíčky každou součást schématu major.minor.release s pevnou šířkou. Perl představuje čísla svých verzí jako číslo s plovoucí desetinnou čárkou; například vydání 5.8.7 Perlu může být také reprezentováno jako 5.008007. To umožňuje reprezentovat teoretickou verzi 5.8.10 jako 5.008010. Jiné softwarové balíčky balí každý segment do pevné bitové šířky; například v systému Microsoft Windows bude číslo verze 6.3.9600.16384 reprezentováno jako hexadecimální 0x0006000325804000. Schéma s plovoucí desetinnou čárkou se rozpadne, pokud jakýkoli segment čísla verze překročí 999; zabalené binární schéma využívající 16 bitů za kus se porouchá po 65535.

Použití v jiných médiích

Čísla verzí softwarového stylu najdete v jiných médiích.

V některých případech je použití přímou analogií (například: Jackass 2.5 , verze Jackass Number Two s dalšími speciálními funkcemi; druhé album Garbage s názvem Verze 2.0 ; nebo Dungeons & Dragons 3.5, kde byla pravidla revidována z třetí vydání, ale ne tolik, aby bylo považováno za čtvrté).

Častěji se používá ke hraní ve spojení s vyspělou technologií a doslova neznamená „verzi“ (např. Tron 2.0 , pokračování videohry na film Tron nebo televizní seriál The IT Crowd , který odkazuje na druhá sezóna jako verze 2.0). Zvláště pozoruhodné použití je Web 2.0 , odkazující na weby z počátku roku 2000, které kladly důraz na obsah generovaný uživateli , použitelnost a interoperabilitu .

Viz také

Poznámky

Reference

externí odkazy