Názor ke článku Testovanie distribúcií, profesionalita alebo amatérstvo. od Lael Ophir - [54] Super. Dovolím si přeskočit kočno-psí, žabo-myší a...

  • 30. 8. 2008 19:58

    Lael Ophir (neregistrovaný)

    [54] Super. Dovolím si přeskočit kočno-psí, žabo-myší a jiné "války", a jít k věci.

    Pokud jsem si všiml, tak o open source čtenáři root.cz již léta (dost nesprávně) tvrdí, že je psán neplacenými dobrovolníky. Takovým lidem se říká amatéři. Totéž jsem ale psal už v příspěvku [39]. Mnoho open source vývoje nakonec zaplatí výrobci HW. Tam potom o autorech těžko mluvit jako o amatérech a dobrovolnících, jde placené o profesionály. Problém je v tom, že většina projektů nemá kvalitní vedení, tedy cíle, rozpočet, kvalitní design sestavený před začátkem kódování, chybí kvalitní návrh a testování UI, stejně jako testování výsledného produktu. Řada open source projektů ani po mnohoa letech nedojde do ostré verze, a jen se zuřivě vydávají další nedodělané verze, které opravují některé starší chyby, a zanášejí nové. Release cycle distribucí je tak rychlý, že je ani otestovat nelze.

    To, že open source je nedostatečně testovaný, pokládám za zcela zjevný fakt. Mimochodem jak a kolika lidmi si myslíte, že bude otestované distro vydané po půl roce, ve srovnání s řekněme Windows, které mnohdy beta testuje více lidí, než kolik uživatelů má Linux na desktopu?

    Ke špatným návrhům. Už návrh Linuxu byl špatný. Mělo jít o přepis konceptů prastarých unixů, což je pro devadesátá léta zjevně zastaralý koncept. Monolitický kernel, bez preempce kernelu, s mizerným I/O managementem (viz třeba prioritizace IRQ), bez rozdělení na nějaké rozumné moduly, bez stabilního kernelového API (místo toho alibisticky popsáno, proč to nejde, když to všude jinde jde). Něco se časem podařilo dohnat, ale třeba preemptivní kernel (CONFIG_PREEMPT) je ještě po 17 letech považován za experimentální (stabilita a výkon trpí), a běžná distra ho nejedou. A memory overcomitting je zjevně špatný design, který jednak vede k nižší spolehlivosti systému, a pak vytváří u autorů aplikace nesprávné návyky (nestarat se o výsledek alokace). Použití X11 a cups místo slušného zobrazovacího subsystému je skoro zločin. Když jsme u toho, proč jsou drivery grafické karty psané pro konkrétní X11 server, a nenabízejí nějaké "standardní" rozhraní, které by umožnilo do budoucna z toho X11 bahna uniknout, a postavit nad těmi drivery třeba přímo Qt nebo GTK? Proč Linux od začátku nebyl koncipovaný jako Unicode-enabled, díky čemuž jste si vy (jeho uživatelé) prošli jedním mnohaletým peklem při přemlouvání Linuxu k podpoře 8859-2, dalším při přemlouvání Linuxu k podpoře UTF-8, a třetím kdykoliv tyto věci nějak kombinujete? Proč proboha kernel používá pro adresování zařízení major node a minor node, a ne nějaký inteligentnější způsob? Proč všechna distra až do příchodu udev měla /dev plný tisíců neexistujících device nodes, ke kterým neexistoval odpovídající HW? Proč byl přejat předpotopní systém terminálových sekvencí (což působí řadu problémů uživatelům i autorům), a ne jen API typu ncurses? Kompatibilita je stejně v kopru, protože Linux není POSIX compliant (na rozdíl od Windows se SFU), tak proč toho alespoň nevyužít smysluplným způsobem?

    Uživatelé Linuxu jsou zvyklí na problémy. Není těžké najít na rootu například starší recenze dister, kde se dozvíte, že jde o dobrou náhradu Windows na desktopu, instalace proběhla skvěle, jen selhal jeden skript, bylo nutné upravit dva konfiguráky, ale stejně to bylo super. Nakonec vámi linkovaná diskuze o názvech souborů jasně ukazuje ono "chyby je třeba obcházet, a kdo je neobchází, je uživatel-lama". Hlasování může dopadnout jakkoliv (v jedné webové anketě na otázku "ze kterého konce loupáte banán" odpovědala většina lidí, že jí banány bez oloupání), ale přečtěte si tamní diskusi.

    Teď k hotline. V případě open source je problém v tom, že žádná podpora neexistuje. Diskuzní fóra, nebo email vývojářům bez záruky nějaké odpovědi, za podporu nelze považovat. Samozřejmě u koupeného open source tuto možnost máte, o tom žádná. Tam ovšem firmy nebudou podporovat kód s vašimi modifikacemi. Ve světě komerčního SW je problém v tom, že SW používá hromada lidí (Windows zřejmě více než 400mln uživatelů). Poměr počtu vývojářů a počtu uživatelů je už u malé firmy takový, že kdyby každý zákazník na podpoře mluvil přímo s vývojářem, nedělali by vývojáři nic jiného, než řešili triviální problémy zákazníků. Proto je před vývojáři support, který naprostou požadavků vyřeší bez kontaktu s vývojáři. Nakonec když vývojářům linux kernelu pošlete email s dotazem typu "proč se mi neobjeví ikona na desktopu, když vložím flash disk", také se vám nebudou věnovat.

    Domény s diakritikou vidím jako OK, dokud jde pouze o alternativní doménu k té "klasické" (www.háčkyačárky.cz a www.hackyacarky.cz). To proto, že doménová jména do browseru bušíme na klávesnici, a pokud nemluvíte česky, háčkyačárky.cz na klávesnici nenabušíte (resp. vy i já ano, uživatelé ne).

    V tom "Takhle se uživatelé Linuxu postaví k většině problémů..." hledáte urážky opět zbytečně. Chápejte, že uživatelé počítačů se v převážné většině nechtějí počítači zabývat. Chtějí účtovat, psát, řídit projekt apod., a počítač je pro ně stejně důležitý, jako kladivo nebo auto (nástroj, nic více ani méně). Nechtějí se učit více než je nutné, natož se učit obcházet problémy a nedodělky. Dokud budou současní uživatelé Linuxu tak nenároční ve srovnání se zbytkem uživatelů, nelze čekat, že se Linux bude nějak šířit. Totéž platí u dalšího open source. Pak pochopitelně nemá smysl se ptát uživatelů Gimpu (kterým autoři za ta léta natloukli do hlavy ovládání to příšerné Gimpu), jestli je třeba interface předělat. Je třeba se ptát a testovat na té většině potenciálních uživatelů, kteří Gimp zhnuseně obcházejí.

    Open source mi pro řešení problémů nedává nic navíc. Myslíte, že když mi YaST vyhodí nějakou hlášku, tak se budu hrabat ve zdrojácích? To asi těžko :). Navíc když něco změním, přicházím o podporu od SuSE, musím si změny sám testovat, podporovat, případně je integrovat do nové verze. Když vás odborník na den přijde na EUR 500-2000, rychle zjistíte, že tohle není dobrá cesta. Dobrá cesta je používat stabilní produkty, u kterých je třeba řešit minimum problémů, které mají fungující podporu, a dovolují rozsáhnou a levnou customizaci pomocí customizing layeru (v případně platformy rychlý a levný vývoj pro ni). Vůbec nemusíte souhlasit, stejně jako já nesouhlasím s tím, že auto musí být hlavně modré. Nicméně zákazníci si to myslí (ženy i o těch autech), a to jediné se počítá.