Hlavní navigace

Problém dlouhodobé koncepce při otevřeném vývoji

Vojtěch Bednář 30. 4. 2009

Většina tvůrců softwaru, kteří to se svými díly myslí vážně, vymýšlí a snaží se plánovat středně a dlouhodobé vývojové koncepce a strategie. Má však takovou strategii i GNU/Linux a otevřené projekty obecně? Jak by taková koncepce měla vlastně vypadat? V čem je v této oblasti aktuální problém?

K napsání tohoto textu mě přimělo několik debat se dvěma uživateli Linuxu, kteří kromě onoho atributu, že Linux používají, neměli společného prakticky nic. Na straně jedné stál pokročilý uživatel, dokonce tak pokročilý, že staví svůj vlastní Linux from Scratch, na straně druhé člen managementu toho, co bychom označili za středně velkou firmu, mající ve své kompetenci mimo jiné strategické rozhodování o operačních systémech. Z obou dvou debat vyplynula společná, a poměrně důležitá otázka. Částečně jsem ji naznačil již v podtitulku.

Software a jeho plánování

Tvůrci běžného komerčního softwaru pracují při koncipování své činnosti obvykle se dvěma zcela nezávislými, ale vzájemně se skvěle doplňujícími koncepty. Prvním z nich je obecná charakteristika toho, co chtějí (v určité časové perspektivě, a pak také obecně v ideální budoucnosti) dosáhnout. Tento koncept lze charakterizovat velmi stručně, například konstatováním „do dvou let získáme polovinu trhu našeho produktu“.

Aby bylo možné vysněné ideály naplnit, či se jim alespoň v hrubých rysech přiblížit, je nezbytné cestu k nim rozfázovat na velké množství menších kroků. Zatímco samotná koncepce může být poměrně vágním prohlášením, popis jejího řešení má podobu velmi konkrétních krátko-, středně- a dlouhodobých plánů a kroků v jejich rámci. Tyto nástroje můžeme vídat v podobě různých cestovních plánů, organizace vývoje, verzování, tranzitu obchodních přístupů a podobně.

SeaMonkey plán

Plány pro SeaMonkey

Je zřejmé, že k úspěchu softwarového produktu je nezbytně nutné mít obojí. Dlouhodobou, byť jen slovně a vágně formulovanou vizi, a následně velmi přísnou konkretizaci jednotlivých kroků v rámci naplňování stanovené koncepce. Aby se mohl produkt rozvíjet ku prospěchu (a k radosti) jeho autorů i uživatelů, musí v prvním ohledu, tedy u obecné koncepce, panovat vzájemná shoda a u druhého, u konkrétních kroků, vynutitelná disciplína.

Ve světě komerčního softwaru je obojímu věnována velká pozornost. Hlavní dodavatelé operačních systémů a stěžejních produktů mají precizně formulované dlouhodobé koncepce a jim odpovídající cestovní mapy. Tam, kde je do koncipování cílů a rozvoje nutné zapracovat faktor náhodných a v čase proměnlivých vlivů (typickým příkladem mohou být účetní programy), jsou vytvářeny alternativní cesty a dílčí cíle, respektive koncepce podle toho, kterým směrem bude nejvýhodnější, případně nutné se vydat. Optimálně stanovená strategie a správně formulovaná cesta k ní je považována společně s vlastním know-how za stěžejní bod úspěchu.

Jak je na tom Linux?

Tvůrci linuxových distribucí a jednotlivých komponent, jež je tvoří, používají velmi podobné metody koncipování jako ostatní softwarové firmy. Rozdíl spočívá v tom, že jejich plánování se týká pouze jejich produktů. Pokud jde o firmy produkující ucelené operační systémy (jako je například Red Hat), dosažení jejich cílů je značně vázáno na dosažení cílů autory jednotlivých komponent (např. Gnome), kteří se však nacházejí mimo jejich plánování a nejsou jimi bezprostředně ovlivnitelní. Jakákoli vize, respektive jakákoli koncepce cíle a rozvoje systému však zůstává pouze a jedině u jejich produktu.

Koncepce autorů jednotlivých komponent sice neovlivňují konkrétní operační systém bezprostředně, ale zato mají vliv na velké množství různých systémů nepřímo (v návaznosti na to, co bylo popsáno výše). Někdy přitom jsou ve vzájemném nesouladu, nebo jejich cíle jsou dokonce protichůdné. Svorníkem mezi nimi by měli být tvůrci distribucí, avšak jejich plánování má nevelký, a především nepřímý, vliv na směřování operačního systému Linuxu – GNU/Linuxu jako takového. Hovořit o „cestovní mapě“ či sledu verzí u komplexu Linuxu je přitom z pochopitelných důvodů nesmyslné (nejde o konzistentní produkt). Dlouhodobá koncepce (spojená s vizí) by však u Linuxu existovat mohla, přinejmenším v jednotlivých segmentech jeho použití. Mohla by být založena na dohodě tvůrců distribucí a rozvoji systému by mohla pomoci…nebo také ne.

Kupředu – zpět

Ve světě uživatelů Linuxu se, pokud jde o možnost jeho dlouhodobého koncipování, lze setkat s různými názory. Jmenujme dva, které jsou zcela protichůdné, a které se oba vztahují k jednomu agregátu světa svobodného operačního systému – k Linuxu v prostředí desktopového počítače.

Koncepce první: Linux jako levnější, ale plnohodnotná alternativa k Microsoft Windows na pracovních stanicích. Její naplňování by vyžadovalo, aby se nejenom tvůrci distribucí, ale také mnoha komponent a jednotlivých aplikací soustředili na vývoj určitým směrem – snazší správa, vyšší stabilita aplikací, nižší systémové nároky, vyšší odolnost proti chybám, lepší (a lokalizovaná) uživatelská dokumentace. To vše by znamenalo takřka nevyhnutelně pracovat na úkor některých jiných vlastností. Utrpěla by pravděpodobně variabilita, množství uživatelských nastavení, koncepce programů by musela směřovat ke zjednodušování. Mnoho nástrojů by muselo opustit hojně používanou strukturu – aplikace v příkazové řádce + uživatelský shell.

Koncepce druhá: Linux, jako stavebnice, kterou si každý uživatel sestaví dle sebe. Vhodný jako hobby a zajímavost, nevhodný jako náhražka kvalitního a univerzálního systému od Microsoftu. Je zřejmé, že toto směrování je přesným popřením předchozího, prvek alchymie se v něm stává srdcem pokroku, hostilita vůči uživateli je nutným faktorem milionů drobných konfiguračních nuancí. Pro větší organizaci či pro koncového uživatele – laika nepoužitelné.

Realizace kterékoli zde uvedené koncepce v tom duchu, že by se na ni přední dodavatelé distribucí a tvůrci komponent shodli, by patrně Linuxu v obou případech ubrala část jeho kladných vlastností. Jejich protichůdnost je tak vlastně ilustrací, že aby byli spokojeni autoři obou názorů, centrální koncipování vývoje ani na úrovni shody hlavních tvůrců existovat nemůže. Je to však pro systém dobře?

V hrubých rysech

Osobně se domnívám, že nikoli. Linux, alespoň na úrovni konkrétních míst jeho použití, by jednotnou, alespoň přibližně dodržovanou koncepci vývoje potřeboval přinejmenším z toho důvodu, aby se udrželo jeho směrování. Existují pokusy o takovouto koncepci alespoň na úrovni funkčních celků. Existuje sdružení Free Desktop, existuje standard LSB.

První ani druhá organizace si však nedává ambici snažit se navrhnout, co by měl vlastně Linux umět, kam by měl směřovat, a co by mělo být jeho cílem. To je přitom poněkud v rozporu s původními ideály tvůrců GNU, totiž vytvořit plnohodnotně použitelnou alternativu komerčního Unixu dostupnou zadarmo. Podobný cíl, navržený alespoň pro jednotlivé agregáty použití, by byl dnes, alespoň v hrubých rysech, velmi užitečný všem.

Našli jste v článku chybu?

30. 4. 2009 9:57

... a ignorujete neustále se opakující stížnosti na kvalitu obsahu, dejte to aspoň někam do blogu. Tyhle žvásty se fakt nedají číst.

Dlouhodobě vykazují články tohoto autora směšnou informační hodnotu, zamotanou do jeho "vizí a představ" plus zmínek o tom, co kdy kde jedna paní povídala. Kdyby opravdu byl z byznys prostředí, dalo by se zařazení článku k byznys komentářům pochopit. Ale on opravdu NENÍ a je dost mimo (prostředí i realitu).

Tohle na titulku fakt nepatří. Je to jak hodně…



30. 4. 2009 1:45

Karell (neregistrovaný)
Takze si to shrnme. Autor se doslechl o dvou ruznych nazorech na linux a rozhodl se, ze to je problem. Nacez vygeneroval nekolik vyroku volne souvisejicich s problematikou, nektere z nich prohlasil za axiomy, jine rozvedl tak, ze vedly ke sporu. Nakonec jakymsi absurdnim nelogickym veletocem dosel k zaveru, ze to pro linux neni dobre.
Konkretne byl postup asi takovy:
1. Automobilka X vyrabi auta.
2. Uzivatel A jezdi autem na dovolenou.
3. Uzivatel B si stavi zavodaky.
4. Nelze vytvorit koncepci,…




120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí