21/10/2016
Vložil: Jakub
960
Sdílet: Facebook

Tržiště a katedrála

Nejprve si zkusíme tyto dvě věci představit. Předpokládám, že tržiště i katedrálu jsme všichni viděli minimálně v pohádce. Tržiště je místo, kde jsou desítky (či stovky) na sobě nezávislých subjektů, každý z nich něco nabízí, či něco shání. Tržiště nemá žádnou speciální organizaci ani pokročilejší strukturu. Různí lidé prostě stojí na různých místech, prodejci pokřikují, co prodávají a vábí potenciální zákazníky. Tržiště jde tak daleko, že stačí, aby zákazníci něco chtěli a tržiště to na základě poptávky obstará. Je to totiž výhodné pro obchod. Dalším typickým znakem je svoboda - na tržišti totiž může prodávat kdokoliv.

Katedrála je naprosto opačný příklad. Katedrálu řídí skupina obyčejně velice konzervativních lidí. Tito lidé si obyčejně myslí, že vědí, co lidé chtějí a že jim to mohou dát, ale bývají řekněme odstřiženi od reality a soudí, že všichni lidé jsou stejní jako oni. Katedrála se tedy řídí svou vlastní vnitřní strukturou, která se nikoho neptá a pouze řídí a tvoří.

Tržiště

Nejtypičtějším a možná i největším příkladem software vyvíjeným dle modelu tržiště je Linux, či projekt GNU (či dohromady GNU/Linux). Zde to opravdu funguje jako na tržišti. Všechny aplikace, skripty atd. vyvíjejí buď silní jedinci, či subjekty, které nejsou zásadně placeni přímo za svůj software, nýbrž formou dobrovolných příspěvků. Z tohoto důvodu je systém více orientován na potřeby uživatele s vidinou toho, že pokud uživatel bude spokojený a bude software užívat, rád přispěje. Je až s podivem, že to doopravdy může fungovat. Pravdou je, že přispívat nemusíte vůbec, nebo můžete přispívat úplně minimální částkou. Osobně používám GNU/Linux již deset let. Jsem jeden z uživatelů, který by i přes různé patálie v tomto projektu (a že jich je) neměnil.

Když to řeknu takhle, možná si řeknete, zda má vůbec tržiště nějaké nevýhody. Samozřejmě jako každá věc na tomto světě má své klady i své zápory. Klady jsou hlavně nulová pořizovací cena, za kterou získáte často vysoce kvalitní software, za který byste si v jiném případě zaplatili. I aktualizace máte v podstatě doživotně zdarma. A je pravdou, že drtivou většinu vylepšení, se kterými přichází MS Windows má Linux mnohem mnohem dříve.

Líbí se vám možnost si aplikace pořizovat ze samoobsluhy Windows? GNU/Linux obsahuje balíčkovací systém, který funguje stejně a je tam v podstatě od jeho vzniku. Pamatuji si, že jsem tím byl unešen někdy v roce 2002, kdy jsem to objevil. Líbí se vám mít animovanou (tzv. kompozitní) plochu? GNU/Linux obsahuje projekt Compiz myslím určitě deset let. A nutno říct, že zhruba milionkrát propracovanější, než je tomu aktuálně na Windowsu. Zatímco MS se donedávna zmohl maximálně na blur efekt za titulkovými pruhy oken a hezkému přepínání jednotlivých úloh. Compiz se dá opravdu podrobně nakonfigurovat a má stovky různých efektů, více či méně užitečných nástrojů. Většina uživatelů Windows na to kouká s otevřenou pusou, nicméně je potřeba říct, že to je z velké části spíše kýč a k životu to vůbec nepotřebujete.

Je to zhruba 7 let, co jsem navštívil Linux expo - největší česká událost, kde se prezentují nejnovější vychytávky této rodiny operačních systémů. Ironií je, že celou tuto událost sponzoruje Microsoft a bez něj by se to nikdy neodehrálo. Mají k tomu své důvody. Snadno se tu náborují dobří programátoři a když odcházíte, dají vám vždy do ruky CD ideálně betaverze nadcházejícího operačního systému ze své rodiny. Nechci je za to soudit. Myslím, že je to od nich hezké. Nicméně jednu z přednášek, které jsem se zúčastnil, řídil vysoko postavený pracovník této firmy a mimo jiné říkal, že ve městě Redmond je tzv. Linuxová laboratoř. Dle jeho slov tam "Microsoft zkoumá operační systémy z Linuxové rodiny a snaží se vymyslet, jak to udělat, aby jim to také fungovalo tak dobře". Osobně si nemyslím, že by to bylo úplně špatně, ale ze sálu se samozřejmě ozvalo bučení. Pravdou je, že Microsoft dokáže snadno pokazit v podstatě cokoliv, co vezme do ruky (typickým příkladem je aktuálně nový prohlížeč Edge).

Nyní se dostáváme k nevýhodám. Je jasné, že ze sponzorských darů příliš peněz neproudí. Vede to k tomu, že společnosti nemají na vývoj potřebné prostředky, dostatek lidí na testování, ani dostatek hardware, na kterém je potřeba věci testovat (různé kombinace hardware apod.). To v praxi vede k různým chybám, nedokonalostem a věcem, které dokáží běžného uživatele neprogramátora velmi frustrovat.

Výsledkem tak je, že narazíte na chyby, či nefunkčnosti, které jsou nepříjemné a systém pak působí "nedodělaně". Druhou věcí je, že existují aplikace, které jsou na sobě závislé, ale každou z nich vyvíjí někdo jiný. Typickým příkladem je např. MySQL server a aplikace MySQL Workbench, která slouží jako klient. Aktuálně mám na svém počítači Ubuntu z roku 2014 (Ubuntu 14.04 LTS). Na druhý PC u nás ve firmě jsem nainstaloval verzi 16.04 z letošního roku (též LTS). Zatím přesně nevím, v čem je problém, nicméně tyto dvě aplikace spolu z nějakého důvodu nekomunikují, ač jsem nastavení udělal totožné jako na svém PC se starším systémem. Nepodařilo se mi zde nainstalovat na Apache2 ani náš redakční systém. Obě dvě tyto aplikace trápí stejný problém - nemohou se připojit k databázi. Kdo to nezná, neumí si představit, jak frustrující je, když něco co fungovalo vždy, najednou nefunguje.

Paradoxem je, že se velmi často nejedná o chyby, ale různá vylepšení. Vývojáři však nemají úplný přehled a vznikají tak právě tyto problémy. Také vždy existuje možnost (která je ještě pravděpodobnější), že vývojáři přehled mají, ale nemám ho já. Aplikace tak může obsahovat novou vychytávku nebo nastavení, kterou nevím, že mám nakonfigurovat a mám tento problém. V praxi to bohužel zdaleka není poprvé, co na podobný systém narážím. I z tohoto důvodu velmi zřídka přecházím na novou verzi operačního systému a snažím se udržovat při životě svou aktuální LTS verzi, dokud to jde.

Další nepříjemné věci, které vás mohou u tohoto systému potkat, je nekompatibilita hardware. Situace je aktuálně mnohem lepší, než byla před deseti lety, nicméně se stále setkáte s určitými wifi kartami, grafickými čipi, či základovými deskami, se kterými budete mít na Linuxu opravdu velký problém. Speciálně firma ASUS a AMD jsou specialisty na to vytvářet nekompatibilní hardware, nejhůře v kombinaci těchto výrobců. Typickým příkladem jsou notebooky ASUS, které mají dvě grafické karty - integrovanou od firmy Intel, která je méně výkoná, ale zároveň energeticky nenáročná, druhou kartu od AMD (Radeon apod.), která je výkoná, energeticky náročná a používá se primárně na hraní her apod. Asus to má velmi dobře vyřešeno, ale bohužel jen na Windows, Linux je nezajímá. Tudíž systémy GNU/Linux neumí přepínat tyto grafické karty, což vede k tomu, že člověk opravdu raději použije Windows.

Katedrála

Nejtypičtějším případem katedrály je již dnes zmiňovaný Microsoft Windows. Samotným vývojem se zabývají pouze vyvolení katedrálou, není možné do toho zasahovat zvenku. Katedrála má svou vlastní "armádu" inženýrů, návrhářů, designérů, UX designérů, psychologů, programátorů, testerů a různých jiných developerů. Tato velká "armáda" se zabývá vývojem a nutno říci, že u takového molocha jako je operační systém, je to úctyhodně náročný proces. Všichni sice víme, že Windows má spoustu chyb, ale to vždy bude mít každý velký projekt.

Problémem je, jak jste si jistě stačili všimnout, že všechny výše obsazené role jsou pořád profesionální pracovníci IT. Vzniká zde tedy určitá pracovní deformace. Všichni tito lidé totiž přemýšlejí úplně jinak, než by přemýšlel "Běžný Franta Uživatel" (či anglicky Bloody Fucking User, zkráceně BFU). V praxi to pak vede k tomu, že vznikají extrémně složité či nevhodné konstrukce pro extrémně jednoduché věci. V posledních verzích Windows je to mnohem lepší, než to bývalo, ale setkáme se s tím stále.

Osobně si pamatuji dobu kdy byl MS Windows novinka. Byl jsem v Priessnitzových lázních, potkal jsem zde nějakého top manažera, který měl počítač "Dell Vostro" a na něm aktuálně žhavý Windows XP, který byl ještě ve svých pomyslných plenkách. Já v tu dobu měl na počítači operační systém Gentoo (asi druhá nejdrsnější Linuxová distribuce vůbec, celou si ji musíte custom vybudovat ze zdrojového kódu, jen na její instalaci je potřeba kniha). Dá se tedy říct, že v tu dobu už jsem byl s počítači velmi zkušený.

Tento pán se chtěl připojit na hotelovou wifi s tím, že počítač mu dnes dali v práci na dovolenou a v podstatě ho ještě neviděl. Všichni víme, jak to dnes funguje. Objeví se vám ikona, kliknete, vidíte dostupné sítě, vyberete jednu, systém se zeptá na heslo a můžete jet. Jak to fungovalo tehdy? Muselo se někde v ovládacích panelech (nebo už nevím kde) vybrat bezdrátové připojení a systém vyvolal "průvodce připojením". To byla skupina po sobě jdoucích dialogových oken, kdy jste v podstatě konfigurovali připojení internetu v několika, i pro mě extrémně složitých krocích, kdy se vás průvodce ptal na jméno AP, použitou variantu šifrování a ještě dalších X informací, na které samozřejmě nemůžete u hotelové wifi vůbec znát odpovědi (a když se zeptáte recepční, jestli má wifi šifrování WEP, WPA či WPA2 enterprise, dočkáte se výsměchu). Výsledkem pro pána bylo, že musel používat stolní počítač určený pro hosty, protože ani já jsem nebyl schopen mu wifi pořádně nakonfigurovat.

Na druhou stranu, já jsem na tom v tu dobu nebyl o moc lépe. Přijel jsem do hotelu s notebookem Lenovo, na kterém jsem vůbec neměl wifi vyzkoušenou, protože doma jsem měl připojení kabelem a jinde jsem se nikdy nepřipojoval. Až na místě jsem zjistil, že bych měl mít nějakou aplikaci na připojení, kterou nemám, a tak jsem byl nucen studovat, jak se připojit příkazovým řádkem pomocí příkazů iwlist, iwconfig, dhcp připojení apod. Bylo to velmi zábavné a zvláště moje tehdejší přítelkyně měla pocit, že jsem se asi zbláznil a vlastně mi hodně vyčítala, že "nemůžu mít normální počítač".

Za dobu, co pracuji s počítači, jsem se s takovými extrémy jako je konkrétně tento, setkal velmi často. Osobně např. rád používám externí wifi přijímače TP link. Ještě donedávna bylo běžné, že jste k nim prostě potřebovali instalační minidisc, jinak jste neměli ovladače a internet vám prostě nefungoval. Stejně jako bylo běžné mít EXE soubory s ovladači na miliardu věcí, od základové desky přes zvukovou, grafickou a síťovou kartu, až např. po ovladače na touchpad. Pravdou je, že pokud vám bude Linux (mluvím teď např. o Ubuntu) fungovat, bude fungovat pravděpodobně out of box - nebudete potřebovat žádné ovladače a pokud ano, systém vás sám upozorní, že je potřebujete, bude vědět, které i kde si je má sám obstarat.

Pravdou je, že Microsoft se v tomto směru dle mého názoru velmi poučil a s každou verzí systému je to lepší. Aktuální Windows 8 či 10 již opravdu minidisc nepotřebuje a i Windows si ovladače obstará sám. Nicméně stále se jedná o katedrálu a stále vznikají nepříjemné věci - např. většině uživatelů vadí nové Metro, které nahradilo klasickou nabídku start. Jedná se tedy pouze o zvyk, nikdo nemá rád velké změny, uživatelé nyní prskají, ale za pár let na to zapomenou. Katedrála řekne, jak to bude a její lid se prostě podřídí - časem si zvykne.

Existuje něco napůl cesty?

Zvláště v posledních letech se objevují projekty, které mi přijdou, že tyto dva vývojové modely kříží. Jmenoval bych hlavně Facebook, či Google Android. Mimochodem věděli jste, že Google Android stál v počátku na jádře Linux, které bylo později nahrazeno? Ale zpět k věci. Google Android vlastně funguje velmi podobně jako samotný projekt GNU/Linux. Jádro je vyvíjeno stylem katedrála - vyvíjí jej Google tak, jak uzná za vhodné a co řekne Google, to se stane. Jádro ale obsluhuje primárně hardware, my z toho vlastně reálně až tolik nevidíme. Zbytek - grafické rozhraní, jednotlivé aplikace mají v ruce již výrobci samotných mobilních telefonů či tvůrci aplikací, které můžete pořídit v samoobsluze. Tyto věci se tedy řídí modelem tržiště. Funguje to? Ano. Je to dobrý nápad? To ukáže až čas. Víme, že Google Android obsahuje spoustu chyb, speciálně potom bezpečnostních chyb, ale na druhou stranu, je to nejpoužívanější mobilní operační systém na světě. Existuje tedy spoustu potenciálních hrozeb (hackerů), kteří dělají všechno pro to, aby odhalili slabiny operačního systému a mohli telefon či jiné zařízení zotročit a využít tak pro svůj prospěch. Pravdou je, že s každou odhalednou vulnerabilitou je tento systém silnější. Nicméně s každou další verzí zároveň hrozí příchod nových hrozeb.

V praxi vždy platí jednoduchá rovnice - čím vyšší expozice daného software, tím více lidí či sofistikovaných aplikací se bude snažit jej zničit či zneužít. Typickým příkladem této věci je e-shopové řešení Prestashop, nebo redakční systém Wordpress. Ani jedno z těchto řešení nepokládám vysloveně za špatné, nicméně např. Wordpress je jeden z nejpoužívanějších redakčních systémů na světě. Znamená to tedy, že pokud budu umět nahackovat Wordpress, mám potenciálně možnost nahackovat opravdu velké množství webů. Touto problematikou se tedy zabývá velké množství hackerů, vznikají tak různé sofistikované aplikace, které umějí využít slabin buď wordpressu samotného, či častěji jeho pluginů, které jsou opět vyvíjeny formou tržiště, a tak si často nemohou dovolit vlastní bezpečnostní specialisty, kteří by mohli snadno nalézt dotyčné zranitelnosti a opravit je ještě předtím, než by je mohl někdo zneužít při ostrém provozu. Dobrou zprávou je, že existují i "dobří hackeři", kteří po nalezení vulnerability zveřejní na specializovaném webu, co a jak je nebezpečné a tvůrce pak má možnost zazáplatovat modul, aniž by musel platit drahého bezpečnostního specialistu.

Žijeme tedy ve světě, kde bezpečnostní specialista, což v podstatě není nic jiného, než legální hacker, bere často i 3x více peněz než programátor. V praxi ale bezpečnostní specialista může objevením jedné chyby zachránit klidně miliony dolarů.

ZPĚT

David Rubek - sídlo - Žižkova 346, 273 09 Kladno -Švermov, IČO: 616 39 133, Zapsán u: Magistrát města Kladna / odbor obecní živnostenský úřad. Kladno 272 52, Starosty Pavla 44

Tento web k poskytování služeb, zabezpečení Vašich dat a anlýze návštěvnosti používá soubory cookies. Jeho používáním s tím souhlasíte. Rozumím