why i hate microsoft #2

14.09.2006 09:38 | blackhole_ventYl

Druhy diel prekladu clanku o praktikach, chovani Microsoftu, jeho pristupu k bezpecnosti, sukromiu, o tom, preco su niektore veci tak, ako su a preco sa nemozu zmenit. Prijemne citanie.

2. Nie tak dobrý, skôr zlý a škaredý

"...je jednoduché prehliadnuť ich celkovú nepoužiteľnosť pri dosiahnutí toho, že to vôbec ide. Inými slovami... tie najobyčanejšie nedostatky v designe sú zastrené tými grandioznými nedostatkami."

-- Stopárov sprievodca galaxiou, o produktoch spoločnosti Sirius Cybernetics Corporation

Budme spravodliví: neexistuje nič take, ako bezchybný software. Prvé verzie programov môžu padať, nesprávne uvoľňovať pamäť, alebo sa môže vyskytnuť neotestovaná situácia. Vývojarom sa môže stať, že prehliadnu bezpečnostné diery, užívatelia môžu robiť veci o ktorých by sa vývojarom ani len nesnívalo a nie všetky systémy su identické. Vývojari sú tiež len ľudia a tiež sú omylní. Stáva sa. Ale spomedzi všetkých softwarových dodávateľov má Microsoft najhoršie výsledky, čo sa týka kvality software vo všeobecnosti.

Vytýčenie ihriska

Microsoft vypúšťa radu drahého software, ale v skutočnosti ich je menej, ako by sa zdalo. Microsoft predáva dookola v podstate ten istý software znova a znova iba so zmeneným obalom a názvom.

Produkty Microsoftu možno rozdeliť do troch kategórií: aplikácie, operačné systémy a dalšie serverové produkty. Aplikácie zahrňajú Microsoft Office, ale aj Internet Explorer, Media player, Visio, Frontpade atd. Operačné systémy su zastúpené desktopovými a serverovými verziami Windows. Na desktopoch sa vyskytujú Windows 9x/ME, NT Workstation, Windows 2000 a Windows XP a na serveroch Windows NT Server, Windows 2003 Server a varianty Windows 2000, ako napríklad Datacenter. Další serverový software, ako je napríklad Internet Information Server (IIS) a SQL Server bežia na niektorom z týchto produktov. Pridávaju operačnému systému služby (ako napríklad web server, databázový server) k základnému balíčku fileservera, tlačového servera, ktoré Windows poskytuje.

Dve rodiny Windows

Na desktopoch sa možno stretnúť s dvoma odrodami Windows: Windows 9x/ME, alebo Windows NT/2000_XP. Rozdielne verzie tej istej rady sú vytvorené tak, aby vyzerali odlišne, ale rozdiel je len v detailoch; v skutočnosti sú skoro totožné. Windows 95, 98 a ME sú odvodené od MS-DOSu a Windows 3.x a obsahujú značné časti 16bitového archaického kódu. Tieto verzie Windows su založené na DOSe a obsahujú 32-bitové rozšírenia. Manažment procesov a zdrojov, ochrana pamäte a bezpečnosť boli pridané dodatočne a sú prinajlepšom v zárodku. Tieto systémy su totálne nepoužiteľné tam, kde je potrebná bezpečnosť a spoľahlivosť. Sú úplne nezabezpečené, napríklad vyžiadajú si heslo, ale nikoho netrápi, že žiadne nezadáte. Neexistuje žiadny spôsob, ako zabrániť užívateľovi v prístupe k systému a zničeniu jeho časti (alebo celého filesystému), každý užívateľ smie meniť systémové nastavenia, úmyselne, alebo náhodne. Windows 9x/ME môže byť primárne určený pre spotrebiteľov (aj ked marketing Windows 95 bol zameraný hlavne na firemný sektor).

Druha produktová línia zahrňuje Windows NT, 2000, XP a ostatné serverové produkty. Táto rodina Windows je lepšia, ako línia 9x/ME, prinajmenšom tieto verzie používaju nový (z éery po DOSe) 32 bitový kód. Ochrana pamäte, správa zdrojov a bezpečnosť sú brane trocha vážnejšie, ako vo Windows 9x/ME a majú aspoň nejakú podporu pre obmedzenie prístupu a bezpečný filesystém. To však ešte stále neznamená, že tieto verzie sú tak bezpečné, ako tvrdia obchodníci z Redmondu, ale v porovnaní s Windows 9x/ME ich doplnkové funkcie plnia aspoň nejakú úlohu, ked už tam sú. Ale celá táto rada obsahuje značne veľké kusy 16bitového kódu a celý 16bitový subsytém je priamym odkazom z čias paktu Microsoftu a IBM. V krátkosti: všetky 16bitové aplikácie zdieľajú jeden 16bitový subsystém (tak, ako v OS/2). Neexistuje žiadna vnútorná ochrana pamäte, takže akákoľvek 16bitová aplikácia vie zhodiť akúkoľvek inú 16bitovú aplikáciu, alebo celý 16bitový subsystém. To môže vytoviť trvale zablokovanie častí systému a viesť z zatuhnutiu celého systému Windows. Našťastie to je v dnešnej dobe, kedy 16bitové aplikácie už vymreli veľmi nereálny stav.

Samozrejme, Windows prekonali mnoho vývoja počas niekoľkých rokov. V skutočnosti ale len málo z toho všetkého boli vylepšenia. Všetky nové verzie Windows vykazuju ten istý flákačský prístup. S každým vyriešeným problémom vzniká minimálne jeden nový (ovykle však viac). Napríklad Windows XP prichádza nabalené s väčším množstvom aplikácii, ako kedykoľvek doteraz. Aj ked to vyzerá ako výhoda, pribalený software nemá funkcie tak vyvinuté, ako konvenčný software. Napríklad, XP podporuje DSL (širokopásmový internet), scannery a iné zariadenia pomocou vstavaného kódu poskytnutého Microsoftom namiesto nutnosti inštalovať software tretích strán. Takže nakoniec skončíte s DSL pripojením používajúcim zle parametre (bez možnosti zmeniť ich), scanner, ktorý neumožnuje použiť funkciu kopírky a digitálným fotoapatom, z ktorého síce je možné stiahnuť fotky, ale nedá sa použiť ako webkamera. Bezdrótové sieťové karty sú ešte väčším problémom: tam, kde v minulosti mohli výrobcovia použiť vlastné drivery a manažéry pripojenia, sú nútení babrať sa s Microsoftnou podporou WiFi. Bohužiaľ Micorosftné WiFi má plno problémov, ako napríklad padanie pripojenia so železnou pravidelnosťou. Natívny manažér WiFi navyše nemá doplnkové funkcie (ako napríklad viacero profilov pre pripojenia), ktoré zvykol mať software výrobcov. Samozrejme Internet Explorer a Outlook boli so systémom previazané viac, ako kedykoľvek predtým spolu s dalšími aplikáciami.

Chyby spoločné pre všetky verzie Windows

Všetky verzie Windows zdieľajú množstvo konštrukčných chýb. Proces inštalácie aplikácii, chyby užívateľa, padnuté aplikácie, to všetko môže jednoducho poškodiť systém, podpora sieťovania je biedna, neefektívny kód vedie k podpriemerným výsledkom a škálovateľnosť a manažovateľnosť má dosť čo doháňať. (Príloha A) V skutočnosti žiadny z rady Windows NT, ani jeho pokračovateľov sa nemôže pochváliť takou stabilitou, na ktorú sú zvyknutí užívatelia UNIXU už po desaťročia. Windows proste môže pracovať dobre, ale nemusí vôbec. Zúčastnil som sa tréningu v Microsoft Authorized Education Center a bolo mi povedané: "Ideme inštalovať Windows na servery. Inštalácia sa pravdepodobne nepodarí na jednom, alebo dvoch strojoch (jednalo sa o identické stroje), ale to sa stáva stále a nikto nevie, prečo to tak je - ani Microsoft". Opakujem: toto je od autorizovaného partnera Microsoftu.

Nech je to ako chce... aj bez problémov s inštaláciou alebo pádmi systému (tie, ktoré vyžadujú reinštaláciu alebo obnovu) si Windows neplní svoje úlohy dokonale. Vňčšina užívateľov si myslí, že áno, ale vo vňčšine prípadov nevyskúšali žiadnu alternatívu. Nespoľahlivosť Windows sa stala štandardom a dokonca sa na nej profituje; dobre známe modre obrazovky sa objavili v rozprávkach, šetričoch obrazovky, na tričkách, objavili sa v letištných halách a na budovách a dokonca v jednom dieli Star Treku bolo nutné vypnúť a zapnúť lod, ktorej zlyhal software.

A ak aj Windows prežije, nestoji za veľa. Na starom, ale stále dobrom deskope (450MHz Pentium II s 256 MB RAM - niečo o čom sa pred par rokmi mohlo len snívať) je 4 alebo 5 úloh akuráť tak dosť na to, aby zamestnali prepínač úloh naplno, aj ked je dostatok systémovej pamäte. Prepnutie úlohy bude trvať večnosť, aplikácie prestanú odpovedať jednoducho preto, že čakajú na uvoľnenie prostriedkov držaných inými aplikáciami (ktoré sa môžu zrútiť bez toho, aby ich uvoľnili), alebo sa knižničné, alebo jadrové funkcie zaseknú v nejakej neobvyklej slučke čakania. Skôr, či neskôr sa bud celý systém zasekne, alebo stane natoľko spomaleným, že ho treba reštartovať. Skrátene správa procesov vo Windowse je tak zlý vtip, ako jeho správa pamäti a zdrojov a operačný systém, ktorý sa môže zrútiť pri páde aplikácie by nemal byť seriózne predávaný ako multiužívateľský operačný systém. Samozrejme, dokáže spustiť niekoľko procesov odrazu, ale nie práve najlepšie. Aktuálne verzie Windows (2000 a XP) sú v tomto ohľade oniečo lepšie, ako ich predchodcovia, ale nie o veľa. Boli zaplátané, aby sa redukoval dopad najväžnejších problémov, ale najzákladnejšie chyby v návrhu systému ostávajú; padajúca aplikácia (napríklad prehrávač videa) môže ešte stále zrútiť systém, alebo ho doviesť k spontánnemu rebootu.

Oddelenie kódu, nedostatky v ochrane a zdieľaní

Windows je vskutku krehký a systém sa môže poškodiť naozaj jednoducho. Často sa tak deje počas inštalácie updatov, service packov, driverov alebo software a tento problém existuje vo všetkých verziach Windows. Jadrom tohto problému je, že Windows nevie (alebo skôr k tomu nie je vedený), aby oddeľoval kód a nastavenia aplikácii a operačného systému. Kód sa mieša, ked aplikácie inštalujú svoje súčasti medzi spbory patriace operačnému systému (sem tam ich aj prepisujú). Nastavenia sú ukladané do centrálnych registrov, ktoré obsahujú aj dôležité systémove nastavenia. Databáza registrov je všeobecne nezabezpečená a dôležité údaje sa môžu ľahko poškodiť.

Dalšie problémy spôsobujú obmedzenia subsystému DLL. Dobrý operačný systém využíva funkciu zvanú zdieľanie kódu. Znamená to, že ak aplikácia beží 10 krát v tom istom čase, kódový segment, ktorý obsahuje kód programu (ktorý sa nazýva aj statický segment) sa v pamäti nachádza iba raz a je zdieľaný 10timi procesmi, ktoré sú vlastne len 10timi inštanciami tej istej aplikácie. V Microsofte o niečom takom, ako zdieľanie kódu počuli, ale nepochopili, ake má tento koncept výhody, alebo sa s celým týmto ani nezaťažovali. Proste sa zobrali a namiesto toho použili DLL. DLL súbory obsahujú Dynamicky Linkovane Knižnice a sú vymyslené na ukladanie knižničných funkcií. Windows nezdieľa statický kód programu - ak sa spustí 10 inštancií Wordu, väčšina kódu bude v pamäti 10x, iba časť kódu (knižničné funkcie) bola premiestnená do DLL a môže byť zdieľaná.

Hlavný problém s knižnicami DLL je v tom, že systém odlišuje knižnice iba podľa mena. Neexistuje žiadna signatúra verzie DLL. V podstate to znamená, že Windows nevidí rozdiel medzi WHATSIT.DLL a inou knižnicou s rovnakým menom, aj ked obe môžu obsahovať úplne iný kód. Akonáhle sa niektorý súbor v adresári Windows prepíše, neexistuje cesta späť. Taktiež poradie, v ktorom sa aplikácie spúšťaju (a DLL knižnice sú naťahované) určuje, ktorá knižnica sa stane aktívna a akým spôsobom sa systém poprípade zrúti. Aplíkácia môže uložiť svojú vlastnú knižnicu do adresára s Windows DLL knižnicami a môže prepísať rovnomennú knižnicu, ak existuje.

Čo to ešte zhoršuje, je to, že aplikácia smie pridať svoju časť kódu do kódu operačného systému (To je dóvod, prečo sa Windows musí reštartovať po inštalácii, alebo zmene aplikácie) To značí, že inštalácia prináša do systému kód tretích strán (necertifikovaný kód) a do ostatných aplikácii, ktoré využívajú predmetné DLL knižnice. Navyše kvoli tomu, že neexistujú žiadne skutošné hranice medzi úrovňou systémového kódu a užívateľského kódu, takže kód poskytnutý dodávateľom software, alebo užívateľom môže ľahko bežať na úrovni najvyšších privilégií. To poškodzuje integritu systému a aplikácií. Známa demonštrácia tohto faktu sa odohrala na prezentácii Windows 98 na výstave Comdex Billom Gatesom, počas demonštrácie Plug-and-Play, ked pripojenie scannera spôsobilo pád systému a modrú smrť. "Sledujúc to", povedal gates "...si myslím, že toto je dôvod, prečo ho ešte nedodávame." Pekný pokus pán Gates, ale vydania Windows 98 a ME boli približne rovnako nestabilne a Windows 2000 a XP priniesli nové problémy. Tieto verzie WIndows totižto používaju sériové čísla firmware na rozoznávanie zariadení, takže zariadenie sa môže po upgrade stratiť z PnP.

Síce menej poškodzujúca, ale o to provokujucejšia je záležitosť s jazykovými verziami. Viacero programov sa môže pomiešať. Cudzojazyčná veriza programu si môže nainštalovať a čiastočne prepísať správy dialógových okien Windows. To môže viesť k zobrazeniu správy "Are you sure?" v angličtine a pod tým tlačidlá s textami "Da" and "Nyet".

Drivery používajú tiež pomerne slabý systém signatúr, takže trpia podobnými problémami, ako DLL knižnice. Je napríklad možné zameniť driver tlačiarne za podobný driver z inej jazykovej mutácie a rozbiť pri tom formátovanie stánok. Tlačové drivery z iných jazykových variant často obsahujú úplne odlišný kód a generujú úplne iný tlačový výstup, ale Windows si nie je vedomý rozdielov. Tento problém bol riešený vo Windows 2000, ale má stále k dokonalosti.

Miešanie kódu systému a aplikácií

Návrh systému tak, aby bol kód systému a aplikácii zmiešaný perfektne pasuje do stratégie Microsfoftu pre integráciu a pridávanie software. (Viď nižšie) Ale výsledok je úplne iný: každá operácia so súborom môžepotenciálne viesť k ohrozeniu systému a chyby aplikácii často vedu k chybám systému (a pádom). To vedie k zaujímavým "problémom", ako napríklad Outlook Express, ktorý môže zhodiť Windows NT 4.0, ak NT je vo verzii "high encryption" a locale je nastavené na Francúzsko; odpoveď na mail môže zrutiť systém; tento problém bol vysledovaný do jednej DLL knižnice, ktorá prichádza s Outlookom.

V robustne a dobre navrhnutom systéme sa nikdy nič také nemôže stať. Prvým kritériom pri návrhu akéhokoľvek operačného systému je, že operačný systém a aplikácie, a (v multiužívateľskom prostredí) užívatelia sú od sebaoddelení a navzájom chránení. Nie len že toto žiadna verzia Windows štandardne nerobí, ale aktívne sa proti tomto bráni. Guláš v DLL je len jednym z problémov. Nemožno spravovať, ani obnoviť integritu systému, nemožno spravovať verzie, nemožno aplikáciam zabrániť v ovplyvňovaní sa navzájom a ovplyvňovaní systému, náhodne, alebo za nejakým účelom.

Počas opravy

Poďalšie je to absencia adekvátneho spravovacieho, alebo záchranného režimu. Ak sa niečo pokazí a nastane poškodenie niektorého z tisícok súborov, ktoré tvoria Windows, potom jediným riešením býva restore veľkej časti operačného systému, alebo reinštalácia celého systému. Ano, počuli ste správne. Ak systém náhle prestane fungovať a súbor, ktorý je poškodený je neznámy, alebo je zamknutý systémom, štandardným prístupom je reinštalácia (odporúčanie Microsoftu). Neexistuje nič také, ako jednoužívateľský režim, alebo správcovský režim na vykonanie opravy, ani neexistuje žiaden dobrý spôsob na zistenie toho, ktoré súbory sú vlastne poškodené, aby sa mohla vykonať náprav. (Takzvaný safe-mode jednoducho vymení konfiguráciu, ale neobsahuje žiadne nástroje na rozumnú opravu systému.)

Windows bol často kritizovaný za problémy, ktoré vznikajú pri inštalácii na náhodne vybrané počitače, či už sa jedná o značkový počítač, alebo o lacný klon. Táto kritika nie je oprávnená; nie je totižto možné predpovedať všetky možné kombinácie hardware, ktoré sa môžu vyskytnúť u koncového pouižívateľa. Ale to nie je podstatné. Podstatné je to, že často nie je možné tieto problémy odstrániť, pretože väčšina operačného systému Windows je mimo kontroly administrátora, alebo užívateľa. Toto je samozrejme oveľa jednoduchšíe vo Windows 9x/ME. Vzhľadom k tomu, že sú to v podstate len verzie DOSu, je možné sa prepnúť do režimu DOSu a vykonať ručné opravy v systéme. Samozrejme vo Windows NT je toto prakticky úplne nemožné. Windows 2000 a XP majú externú servisnú konzolu na CD umožňujúcu prístup k filesystému zničeného Windows. Ale to je asi tak všetko.

To vedie k neriešiteľným situáciam. Napríklad som sa pokúšal inštalvoať bugfix od Microsoftu pre Windows NT, ktorý obsahoval DLL knižnicu, ktorá však bolá Windowsom otvorená a zamknutá, takže som to nemohol vykonať, kým systém bežal. README dodaný s patchom odpodúčal rebootnuť počítač s DOSom a manuálne prepísať knižnicu. Odhliadnuc od faktu, že NTFS filesystém nemôže byť spísupnený pod DOSom, ktorý pre teraz budem ignorovať, táto neschopnosť dovoliť správu systému je dobrá ukážka nevyzrelosti Windows.

Neschopnosť vykonania opravy systému bola riešená vo Windows XP pridaním "Obnovy systému", ktorá sleduje zmeny v systéme, takže administrátor môže vykonať rollback do predošlého funkčného stavu. Takisto služba "Kontrola systémových súborov" sa snaží zabezpečiť, že každý z tisícov systémových súborov je pôvodný a nezmenený. Ak je niektorý z dôležitých systémových súborov prepísaný inou verziou(napríklad knižnica XP je prepísaná rovnomennou knižnicou z Windows 95), p§vodná bude obnovená. (Samozrejme to vedie k takým veciam ako nemožnosť odstrániť outlook, alebo Progman.exe (pozn. prekladateľa: ja pochybujem už len o tom, že to niekto niekedy použil, nie o tom, že niekto vie, čo to je), aj keď ich status systémových súborov je prinajmenšom diskutabilný)

Tieto patche sú automatizované a sú mimo kontroly užívateľa. Zakázanie Kontroly systémových súborov vyžaduje veľké zásahy do systému a niekedy je nutné službu zastaviť z dôvodu zabránenia vrátenia modifikácii, o ktorých sy mysli, že sú nesprávne, ale v skutočnosti sú potrebné. Ešte stále neexistuje žiadny správcovský režim. Ale aj tak to môže byť považované za zlepšenie stavu oproti minulosti: je aspoň nejaká šanca opravy systému. Na druhu stranu to demonštruje prístup Microsoftu k veci: namiesto implementovania zmien, ktoré by zabránili zdevastovaniu systému, opomenú chybu v návrhu a pokúšajú sa riešiť vzniknuté problémy. Neopravia dieru v streche, ale predaju vedro, ktoré si možno dať pod ňu.

Zmršené zdroje

Neefektivita kódu Microsoftu má samozrejme katastrofálne dopady na výkonnosť Windows. (Skade asi pochádza meno "Windoze"?) Microsoft potrebuje minimálne 3 - 4x toľko hardware na vytvorenie rovnakého výkonu, ako ostatné operačné systémy (napríklad Unix) na oveľa slabšom hardware. A to nie je jediný problém. Ďalším problémom je to, že okrasy tomu na rýchlosti nijako nepridávajú. Dnes potrebujete minimálne Pentium III, na robenie rovnakej kancelárskej práce pod Windows XP, na ktorú stačila 12MHz 286tka pod DOSom... pri využití približne rovnakého času. Zvýšenie produktivity je len čiastkové oproti zvýšeniu celkových nákladov na vlastníctvo. Dá sa toto nazvať návratom investícií?

32 bilobytov RAM v lodi Apollo stačilo na dopravenie človeka na mesiac. Sondy voyager mali počítače založené na 4-bitových procesoroch. Procesor 80C85 so 176 kB PROM a 576 kB RAM ovládal vozítko Sojourner, ktoré sa preháňalo po povrchu marsu a prinieslo hromadu vedeckých dát a obrázkov s vysokým rozlíšením a farbami. Ale ak mám počítač 233 MHz Pentium II s 128MB RAM a 30 GB pevným diskom, a chcem napísať list babičke s pomocou Windows XP a OFFice XP, bude mi to trvať večnosť, pretože moj počítač je šunka.

Sieťovo, alebo serverovo založené spúšťanie aplikácii je nie je jednoznačným riešením, pretože Windows nemá žíadne skutočné schopnosti zdieľania kódu. Ak chcete preniesť prácu desiatich pracovísk 450MHz/512 MB RAM na jeden centrálny server (pomocou Windows Terminal Server, alebo Citrixu), teoreticky potrebujete 4,5GHz/5GB RAM stroj na dosiahnutie rovnakého výkonu, ešte nezohľadňujúc fakt, že pribudne nejaká réžia, ktorá môže ľahko vybehnúť na 10 - 20%.

V kódoch Windows sa takisto nachádza neuveriteľné množstvo neefektívneho, alebo kompletne nepotrebného kódu. ZOberme si napríklad taký 3D Pinball vo Windows 2000 Professional a XP Professional. Táto hra (nachádza sa v \Program Files\Windows NT\Pinball) sa inštaluje spolu s Windows a zaberá niekoľko megabytov miesta. Ale väčšina užívateľov sa nikdy ani nedozvie, že tam niekde je, že zaberá miesto a nerobí nič užitočné. V skutočnosti jediné rozumné vysvetlenie je to, že demonštruje to, čo myslí Microsoft tým "Professional". Neprekvapí, že Windows vyžaduje vždy viac a viac zdrojov. Pár megabytov sa možno nezdá veľa, ale to je len dôsledok toho, že sme zvyknutí na obrovské odtlačky Windowsu a jeho aplikácií. Ak Microsoft inštaluje hru, ktorú nikto nebude hrať, ani potrebovať, nezaujíma sa ani o šetrenie zdrojmi, za ktoré musia užívatelia platiť. Čo to vypovedá o efektivite zvyšného kódu? Dám vam malý tip: výsledky štúdie prezentovanej v PC Magazine v apríli 2002 ukazujú, že Samba (pozn. prekladateľa: aplikačný balíček umožäujúci zdieľanie súborov a tlačiarni na spôsob Windowsu) prekoná výkon Windows 2000 o 100% pri benchmarkových testoch. V praxi to znamená, že Samba a Unix dokážu obslúžiť 4x viac klientov, než Windows 2000, než začne výkon klesať.

Ďalším príkladom je to, ťo sa stalo jednemu z mojich klientov po prechode z Unixu na Windows (dôvodom bolo to, že bolo nutné pripojiť webovú aplikáciu na vystup z účtovníckeho systému). Najrpv ich systém bežal na Unixe s Apache, PHP a MySQL a vykonával všetko potrebné s hardwarom viacmenej v pokoji. Potom bol na ten istý systém nainštalovaný Windows, IIS, PHP a MySQL, po čom aj najjednoduchší PHP skript (100 riadkový generátor HTML formulárov) spadol po 30tich sekundách kvoli vyčerpaniu času.

Paradoxom je, že práve fakt, že produkty Microsoftu vyžadujú silný hardware na rozumný beh, prispel k ich komerčnému úspechu. Veľa dodávateľov totiž pretláča software Microsoftu, ktorý im potom pomáha zvyšovať predaj výkonnejších a novších strojov, ktoré sú často nekompatibilné so starými systémami po hardwarovej a firmwarovej stránke (špeciálne BIOS). Toto spolu s faktom, že výrobcovia prestávajú podporovať starý hardware a BIOSy, núti užívateľa upovať nový drahý hardware bez nejakého patričného zvýšenia výkonu, alebo návratu investície. TO zvyšuje predaj hardware na úkor "milovaného zákaznika". Predajcovia získaju väčšie zisky, ak pretláčaju Microsoft. Je to tak jednoduché. (pozn. prekladateľa: v neposlednej miere to umožní mne sa dostať k dostatočne výkonnému hardware, ktorého sa ľudia zbavujú za lacný peniaz)

Mnoho malých nedostatkov znamená jeden veľký

Okrem vyššie menovaných (nie len) obrovských nedostatkov existuje aj hromada malých nedostatkov. V skutočnosti existuje toľko malých nedostatkov, že ich množstvo môže byť považované za ďalší veľký nedostatok. V krátkosti, všeobecná kvalita kódu od Mcirosoftu je podpriemerná. Neošetrené buffre, neošetrené vstupno výstupné operácie, nedefinované stavy, nesprávne implementované protokoly, neschopnosť dealokovať zdroje, neschopnosť overiť stav prostredia atď... nie je problém ich vymenovať, každ o nich vie. Kód Microsoftu obsahuje také veci, ktoré by študentovi vyniesli zaslúženú zlú známku. Ako výsledok tohto celého sú produkty Microsoftu, najmä však Windows, sú preplnené chybami. Dokonca aj väčšina chybových hlásení je odfláknutá.

Niektoré z nich sa daju klasifikovať ako záplata nešikovného designu, ako vylepšenie. Dobrým príkladom je podpora dlhých názvov súborov. Pri pokuse sprístupniť dlhé názvy súborov (pozn. prekladateľa: ext2 filesystém ich mal odnepamäti, Windows len od roku 1995), Microsoft ohavne rozhodil štruktúru FAT filesystému. Uložili doplnkové informácie do skaredo poprepájaných položiek adresára, ktoré sú zrejme jednou z najhnusnejších záplat všetkých čias. A ako by to nestačilo, povolili využívať prázdne znaky v názvoch súborov. Keďže je to nekompatibilné s vlastným mechanizmom parsovania parametrov (stále sa predpokladá starý systém podľa FAT), museli pridať ďalší hack a prázdne znaky sa museli uzatvárať do úvodzoviek. To úplne zmätie väčšinu programov vrátane tých, ktoré sú dodávane s Windows.

Ďalším dobrým príkladom je pokus o to, aby bol Windows citlivý na veľkosť znakov. Windows vyzerá, že dobí rozdiel medzi malými a veľkými znakmi pri spracovávaní názvov súborov, ale podkladovej technológii je to jedno. Takže Windows mení veľkosť znakov ibavtedy, ak sú prezentované užívateľovi. Názvy súborov môžu byť písané veľkými, malými, alebo zmiešanými písmenami, ale stále sú prezentované ako kapitálkove názvy súborov s malými písmenami. Táto roztrieštenosť nerobí skoro žiadne problémy v čisto Windowsovskom prostredí, ale narobí paseku, ak sa niekto snaží spriahnuť Unix a Windows. Windows vtedy proste rozbije názvy súborov a adresárov.

Väčšina chýb vo Windowse je však výsledkom flákačskej práce. Samozrejme neexistuje nič také, ako bezchybný software, ale množstvo chýb vo Windowse je neslýchané. Napríklad Service Pack 4 pre Windows NT 4.0 opravoval 1200 chýb (áno, tisícdvesto). Ale v tom čase už existovali tri iné servicepacky. Microsoft sa to snažil zakryť a jednoducho povedal, že SP4 vylepšuje NT v 1200 bodoch. Neskôr museli vydať niekoľko ďalších záplat v nasledujúcich mesiacoch, aby zaplátali zostávajúce diery a diery vzniknuté po aplikácii SP4.

Interný dokument medzi vývojarmi Microsoftu spomína 63 000 (šestdesiattri tisíc) známých chýb v prvotnej verzii Windows 2000. Keith White, riaditeľ Windows Marketing, nepoprel existenciu takého dokumentu, ale povedal, že tvrdenia v ňom mali motivovať vývojarov. Namiesto toho prehlásil "Windows 2000 je najbezpečnejši Windows, ktorý doposiaľ existuje.". Ano, to povedal. Produkt so 63 000 známymi (pozor: to su iba tie, o ktorých sa vie) chybami, je to najlepšie, čo vedia vytvoriť.

A príbeh pokračoval, Windows XP Service Pack 2 bol zameraný na množstvo bezpečnostných problémov a mal robiť systém bezpečnejším. Namiesto toho znefunkčnil veľa programov (najmň produkty konkurencie, ale to je samozrejme len náhoda) ale skutočne nevyriešil žiadnyproblém. Prvá diera v SP2 bola označená, ako "nie celkom diera, ale skôr kráter". Iba niekoľko dní po vydaní SP2 bola objavená prvá diera v Internet Exploreri v SP2. Navyše SP2 ponecháva zapnuté ohromné množstvo nepotrebného sieťového príslušenstva, nadbytočné práva, zanecháva IE a OE otvorené voči exploitom a inštaluje filter packetov, ktorý je neschopný akéhokoľvek rozumného filstrovania. Robí navyše oveľa obtiažnejšie dostať sa k ovládacím prvkom ActiveX (najmä multimediálnym pluginom), čo zabraňuje inštalácii množstva konkurenčného softwaru. Najväčším efektom SP2 (odhliadnuc of faktu sťaženej inštalácie) sú časté bublinky s varovaním. Okrem tohto, dlho očakávaný a toľko ospevovaný XP-SP2 nenapravil nijako veľa problémov.

V lete 2005 Jim Allchin, hovorca vo veci Windows prišiel a potvrdil to. V neobvyklej ukážke úprimnosti spoločnosti, pre Wall Street Journal povedal, že prvá verzia Longhornu musela byť zrušená kvoli nízkej kvalite kódu. Koreňom problému bol podľa Allchina vrodený prístup Microsoftu k programovaniu (tzv. kultúra špagetového kódu), kedy tisícky progrmátorov programovali svoje fragmenty osamote a následne ich spájali dohromady. Allchin tiež povedal, že zažil zamietnutie pri prospe po novom prístupe k programovaniu, najprv zo strany Gatesa, potom samotných vývojarov.

Nespoľahlivé servery

Všetky tieto prešlapy mali samozrejme za následok dopad na spoľahlivosť a dostupnosť Windowsových systémov. V závislosti na aplikáciach a zaťažení systému vyžaduje väčšina systémov časté rebootovanie, buď na odstránenie problémov, alebo na zabráneni znížovania výkonu, ako výsledku odfláknutej správy zdrojov.

Na dekstope je to dostatočný problém, ale rovnake problémy existujú aj na servroch. Servre sú častejšie používane na kritické aplikácie, ako pracovné stanice, takže limitovaná dostupnosť Windowsu sa stáva hlavným problémom na business. Sieťové schopnosti sú stále založené na achitektúre peer to peer zdedenej z Windows for Workgroups 3.11 a ktorú Microsoft okopíroval po tom, čo bola úspešne zavedená v 80-tých rokoch. Samozrejme niektoré časti ku boli rozšírené, alebo optimalizované na výkon a bola pridaná doménova autentifikácia, ale to ešte stále nerobí serverovú platformu. Ani to, že NT Server stojí skoro trikrát toľko, čo NT Workstation. V podstate hovoríme o čomsi ako Windows for Workgroups na steroidoch.

V novembri roku 1999 Steven J. Vaughan-Nichols z Sm@rt Reseller vykonal test na porovnanie stability Windows NT Server (pravedpodobne s Microsoft Internet Information Serverom) s opensource Linuxom (s Apache a Sambou). Napísal:

Bežne sa hovorí, že Linux je neobyčajne stabilný. Ako vždy skeptickí, rozhodli sme sa toto tvrdenie otestovať viac, než 10-mesačným testom. V teste sa zúčastnili Caldera Systems OpenLinux, RedHat Linux a WIndows NT Server 4.0 so Service Pack 3 na dvojitom 100MHz systéme so 64 MB RAM. Od momentu, keď sme systémy nabootovali v januári, boli pravidelne posielané požiadavky z internetu paralelne s požidavkami na tlačové a súborove služby. Výsledky odhalili, že náš Windows NT server spadol priemerne raz za 6 týždňov. Každý pád trvalo opraviť približne 30 minút. To nie je tak zlé, do momentu, než si uvedomíte, že ani jeden z Linuxov nepadol.

Zaujímavé: pád, ktorého fixácia trvala 30 minút, to značí, že sa pokazilo niečo dôležité, čo sa muselo opraviť. Prinajmenšom to značilo niečo viac, než len reboot. Toto sa stane raz za 6 táždňov na serveri a je to "nie tak zlé"... Rozmýšľajte o tom. A navyše je treba poznamenať, že aj ostatné druhy Unixu, ako Solaris, BSD alebo AIX sú natoľko spoľahlivé, ako Linux.

Ale priepasť medzi Windowsom a skutočnými priemermi uptime (čas, ktorý uplynul od naštartovania systému) je oveľa väčší, ako popisuje Vaughan-Nichols. Porovnajte pol hodiny nedostupnosti každých 6 týždňov s Netware, v nasledujúcom článku z Techwebu z 9 apríla 2001:

Server 54, kde si?

Na univerzite v severnej Carolíne konečne našli server, ktorý aj napriek tomu, že 4 bol 4 roky nezvestný, nikdy nestratil ani jeden packet. Nech sa pokúšali, ako mohli, administrátori nemohli prísť na to, kde server je. Spojili sa preto s Novell Inc., IT pracovníci stopovali trasu kábla, ktorý končil v stene. Server bol omylom schovaný za betónovou stenou postavenou robotníkmi.

Aj keď sú nejake pochybnosti o pravdivosti tohto príbehu, je znýmym faktom, že servery Netware sú schopné niekoľkoročnej nepretržitej práce. Nedávno som vypínal server s Netware vo vedení firmy. Je to Netware 5 server, ktorý má na starosti SMTP/POP3 server a vírusovu ochranu siete, popri bežných službách súboroveho a tlačového servera pre celú spoločnosť. Bol zapnutý bez akýchkoľvek problémov po dobu viac ako roka a jediný dôvod, prečo sa musel vypnúť, bolo to, že sa musel fyzicky premiestniť do inej budovy. Ak by presun nebol nutný, mohol bežať roky a roky - nie je dôvod na to, aby bol jeho výkon ovplyvnený, pokial nikto nevypne elektriku, alebo nespustí na serveri netestovaný software. Uptime serverov s Linuxom a Solarisom (ktoré sa často používaju na kritické aplikácie, mailové servery, databázové servery, a bežia tiež ako súborové a tlačové servre) sa ráta v obvykle tiež v mesiacoch. Uptime prekračujúci jeden rok nie je nezvyklý pre Netware, alebo Unix a aj uptimy dlhšie ako 2 roky sú pomerne časté. Väčšin updatov systému, okrem výmeny kernelu nevyžaduje kompletný reštart Unixového servera, naproti Windowsu, ktorý vyžaduje kompletný reštart po výmene čoilen jednej DLL knižnice. Ale presvedčte sa sami: pozrite si Uptime štatistiky Netcraft a porovnajte uptime Windows serverov s uptime Unixových serverov. Tieto štatistiky hovoria samé za seba.

Microsoft sľubuje dostupnosť 99,999% s Windows 2000. To je niečo málo cez 5 minút výpadku za rok. Myslím, že toto nie je pre Windows splniteľný cieľ. Produkty Microsoftu nikdy neboli schopné takého uptimu. Aj keby sa väčšina zvýšenia dostupnosti Windows 2000 dosiahla cez clustrové a redundančné riešenia tretích firiem (o čom sa vyjadrenie nezmieňuje), je veľmi nepravdepodobné, že by bolo dosiahnuté menej, ako 5 minút výpadku celeho clustra ročne.

Pravdepodobnejšie závažnejší je fakt, opomenúc clustering, že neexistuje žiadne adekvátne riešenie na riešenie chýb, ktoré znižuju dostupnosť typického Windows NT alebo 2000 servera. Typický NT alebo 2000 server môže spontánne vyvolať niekoľko rôznorodých problémov. Môžu sa líšiť od sieťových procesov, ktoré vyzerajú zdravo, ale ignorujú sieťové požiadavky až po padnutú aplikáciu, ktorá zablokuje celý systém. Pravdepodobne jediným spoľahlivým riešením takejto situácie je vypnutie a reštartovanie celého systému. Pamätám si, že som toto robieval 3x do týždňa na produkčnom serveri. Verte mi, nie je to žiadna sranda. Možno je pochopiteľne, prečo niektorí administrátori cítia, že najlepšia cesta, ako zrýchliť Windows je cez 9,81 metra krát sekunda na druhú.

Viac obav, väčšia cena, alebo oboje

Robí toto všetko Windows totálne nepoužíteľným, že nemôže bežať stabilne nikde? (pozn. prekladateľa: minimálne na projektoroch je Windows stabilný). Nie, naštastie nie. Existujú situácie, kedy Windows (pracovné stanice aj servery) môžu bežať dlhú dobu bez pádu. Verzie Windows NT alebo 2000 inštalované dodávateľom na HCL kompatibilnom, značkovom systéme so všetkými požadovanými service packmi a iba certifikovanými drivermi by mal vykazovať relatívne málo problémov (za predpokladu, že sa použije iba na základné súborove a tlačové služby, samozrejme). Pravidlo znie, že je potrebné používať iba hardware, ktorý je na Hardware Compatibility Liste MIcrosoftu (HCL)m používať iba dodávateľom poskytnuté certifikované drivery a používať clustering tretích strán tam, kde dostupnosť je prvoradá.

Ďalšie pravidlo je jednoduché: jedna služba na server. Unixoví administrátori su zvyknutí na súčasný beh viacerých služieb na jednom serveri stále s dostatkom voľného výkonu. Dobrý Windows sysadmin to nikdy nespraví. Ak treba mat file/prin server, mailserver a webserver na Windowse, treba použiť tri servery. To minimalizuje riziko konfliktov medzi programami a predíde preťaženiu. Na druhej strane je potreba troch servrov miesto jedného, čo znamená viac obsluhy na vykonanie práce.

Taktieť použíanie iba posledných verzii produktov Microsoftu môže pomôcť. Takýto prístup síce niečo stojí na licenčných poplatoch, ale môže pomôcť vyriešiť, alebo predísť problémom. Aby sme boli spravodliví: Windows 2000 a XP na desktope a Windows Server 2003 na serveri sú oniečo lepsie (lepšie povedané menej horšie), ako bolo NT 4. Tieto verzie sú minimálne viac stabilné a menej níchylne k spontánnym pádom, ako bol NT 4. Niektoré z najviac nenávidených návrhových chýb boli opravené. Napríklad užívateľské adresáre už nie sú umiestnené v adresári WINNT. Na niektorých systémoch (špeciálne notebooky) sú 2000 a XP opoznanie menej nestabilné a podpora hardware je lepšia. To uazuje, že aj jednoduché zmeny môžu trvať dlho.

Ale s ohľadom na kvalitu produktov Microsoftu, špecialne Windows, nie je žiadna záruka, že to aj bude bežať. Samozrejme, ako je zvykom, vo Windows XP pribudli nové bugy a diery, ktoré anulovali mnoho vylepšení Windows 2000. Takže v konečnom dôsledku je Windows XP za istých okolnosti menej stabilný, ako Windows 2000, ale to je predsa ta inovácia.

Všetci sa raz stretneme pri reboote

To najstrašidelnejšie na tom všetkom je, že Microsoft si vážnosť tejto situácie neuvedomuje. Alebo lepšie povedané, si vážnosť situácie uvedomujú, ale nehodlajú s tým nič robiť, pokiaľ sa tržby držia. Zatiaľ, čo väčšina veľkých spoločností používa na mainframe a midframe serveroch Linux, aby zabezpečili čo najväčšiu spoľahlivosť, Microsoft sa do tejto sféry snaží pretlačiť Windows s tvrdením, že je dosť dobrý na to, aby sa mohol nasadiť.

Veľmi pekným zvykom Microsoftu je zľahčovať chyby vo svojich produktoch. Ich dokumenty k kritickým problémom (často nazývajúcim tieto chyby "zádrhelmi") sú v tomto veľmi jasné. Zoberme si príklad klasického "Zádrhel v TCP/IP umožňujúci Denial of Service " (pozn. prekladateľa: Denial Of Sevice je typ útoku, ktorý vedie k nedostupnosti servera, aj ked fyzicky môže ostať bežať a útočník na server vbec nemusí preniknúť): kritický problém, ktorý bol pred pár rokmi objavený. Výsledkom bolo, že servery s NT prestali odpovedať na sieťové požiadavky, čo viedlo k zastaveniu kritických aplikácii na sieti( toto si však netreba mýliť s Denial of Service, ktorý sa dá viesť voči väčšine sieťových služieb na všetkých moderných operačných systémoch - tento prípad sa týkal len Windows NT). V tom čase neexistovalo žiadne skutočné riešenie situácie, iba improvizácia. Jedina odpoveď Microsftu hovorila: "Tento zádrhel nemôže ohroziť žiadne citlivé dáta. Jediné, čo spôsobí, je krátkodobá nedostupnosť, servera, ktorú je možné jednoducho odstrániť jeho reštartovaním". Administrátori NT systémov museli čakať niekoľko mesiacov, než vyšiel ďalší Service Pack, ktorý tento problém riešil. Medzičasommuseli akceptovať zvýšený downtime kritických aplikácií, ako výsledok nastalej situácie. Ale veď sa nestratili žiadne data, tak kde je problem?

A Microsoft si myslí, že takéto čosi môže súperiť s Unixom na trhu mainframe pri nasadení kritických aplikácií? Uhm uhm. Ja si to nemyslím.

V septembri 2001 HP spriahlo 225 PC (pozn. prekladateľa: PC je na tomto mieste mienene ako osobne (desktopove) počitače, nie ako počitač všeobecne, treba zdôrazniť do osobné, pretože sa nejednalo o žiadne serverové stroje) s Open Sourcovým operačným systémom Linux do clustra. Výsledný systém (nazývany I-cluster) sa po testoch zaradil medzi 500 najvýkonnejších superpočítačov sveta, pri využítí ničoho iného, než bežne dostupných, nemodifikovaných, počítačov. (Podstatná časť strojov v top 500 mimochodom beží na Linuxe a čím ďalej, tým viac Unixových clustrov sa začína používať k počítaniu zložitých výpočtov). Microsoft, ktorého produktové línie sa odvodili od jednoužívateľského desktopového systému, nemôžu snívať o takejto škálovateľnosti - dnes, ani nikdy! Aj napriek tomu Microsoft na stránke spolu so spoločnosťou Unisys tvrdil, že Windows prekoná Unix, pretože server Unisysu s Windows 2000 Datacenter Môže byť škálovaný až na 32 procesorov. Toto tvrdenie o výkone je samozrejme klamstvo, pretože opak je pravdou a oni to vedia. Ale aj napriek tomu nás budú presviedčať o tom, že celá línia Windows je seberovná s Unixom, že clustrovaný Windows je dôstojnou náhradou za mainframe, alebo Unixový midframe server. Nežartujem, presne to povedali. Ak poznáte škálovateľnosť Unixových systémov, dôjde vám, ake streštené tieto tvrdenia sú.

Nedostatok zmyslu pre zodpovednosť

Psie žrádlo si kupuje majiteľ psa, nie pes, ktorý ho následne bude jesť. "Jesť svoje vlastné psie žrádlo" je metafora pre programátora, ktorý používa systém, ktorý programuje. Je dostatočné funkčný na reálne nasadenie? Budete mu veriť dostatočne na to, že mu zveríte svoje dáta a budete veriť, že nepadne a nestiahne ich so sebou? Nema ostre hrany, o ktoré sa porežete, keď budete chceiť použíť ktorúkoľvek jeho funkciu? VYbrali by ste si ho sami od seba?

Keď Microsoft prevzal úspešnú službu Hotmail, system mal okolo 10 miliónov užívateľov, a všetký systémy, ktoré Hotmail poháňali bežali na Unixe. Niekoľko rokov neskôr, keď počet užívateľov Hotmailu prekročil 100 miliónov, v tieni tvrdení Microsoftu o kvalite a stabilite Windows a plánoch na nasadenie Windowsu na Hotmail, beží Hotmail stále na Unixoch. Tento fakt sa preberal v interných dokumentoch Microsoftu hlavne Davidom Brooksom, členom Windows 2000 Server Product Group. Spomínal hlavne neskutočnú stabilitu Unixovského jadra a Apache web servera, transparentnosť systému a kombináciu jednoduchosti a výkonu. Windows naproti tomu je označovaný ako zbyťočne orientovaný na GUI (Brooks napísal: "Serverové Windows 2000 sú stále navrhované s ohľadom na desktop") a zbytočne komplexné, nabobtnané a výkonožravé. (Brooks píše: "Je pravda, že Windows vyžaduje oveľa silnejší stroj, ako Linux alebo FreeBSD a považuje reštartovanie za samozrejmosť")

Hotmail nie je jediným príkladom odporu Microsoftu k požieraniu svojho vlastného psieho žrádla. Anti UNIXovo zameraná stránka "Máme pre vás východisko", ktorá Microsoft (spolu s Unisysom) nahodil začiatkom roku 2001 pôvodne bežala na Unixoch a Apache (portovali ju na Apache a IIS po tom, čo sa z nich vysmiala celá komunita okolo IT). Roky boli vnútorné mailové servery Microsoftu chránené zabepečovacím softwarom tretích strán, čo vedie k záveru, že Exchange na Windowsoch vyžaduje takýto software k tomu, aby poskytol aspon základnú úroveň bezpečnosti.

Microsoft SQL Labs, oddelenie Microsoftu zaoberajúce sa vývojom Microsoft SQL Servera si objednalo bezpečnostné riešenie Netscreen 500-series na ochránenie svojej vlastnej siete pred Core Red, Nimda a inými vírusmi. SQL Labs učinili takéto rozhodnutie aj napriek tomu, že v tom čase Microsoft už predával produkt cieleny ako liek na vérusy a červy. Microsoft ISA (Internet Security and Acceleration) Server bol predstavený na začiatku roku 2001 ako prvý produkt Micorosftu zameraný čisto na oblasť bezpečnosti. V skutočnosti, najdôležitejší dôvod na prechod na ISA, podľa Micorosftu, bolo: "ISA Server je [...] firemný firewall a bezpečnostná gatewaynavrhnutá tak, aby ochránila firemnú sieť pred útokom hackerov a škodlivými kódmi." Aj tak sa SQL Labs radšej rozhodli pre produkt tretej strany, než by sa mali spoľahnúť na svoj vlastný aspoň na zaručenie základnej bezpečnosti.

A navyše vnútorné účtovné oddelnie používalo IBM AS/400 - midrange server pre kritické aplikácie, hlavne výplatný systém do konca 90. rokov.

Znečistenie siete

Treba spomenúť aj to, že Microsoft netuší o sieťovaní absolútne nič. Systém s Windowsom v prostredí siete TCP/IP stále používa názov počítača siete NetBIOS (pozn. prekladateľa: namiesto IP adries a DNS záznamov štandardizovaných v sietiach TCP/IP). Sieťovanie podľa Micorosftu je stále postavené na protokole NetBEUI, čo je vlastne len rozšírená verzia IBM NetBIOSu. Tento protokol patrí do doby kamennej, nie je routovateľný (pozn. prekladateľa: vyžaduje priamé prepojenie dvoch bodov bez medzičlánku). Využíva množstvo broadcastu a sieťový segment, kde je nejaký Windowsovský počítač, tvoría broadcasty Windowsu značnú časť trafficu, aj pri dvojbodových spojeniach (ako napríklad medzi klientským počítačom a mail serverom) - pre vysvetlenie: Windows používa broadcast nie len pri komunikácii s viacerými stranami naraz (na čo broadcast primarne slúži), ale aj pri komunikácii dvoch bodov (kde broadcast nemá zmysel) (pozn. prekladateľa). Ak by nebolo možné zapúzdrenie trafficu NetBIOS/NetBEUI do TCP/IP packetov, pripojenie Windowsu do siete by bolo hzola nemožné. (Microsoft nazýva zapúzdrenie NetBIOSu do IP "natívne IP") Problém sa samozrejme zhoršuje s odfláknutým systémom správy súborov. Jedno otvorenie súboru môže vygenerovať stovky jednoduchých požiadavkov, naproti tomu uloženie dokumentu môže vygenerovať ďalšiu stovku požiadavkov, ktoré maju niekoľko bytov. Týmto spôsobom sú počítače s Windows náchylne k zasvineniu siete.

Prístup Micorosftu k návrhu nikdy nevykazoval nejaké silné znalosti sieťovania. Pamätám si dokument z Microsoftu, v ktorom sa tvrdilo, že typická sieť sa skladá z desiatich, maximálne dvadsiatich počítačov spojených peer to peer na jednom segmente, osadených operačný systém z dieľne Microsoftu. Myslím, že toto to dostatočne vysvetľuje. Ak chcete niečo viac, ako toto, lamte si s tým hlavu.

Tu je malý test: Vezmite dobrý, rýchly FTP server (ideálne bežiaci na UNIXe). Uploadnite adownlaodnite z neho pár veľkých súborov (cca 50 MB) pomocou Windows NT alebo 2000 klienta. (použil som Pentium 233MHz). Pravdepodobne uvidíte priepustnosť niekde okolo 1Mbit/s pre upload a 2 až 3 Mbit/s pre download, alebo trocha viac na rýchlejšom hardware.

Potom na tom istom stroji nabootojte Linux (najľahšie to je pomocou live CD, napríklad Knoppix, ktorý netreba inštalovať). Potom zopakujte rovnaký úkon. Uvidíte priepustnosť limitovanú už len priepustnosťou siete, kapacitou FTP servera, alebo výkonom hardware, podľa toho, čo príjde najskôr. Na 10 MBit/s ethernete, je najmenej, čo môžete očakávať niečo okolo 5Mbit/s. Ak chcete toto otestovať ešte razantnejšie, použite naozaj pomalého klienta (60 alebo 75 MHz Pentium) s Linuxom. Výsledná priepustnosť bude stále limitovaná len hardwarom a nie operačným systémom. (Poznámka: toto sa netýka len protokolu FTP, ale aj ostatných sieťových protokolov. Je to problém s výkonom sieťovej vrstvy a ostatných vrstiev, ktoré majú dopad na priepustnosť vo Windowse).

Nové verzie Windows tu neprinášajú žiadne vykúpenie. Ktokoľvek, kto pracuje s PPPoE (Point-to-Point Protocol over Ethernet) s ADSL vám povie, že MTU (nastavenie maximálnej veľkosti packetu) by malo byť najviac 1492. V XP je MTU napevno nastavené na 1500, čo môže spôsobiť problémy s routermi mnohých DSL providerov. Microsoft o probléme vie, ale aj napriek tomu XP zotrváva na nastavení MTU na 1500 pre PPPoE. Existuje hack v registroch pre užívateľov PPPoE, ale XP neobsahuje žiaden GUI nástroj na zmenu MTU.

Uvedená ukážka je typická pre Windows XP. Snaží sa robiť vaci samo, pričom ich odflákne, namiesto toho, aby umožnilo užívateľovi kontrolu a mohol vykonať veci tak, ako majú byť. Ale všetky verzie Windows obsahujú množstvo dobabraných sieťových vlastností, počínajúc WIndows filesharingom. Táto služba používa fixné porty, a nemôže byť presmerovaná na iné porty bez použitia dynamitu. To znamená, že tunelovanie tohto bezabezpečeného protokolu cez bezpečný SSH kanál je extrémne zložité a vyžaduje zakázanie (alebo na XP odinštalovanie) služieb zdieľania na lokálnom klientovi, takže lokálne a tunelované zdieľanie sa nedá použiť odrazu, pričom prepnutie vyžaduje reštart. Ano, šlo by to riešiť pomocou VPN, ale o to teraz nejde. Ide o to, že každá slušná sieťová služba vám umožní nastaviť port, na ktorom funguje, iba Microsoft z dôvodu užívateľskej privetivostí ma tieto porty natvrdo, zabraňujúc tak možnosti rozšírenia zdieľania súborov za hranicu nezabezpečených spojení v lokálnej sieti.

Navyše čitatelia oznámili, že podľa Johna Dvoraka z PC Magazine, Kernel Windows končí pri priepustnosti 483 Mb/s. Vyzdvihuje najmä fakt, že mnoho spoločností upgraduje na Gigabitové linky, ktoré ale Windows nedokáže využíť. A po tomto si prečítajte, čo píše Microsoft o Windows 2000 a XP, ako ideálnej platforme pre internetové aplikácie...

Náchylnosť na útoky Denial of Service

Neistá nátura kódu Windowsovského sieťovania a stackov takisto spôsobuje, že systém je viac náchylný na Denial of Serivce útoky. Útok DoS je druh počítačového vandalizmu, alebo sabotáže, s cieľom zrútiť systém, alebo akokoľvek inak zaistiť, aby nebol dostupný. Pri bežnom DoS útoku je na počítač poslaný patrične zdemolovaný packet, ktorý spustí známu chybu v operačnom systéme a poškodí ho. V prípade Windows, samozrejme, existuje viacero spôsobov, ako tak spraviť. Napríklad obsluha IPsec vo Windows 2000 a XP je napísana tak zle, že sa server zaloaduje pri prijatí postupnosti správnych packetov. Samozrejme filtre Windowsu nedokážu tento traffic blokovať.

Ďalším spôsobom, ako dosiahnuť nedostupnosť systému je tzv. Distributed DoS. DDoS je typ útoku, kedy veľké množstvo sieťových systémov posiela požidavky na cieľový systém, ktorý je návalom preťažený a stane sa nedostupným. Existuje veľmi málo, čo možno robiť proti DDoS útokom a sú použiteľné voči všetkým platformám.

Pri všetkých tých zraniteľnostiach DoS a DDoS útokmi je až zarážajúci vývoj, kedy Windows 2000 a XP poskytujú nové útočisko pre vytváranie takýchto útokov. Jediné skutočné "vylepšenie" v stacku Windows 2000 a XP je evidentne nezmyselné rozšírenie kontroly aplikácii nad stackom. Toto nezlepšuje podpriemerný sieťový výkon, ale dáva aplikáciam možnosť budovať packety po svojom, vytvárať neskutočne zošrotovaný traffic. Zahŕňa to najmä spoofovanie odosielateľovej IP adresy, SYN flooding a plnohodnotné DoS útoky. Akokeby to už nebolo dosť zlé....

Hromadenie problémov serverov

Doteraz sme sa zamerali hlavne na Windows. Prave tu sa začína väčšina problémov s produktami Microsoftu, pretože Windows je zďaleka najkomplexnejší produkt Microsoftu a existuje viac interakcií medzi Windows a ostatnými produktami, než na iných miestach. Ale naneštastie je väčšina serverových a dekstopových aplikácií ušítá z tých istých šiat. Všeobecná kvalit ich kódu nie je onič lepšia.

Pre Windows existujú aj ďalšie serverové produkty. To ale znamená, že všetky nevýhody nezabezpečenej, nestabilnej platformy sa na ne vzťahujú rovnakou mierou. Napríklad: Microsoft SQL Server je produkt, ktorý má relatívne malo chýb. Je to v podstate priama implementácia všeobecného SQL servera postaveného na technológií, ktorá nebola vyvinutá Microsoftom, ale bola zakúpená od Sybase. Nie je to veľmi inovatívne, alebo záslužné, keďže Service Pack 4 pre MS SQL Server 2000 v podstate iba opravoval problémy vzniknuté po aplikácii Service Packu 3, ako je u Microsoftu zvykom. Ale aj tak to nie je tak zlý produkt, aspon nie tak zlý, ako je u Microsoftu zvykom. Lenže žiadna databázova služba nemôže byť stabilnejšia, ako platforma, na ktorej beží. (To sa samozrejme vzťahuje na akúkoľvek službu, nie len databázový server) Takže všetky zraniteľnosti, ktoré má Windows, sú priamo aplikovateľné aj na databázovú službu, aj keď databázový produkt sám o sebe nie je tak zlý.

Ďalšíe serverové produkty prichádzajú so svojími vlastnými problémami. Microsoftný webserver, Internet Information Server (IIS) je natvrhnutý tak, aby nielen hostoval statické HTML stránky, ale aj poskytoval dodatočnú autentifíkáciu, spojenie na databázu s obsahom, poskytoval klientské, alebo serverove skriptovanie, na generovanie dynamického HTML a Active Server Pages atď atď... A vykonáva toto všetko, plus niečo navyše, avšak často nie práve ideálne. IIS je možné s ľahkosťou prekonať ktorýmkoľvek používanejším webserverom (najmä Apache-om). Autentifíkacia v IIS má ďaleko k robustnosti (všeobecný nedostatok bezpečnosti je popísaný nižšie) a integrácia databázy obsahu s IIS webserverom má ďaleko od bezproblémovosti. Dynamické HTML a ASP vyžadujú, aby sa na webserveri vykonával ďalší kód a to je práve miesto, kde prichádza k slovu zlá správa procesov Microsoftu: zaťaženie servera je často obrovské. Spúšťanie kódu na serveri ako odpoveď na požiadavky Webových prehliadačov vytvára mnoho bezpečnostných dier, a navyše generované webstránky nespĺňajú všeobecne uznávaným HTML štandardom, takže sa dajú korektne zobraziť len v prehliadačoch od Microsoftu.

Mailový server od Microsoftu, Exchange, ma taktiež zopár ostrých hrán. Na začiatok: jeho výkon je úplne podpriemerný. Tam, kde Unixový mailový server s ľahkosťou obslúži tisícky užívateľov, Exchange končí pri maximálne jednej stovke. Takže na nahradenie veľkého Unixového mailserva Exchangeom treba serverovú farmu.

Oveľa väčším problémom však je nedostatok stability a spoľahlivosti. Strata niekoľkých dní firemnej mailovej komunikácie pri páde Exchangu nie je žiadna rarita. Väčšina týchto problémov je spôsobená pochybnou kvalitou programu. Exchange je navrhnutý primárne na integráciu s ostatnými produktami Microsoftu (najmä Outlook) a neberie svetové RFC štandardy príliš seriózne. To značne limituje kompatibilitu a môže spôsobiť všetky možné druhy problémov. Outlook Express trpí zvláštnym spôsobom komunikácie s IMAP Exchange serverom. Vytvára hromadu spojení; v každom spojení sa prihlási, vykoná jednu úlohu, nastaví spojenie na IDLE a potom spojenie zanechá. Pretože OE nezavrie mailbox tak, ako by mal, než zhodí spojenie, Outlook a mailbox nemusia byť vždy zosynchronizované. To znamená, že napríklad vymažete maily v OE, ktoré pri ďalšom pripojení na server zázračne ožiju, pretože mailbox sa nesynchronizoval pred tým, než zrušil spojenie.

Tak, ako ostatné aplikácie, doplnkové serverové služby sa silne integrujú s Windowsom počas inštalácie Prepisujú DLL knižnice patriace systému a spúšťaju služby na systémovej úrovni. To samozrejme nezvyšuje stabilitu systému, ako celku a samozrejme väčšina kódu týchto služieb je na podobnej pochybnej úrovni, ako kód Windowsu. Spoľahlivosť a dostupnosť služby nemôže byť nikdy vyššia, ako u operačného systému, na ktorom beží. Tak, či tak, väčšina doplnkových serverových služieb Microsoftu pridáva ich vlastné chyby, nedostatký a diery do systému, čo to všetko robí len horšie. Výsledný uptime a spoľahlivosť je viacmenej predpovedateľná. Neefektivita, ktorá je pri Windowse, je podobná aj pri serverových službách, takže dôsledkom je to, že každá služba potrebuje svoju vlastnú platformu. Inými slovami: ak potrebujete súborový a tlačový, webový a mailový server, potrebujete tri separátne stroje, aj keď Unix alebo Netware by pravdepodobne vykonali rovnakú prácu na jednom stroji.

Desktop: honosnejší, ale onič lepší

Desktopové aplikácie od Microsoftu (napríklad Word, alebo Excel) sú vo väčšine o tom istom. Nachádzajú sa v stave vrcholného prebytku funkcií: sú plné funkcií, ktoré nepridávajú produktu žiadnu novú funkčnosť, ale ruinujú produktivitu svojou komplexnosťou, prinášajú viac chýb, zvyšujú nároky na zdroje a vyžadujú viac kódu, čo vedie k zvýšeniu rizika. Po rokoch patchovania a pridávania sa stala kódová základňa veľmi neprehľadná. Bezpečnosť, ak vôbec nejaká je, bola pridaná ako doplnková vlastnosť. Napríklad, Wordovský dokument zabezpečený heslom nie je nijako zakryptovaný. Vloženie "chráneného" dokumentu do nového prázdneho dokumentu stačí na obijdenie ochrany. A ak by to náhodou zlyhalo, jednoduchý hex editor stačí na zmenu "Hesla pre editáciu". Microsoft si to uvedomuje, ale teraz tvrdí, že "Heslo pre editáciu" nie je určené na ochranu dokumentov pred poškodením, ale iba na zabránenie náhodnej editácii dokumentov. Uh-huh.

Animovaná spinka nerobí z Wordu lepší textový procesor. Užívatelia by privítali iné veci, ako napríklad konzistentné chovanie automatického formátu, možnosť zobraziť zdrojový kód makier, alebo kompletnejšiu kontrolu pravopisu a slovníkov. Ale aj napriek všetkým tým novým verziam Office a neústálym žiadostiam užívateľov sa k týmto problémom Microsoft ešte nedostal. Namiesto toho máme podporu viacerých jazykov, ktorá sem tam zabudne svoje nastavenia, automatické opravy, ktoré sú viac otravné, než nápomocné. Dokumenty Wordu sa stali väčšími a nafúknutejšími a z času na čas sú poškodené pri zápise na disk, takže Word padne pri ďalšom pokuse o čítanie.

V skutočnosti je až zarážajúce, že posledná verzia Office, v 21. storočí, sa ešte stále nedokáže vysporiadať s viacerými užívateľmi, ktorí súčasne zapisujú a čítajú ten istý súbor. Bolo to v 80. rokoch, keď sa mohlo stať, že viacerí užívatelia čítali a zapisovali rovnaké dáta v databázach, ale váčšina systémov sa s tym nedokázala vysporiadať. Tento problém, ktorému sa hovorilo zamykanie záznamov, bol vyriešený v moderných systémoch viac, ako pred desiatimi rokmi.

Stručne o Exceli: má rovnaké problémy a chyby vo výpočtoch v zošitoch so vzorcami. Excel je plný okrás, grafiky a animácií, ale aj tak je to len tabuľkový kalkulátor, ktorý nevie počítať a ktorý vyžaduje prepisovanie vzorcov a makier pre novú verziu Excelu.

Databázový komponent Office, Microsoft Acces, taktiež nie je hviezdny kúsok software. Access, keďže má pomerne chabú prácu s podkladovými databázami, môže stále zablokovať celú (kľudne aj kritickú) databázu len preto, že jeden užívateľ nevypol aplikáciu, ktorá zapisovala, alebo upravovala dáta. Od Accessu sa už vyžaduje, aby toto zvládol, ale on to nedokáže.

Menu vo všetkých aplikáciach Microsoftu, dokonca aj v tých, ktoré sú v balíku Microsoft Office, je nekonzistentne a neintuitívne. Napríklad, položka menu pre nastavenie predvolieb aplikácie, ktorá môže byt pomenovaná "Predvoľby", v iných "Nastavenia", sa nachádza v menu "Súbor", "Editácia", "Zobrazenie", alebo niekde úplne inde, v závislosti od toho, ktorý produkt práve používate. Na vytvorenie este väčšieho pomykova, tá istá voľba pôsobí rôzne v rôznych aplikáciach. Napríklad "Netriedený zoznam" (na vytvorenie odrazkovaneho zoznamu) spracuje odsadenie korektne vo Worde, ale kompletne ho odignoruje v PowerPointe (PowerPoint prida odrážky, ale kompletne rozbije lavý okraj textu). Aby toho nebolo málo, klávesa F3 aktivuje funkciu "Hľadať ďalej" v prakticky všetkých produktoch Microsoftu okrem Internet Explorera a Excelu, kde robí niečo úplne iné, bez nejakeho zjavného dôvodu.

Microsoft robí Internet

Najdôležitejšia aplikácia Microsoftu mimo balíka Office je bezpochyby Internet Explorer. Vo svojom prvom vydaní bol Internet Explorer veľmi neschopný prehliadač; napríklad verzia 2.0 tak, ako bola dodávaná s Windows NT 4 bola natoľko spiatočnícka, že nemala podporu frameov (pozn. prekladateľa: podľa dobových screenshotov ani JavaScriptu). Toto sa čoskoro zmenilo po tom, čo Microsoft začal Internet Explorer integrovat do Windowsu ako časť integračných snáh a pribaľovacích stratégií (ktoré sú presnejšie rozobrané nižšie).

Pri všetkej úprimnosti je nutné poznamenať, že Internet Explorer počnúc verziou 6.0 nie je až tak zlý produkt. Robí väčšinu toho, čo sa od neho očakáva, že bude robiť, existuje síce zopár otravných problémov s divnými predvolenými nastaveniami štýlov a náhodnými nezhodami pri renderovaní tabuliek, ale v podstate robia svoju prácu dosť dobre. Prinajmenšom zobrazia zobrazia stránku, ktora vyhovuje štandardom ako viac-menej korektne vyrenderovanú stránku pri rýchlosti, ktorá sa da akceptovať. Predchádzajúce verzie neboli v tomto tak dobré a často obsahovali dobre mierené odchylky od celosvetových HTML štandardov, ktoré boli cielené na zvýšenie popularity proprietárnych myšlienok Microsoftu na úkor štandardizovaného HTML.

Hlavné nedostatky Internet Explorera pramenia z faktu, že sa snaží byť viac, ako webový prehliadač. Pridáva podporu skriptovania (so schopnosťou spúšťať Visual Basic alebo JScript, ktoré sú pripojene k webovým stránkam) a tieto skripty majú dosah priamo na kernel Windowsu. Videl som webové stránky, ktoré boli schopné vypnúť cely Windows v momente, keď sa stránka prehliadala v Internet Exploreri. Microsoft sa veľmi nezapodieval ani základnými bezpečnostnými dopadmi. A samozrejme, inštalácia novej verzie Internet Explorera nahradí (prepíše) značnú časť operačného systému Windows spôsobiac všetky vyššie menované potiaže.

Podobné problémy prislúchaju aj Outlooku, e-mailovemu klientovi od Microsoftu. Outlook je v podstate separátna aplikácia, ale nie je dodávana samostante. Existujú dve verzie: jedna je dodávaná s Internet Explorerom (táto sa volá Outlook Express) a druhá je súčasťou balíka Office (táto sa vola Outlook a obsahuje groupwarové a kalendárove schopnosti). Sam Outlook je akceptovateľný a viacmenej dobrý emailový klient; umožňuje užívateľovi čítať a písať maily. Prichádza s niekoľkými šialenými predvolenými nastaveniami, ale aspoň sa dajú zmeniť, aj keď priemerný nováčik ich nikdy meniť nebude. (Napríklad sa správy defaultne odosielajú nie ako text, ale ako HTML príloha. Ak užívateľ odpovie na mail, funkcia citovania niekedy použije divné formátovanie, ktorého sa nejde zbaviť bez použitia dynamitu. Často sa v odchádzajúcej správe vyskytuje nepotrebný bordel.) Závažnejší fakt je, že ako Outlook, tak jeho serverový náprotivok Exchange, maju tendencie odstraňovať polia z hlavičiek e-mailov, čo je dosť neobľúbená praktika. Sťažuje ako sieťovu administráciu, tak hľadanie chýb pri prevádzke.

Najvážnejší problém Outlooku je, že má veľa odkazov na Internet Explorer. Kód Internet Explorera je používaný na renderovanie HTML príloh, zahrňujúc skripty, ktoré môžu byť pripojené do e-mailu sformátovaneho ako HTML. Zas a znova si Microsoft nebol vedomý potreby bezpečnosti na tomto mieste; kód pripojený v e-maile je spustený bez akéhokoľvek upozornenia, alebo povolenia zo strany užívateľa.

Všeobecna (ne)bezpečnost produktov Microsoftu

A to nás prináša k ďalšiemu hlavnému nedostatku všetkých produktov Microsoftu: bezpečnosť, alebo lepšie povedané, jej nedostatok. Notoricka nebezpečnosť produktov Microsoftu je problém sám o sebe.

Všetko to začína so slabou bezpečnosťou Windows. Množstvo správ o bezpečnostných dierach sa stalo zarážajúce, ale stále má rastúcu tendenciu. Na druhej strane sa bezpečnostne diery vo Windowse stali natoľko bežnou záležitosťou, že už ťažko pripútaju niekoho pozornosť. Microsoft väčšinou bagatelizuje posledné bezpečnostné problémy a vydá ďalší patch... po oznámení chyby. Ak by Microsoft naozaj chcel objaviť tieto problémy, brali by väčší ohľad na bezpečnosť a uistili by sa, že takéto problémy sú vyriešené pred tým, ako pôjde produkt do predaja, ťim by obrátili klasickú metodiku získavania obchodu. Tento krok by znamenal, že zákazníci by utratili menej zdrojov na patchovanie a patchovanie patchov ich systémov v snahe upratať po chybách Microsoftu, ale takisto by to znížilo závislosť zákaznikov na tom, čo Microsoft volá "softwarova starostlivosť". Medzičasom sa hackeri hraju s roztraseným bezpečnostným modelom Microsoftu a ešte slabšim kryptovaním hesiel (ako napríklad jednoduché prehadzovanie bitov XORom, druh "kryptovania", ktore znovuvynajde každý školák). Hackeri, skriptéri a ďalší radoby hackeri si mohli vybrať o širokej škály bezpečnostných slabín k exploitácii. Niektoré nedávne rýchlo sa šíriacečervy boli natoľko nákazlivé preto, že dokázali prelomiť heslo na zdieľanýsieťový adresár za približne 20 sekund. (To ale nebránilo Microsoftu v spustení reklamnej kampane na jar 2003, ktorá hlásala, že hackeri sa popri dinosauroch stávajú vyhynutým druhom a to všetko preto, že Microsoft má tak bepečný software. Samozrejme táto kampaň porušovala niekoľko predpisov o pravdivosti reklamy a musela stiahnutá.)

Tesná integrácia medzi rôznymi produktami Microsoftu nezvyšuje celkovú bezpečnosť. Všetky softwarové komponenty sú natrieskané funkciami a všetky komponenty môžu používať funkcie iných komponent. To nanešťastie znamená, že všetky bezpečnostne slabiny sú zdieľané takisto. Napríklad Outlook používa časti Internet Explorera na renderovanie HTML, ktoré je pribalené v e-mailovych správach, vrátane skriptov. Samozrejme Internet Explorer a Outlook sú zviazané s jadrom Windowsu, takže majú dostatok privilégií na spúšťanie dodaného zákerného kódu, ktorý je priložený k e-mailu, alebo k zobrazovanej webovej stránke. Keďže Outlook používa kód Internet Explorera, je takisto náchylny na jeho chyby. Takze chyba, ktorá existuje v Outlooku, existuje aj v Internet Exploreri a naopak, a ak má Internet Explorer dosah na niektoré služby jadra Windowsu, tieto služby môžu byť takisto zneužité cez Outlook. Inými slovami: drobná bepečnostná diera v jednom komponente môže ohroziť celý systém. To značí: zraniteľnost v Internet Exploreri značí zraniteľnosť vo Windows Server 2003! Jednoduchý Visual Basicovský skript má dostatočné práva na prepísanie polovice sveta, ako sme videli v podaní priekopníkov e-mailových vírusov (Melissa, ILOVEYOU a podobných cervov), ktoré spôsobili škody za milióny dolárov.

Dobrým príkladom sú Wordovské vírusy; tieto sú v podstate VBS (Visual Basic Script) rutinami, ktoré sú pripojené k Word dokumentom ako makrá. Vytvorenie relatívne jednoduchého makra vyžaduje viac programátorských schopností, než možno predpokladať u bežnej sekretárky, ale súčasne totálny nedostatok bezpečnostných vlastností robí užívateľov Wordu zraniteľných malwarom v ich dokumentoch. Vďaka integrovanému charakteru komponentov si môže Wordovské makro siahnuť do adresára Outlooku a širiť sa pomocou systémových mailových/sieťových komponentov. Ak tomu bezpečnostné nastavenia Windowsu zabraňujú, kód vírusu to môže ľahko obijsť zmenou bezpečnostných nastavení systému. Čo to má spoločné s bezpečnosťou?

Podobne, VBS skripty priložené k webovým stránkam, alebo e-mailovým správam môžu exploitovať diery v Internet Exploreri, alebo Outlooku, takže prezretie webovej stránky, alebo prijatie nakazeného e-mailu je dosť na to, aby sa poškodil systém, nie je potreba žiadneho manuálneho zásahu (otváranie, alebo sťahovanie prílohy). Cez tieto slabosti môže zákerný kód pristupovať k dátam na inom mieste v systéme, modifikovať systémovú konfiguráciu, alebo naštartovať proces. V marci 2000, hacker napísal (samozrejme anonymne) na ICQ:


21. marca 2000: Najdená prvá slabina: Vo Windows 2000 [...] existuje telnetová služba, ktorá nie je štandardne spustená. Dá sa spustiť nadiaľku pripojením COM objektu do HTML kódu, ktorý môže byť pridaný na web stránku, alebo zaslaný do Outlooku. Nasledujúci kód naštartuje službu telnetu:

Skúšali sme to a ono to naozaj funguje. Je tu len jeden maly háčík... vložili sme to do html stránky. Pri otváraní stránky... náš najlepší priateľ "IE5" zobrazí okno s upozornením, že sa chystáme spúšťať niektoré príkazy, ktoré môžu byť nebezpečné pre PC, či chceme pokračovať. Musíme to ošetriť. Avšak pri použití Outlooku žiaden problém... [sic]

Treba poznamenať, že po opravení nie menej, ako siedmich rôznych bezpečnostných dier v kóde telnetu vo Windows 2000 (áno, to značí sedem bezpečnostných dier iba v telnete!) vydal Microsoft vo februári 2002 ďalší patch opravujúci problém číslo osem: ďalšie pretečenie zásobnika. Niečo mi hovorí, že tento nebude posledný. Ak neuspejete, skuste to ešte 7 krát, skušajte, skúšajte, skúšajte (dookola) znova. Vo svetle týchto informácii nie je prekvapivé, že J. S. Underwriting Managers, jedna z prvých spoločností poskytujúca ochranu hackerom, začala účtovať svojim klientom 5 až 15 percent viac, ak používali Microsoft Windows NT pri svojích Internetových operáciach.

Microsoft presne vie, aká zlá je bezpečnosť ich vlastných produktov. Aj napriektomu sa ale radšej rozplývaju nad novými pridanými funkciami, ako by mali prebrať zodpovednosť za svoje vlastné kroky. Citujme Toma Lehrera:

Rakety lietaju hore, koho zaujíma, kde padnu na zem?
To nie je moja práca, hovorí Werner von Braun.

Microsoft si nemôže byť nevedomý rizika poškodenia a straty dát, ktoré spôsobuje. Pri tom všetkom radšej odmietajú závisieť na bezpečnosti svojich vlastných produktov, ale radšej používajú ochranu tretich strán. (viď vyššie) Zatiaľ, čo tlačia užívateľskú komunitu svojich vlastných programov k čo najrýchlejšiemu upgrade, Microsoft by sa nedal nazvať práve najrýchlejšim osvojiteľom nových technológií. Na jeseň 2001 ešte stále nepoužívali Windows a Exchange 2000 na svojich vlastných mailserveroch, aj keď to bolo dlho po tom, čo boli vydané na trh. Na iných interných miestach (menej viditeľných, ale stále existujúcich) možno badať podobnú neochotu k upgrade MS produktov. Iba po množstve bezpečnostných záplat, opravách chýb to Microsoft riskne a upgradne ich vlastné kritické systémy.

Lajdáckosť to robí ešte horšie

Množstvo bezpečnostných problémov je spôsobených lajdáckym kódom nachádzajúcim sa v mnohých Microsofťáckych produktoch. Mnoho zraniteľností podtečenia buffrov sa dá kombinovať so slabinami skriptovania. Nepotrebujete otvoriť e-mailovú prílohu, niekedy dokonca ani prečítať prijatý e-mail, aby ste sa vystavili riziku napadnutia škodlivým kódom na vašom systéme. Obyčajné prijatie dát (napríklad stiahnute mailu z POP3 servera, alebo zobrazenie webovej stránky) je dostačujúce. Áno, príbehy podobné tomuto boli dlho legendami, ale Outlook ich premenil na skutočnosť. Microsoft vysvetľuje: "Táto zraniteľnosť vzniká z dôdovu, že komponenta používaná Outlookom aj Outlook Expressom obsahuje neošetrenú buffer v module, ktorý interpretuje polia e-mailových hlavičiek, keď sa používajú niektore mailové protokoly k sťahovaniu pošty zo servera. To môže povoliť zákernému užívateľovi poslať e-mail, ktorý po prijatí zo servera za použitia postihnutého produktu, môže spôsobiť spustenie zákerneho kódu na príjemcovom počítači." Táto zraniteľnosť bola úspešne exploitovaná Nimdou a inými červami. Iné červy (ako napríklad Code Red) kombinujú podobné zraniteľnosti s kreatívne vytvorenými URL, ktoré sú cielené na pretečenie buffrov v IIS. Aj bez nainštalovaného Frontpage Extension je relatívne jednoduché získať nekryptované administrátorske heslo a neverejné dokumenty z IIS webservera. Navyše, toto "riešenie e-commerce budúcnosti" obsahuje dieru (natvrdo vloženú prístupovú frázu označujúcu vývojarov Netscape ako "weenies") v kóde spojenom s kontrolou prístupu v ramci celého systému. A existuje množstvo podobných zraniteľností, ako táto. Zoznam narastá a narastá.

IIS je označovaný, ako prostriedok prevádzky stránok zaoberajúcich sa e-commerce za niekoľko miliónov dolárov a obsahuje mnoho backendových funkcií na splnenie tejto úlohy. Ale vždy, ked počujeme o obrovskom portáli s mailovým systémom objednávok, z ktorého unikli súkromné dáta (vrátane čísel kreditných kariet) vysvitne, že portál bežal na IIS a Windows NT, alebo 2000. (to platí aj o zabehnutých portáloch internet shoppingu. Nie som si síce úplne istý, aký druh hračky je Tarzan II MultiSpeed Deluxe, ale pravdepodobne vám poviem, kto si jeden kúpil a na aku adresu bol doručený. Veľa portálov sľubuje bezpečnosť a diskrétnosť, ale ak bežia na IIS, môžu vám sľúbiť dobrú šancu, že sa tak nestane a nič viac.)

Červy Code Red a Nimda poskytli peknú a poučnú ukážku toho, ako jednoducho sa dá infikovať server bežiaci na IIS a ostatných Microsoftných produktoch a použiť ich na zákerné účely (napríklad šírenie zákerného kódu a DDoS útoky v globálnom merítku). Ktokoľvek, kto sa bude obťažovať exploitovať niektorú z množstva dokumentovaných zraniteľností, to môže vykonať. Niektoré zo zraniteľností exploitovaných červami Code Red a Nimda boli mesiace a mesiace staré, ale mnoho administrátorov nestíhalo držať tempo s ohromujúcim množstvom patchov vyžadovaných IIS. Ani patchovanie nie je vždy riešením: paych, ktorý Microsoft vydal na potlačenie Nimdy, obsahoval chyby, ktoré odstavili kritické produkčné servery IIS.

20 Júna 2001, viceprezident Gartnera a analytik, John Pescatore napísal:


Bezpečnostné zraniteľnosti v IIS už nie sú žiadnou novinkou, keďže neprejde týzdeň, kedy by sa neobjavila nejaká nová. Tento posledný bug obsahuje len prvú reportovanú bezpečnostnú zraniteľnosť v kóde Windows 2000 Indexing Service, prídavnej komponenty do Windows NT Servera začlenenej do kódovej základne Windows 2000. Ako Gartner v roku 2001 varoval, tahanie komplexných aplikácií do operačného systému znamená bezpečnostné riziko. Viac riadkov kódu znamena väčšiu komplexnosť, čo znamená viac bezpečnostných chýb. Čo je horšie, často to znamená, že opravenie jednej cbyby často vyvolá jednu, alebo viac nových chýb.
Fakt, že beta verzie Windows XP obsauhujú túto zraniteľnosť tiež, zdvíha vlnu otázok, či XP bude znamenať nejaké zvýšenie bezpečnosti opraoti Windows 2000.

19 septembra 2001 Pescatore pokračoval:


Code Red ukázal, ake jednoduché je zaútočiť na IIS webové servery [...] Z toho vyplýva, že používanie IIS webových serverov vystavených pôsobeniu internetu značí vysoké prevádzkové náklady. Podniky používajúce IIS od Microsoftu musia updatovať každý IIS server každou bezpečnostnou záplatou od Microsoftu, ktorá je vydana - takmer každý týždeň jedna. Nimda (a na nižšom stupni Code Red) zasa ukázala, ake riskantné môže byť používanie IIS a dôležitosť sledovať bezpečnostné patche Microsoftu.
Gartner odporúča, aby podniky zasiahnuté Code Red a Nimdou okamžite preskúmali alternatívy k IIS, vrátane presunu webových aplikácií na webový server od iného poskytovateľa, ako napríklad iPlanet, alebo Apache. Aj keď tieto webové servery vyžadovali nejake bezpečnostné patche, majú oveľa lepšie bezpečnostné skóre, ako IIS a nie su vystavované aktívnym útokom hromadou autorov vírusov a červov. Gartner ostáva presvedčený, že IIS ostane vystavený útokom, kym Microsoft nevydá kompletne prepísanú, podrobne a verejne testovanú, novú verziu IIS. Dostatočné operačné testy by mali nasledovať a preveriť, že počiatočná vlna bezpčnostných raniteľností, ktorá sa vyskytuje u každého produktu, bola odhalená a opravená. Tento presun by mal zahŕňať každú webovú službu Microsoft .NET, ktorá vyžaduje IIS. Gartner predpokladá, že toto prepísanie sa neudeje skôr, ako koncom roka 2002 (80% pravdepodobnosť).

Nakoľko vážne to je?

Pri všetkej úprimnosti sa musi povedať, že Microsoft sa naučil reagovať naozaj dobre na novovzniknuté bezpečnostné diery. Aj keď vážnosť mnohých problémov je často znižovaná a príčiny v pozadí (zbabrané, alebo neexistujúce bezpečnostné modely) sú zamlčané, informácie a záplaty sú vydávané promptne a sú dostupne užívateľskej komunite bez poplatkov. To je chvalyhodne. Ale potom sa táto procedúra stala pre Microsoft rutinnou a odkedy sú nové diery objavované niekoľkokrát týždenne, stalo sa zapchávanie dier hlavným biznisom Microsoftu. Záplava patchov je tak veľká, že je prakticky nemožné držať s ňou krok. To je zvýraznene faktom, že väčšina bezpečnostných rizík dneška využíva diery, pre ktoré už boli vydané záplaty. V skutočnosti sa množstvo produkovaných patchov stalo dostatočným pre automatickú distribúciu patchov. Pre posledné verzie Windows existuje automatická služba oznamovania nových patchov označovaných ako "kritické updaty" (čitaj: bezpečnostné záplaty) užívateľovi. Táto služba (ktorá si robi svojú prácu vcelku dobre) sa stala veľmi populárnou. A je k tomu dobrý dôvod: len v roku 2000 vydal Microsoft 100 (ano, sto) bezpečnostných balíkov záplat - to je priemerne jedna bezpečnostná záplata každé 3 alebo 4 dni! Počet dier v produktoch Microsoftu by zahanbil aj Švajčiarský ementál.

A tempo sa namiesto spomalenia zrýchlilo. Napríklad, po inštalácií "odporúčaného update" (napríklad Media Player) cez Windows Update, zistíte, že je nutné proces opakovať s "kritickým update" na ošetrenie nových bezpečnostných dier, ktoré boli nainštalované s posledným updatom! Je opodstatnené predpokladať, že užívatelia budú držať krok s týmto tempom, ale nie je prekvapujúce, že väčšina užívateľov nemôže. Ako výsledok tohto stavu mnoho e-mailových vírusov využíva k šíreniu bezpečnostné diery, ktoré sú mesiace, alebo roky staré! Červ MSBlaster, ktorý sa šíril v lete 2003 dokázal infikovať Windows Server 2003 použitím zraniteľnosti, ktorá existovala už u NT4!

V dobe, kedy sa fajčiari súdia s tabakovým priemyslom o milióny dolárov kvôli zdravotným problémom by mali mať všetky produkty Microsoftu na krabici varovanie: "Tento produkt nie je bezpečný a môže spôsobiť nákladne poškodenie vašej IT infraštruktúry, pokiaľ nebudete často updatovať a nevyhradíte si denne čas na vyhľadanie, stiahnutie, otestovanie a inštalovanie patchov". Naneštastie tento nápis na krabici nenájdete a Windowsovské makro a skriptovírusy sa rodia rýchlosťou niekoľko stovák mesačne, zatiaľ, čo šanca prežitia nezaplátaných Windows v sieti s priamým pripojením sa ráta na minúty (pozn. prekladateľa: za ten čas ani nestihnete poťahať všetky bezpečnostné záplaty).

Vydávanie záplat ako náhrada kvality

Zaujímavý vedľajší efekt závratnej rýchlosti vydávania patchov je v tom, že niektorí užívatelia nadobudli dojem, že Microsoft berie softwarovú starostlivosť veľmi vážne a sústavne pracujú na tom, aby boli ich produkty lepšie a lepšie. Toto je samozrejme veľmi naivné. Ak by si kúpili auto, ktoré by vyžadovalo intenzívnu starostlivosť a opravy každé dva týždne, asi by nemali na svojho predajcu áut podobný názor.

Microsoft zneužil tento prelud viac, ako raz. V nedávnych porovnaniach Windows vs. Linux zdôrazňovali časy vydávania záplat v snahe ukázať, že Windows je bezpečnejší, ako Linux. Museli samozrejme preklasifikovať kritické zraniteľnosti na nekritické, prekrútiť množstvo grafov a totálne ignorovať fakt, že Windows obsahuje omnoho viac zraniteľností, ako ľubovoľný iný produkt.

Aj napriek tomu, ak by bola patchovacia politika Microsoftu efektívna, približne v tomto čase by dochádzali existujúce bezpečnostné diery, na čele s IE. Pravdepodobne žiadne množstvo patchov nemôže napraviť štrukturálne návrhové chyby (alebo úplnú absenciu) bezpečnosti v produktoch Microsoftu. Patch je ako leukoplast: pomôže ošetriť malé porezanie, alebo poškrabanie, ale nezabráni ďalšiemu zraneniu tým istým spôsobom, a na zlomenu ruku, alebo genetickú poruchu je totálne nepoužiteľný, aj keby ste ich aplikovali stovky. Najslabším bodom v systéme je samozrejme integrácia aplikačného software do operačného systému. Microsoft by rád volal Windows "bohatým na funkcie", ale v momente, keď potrebujú vydať záplatu na kritickú zraniteľnosť v MIDI súboroch vo Windows Server 2003, je jasné, že množstvo "vlastností" integrovaných vo Windowse prekročilo rozumnú mieru použiteľnosti.

Riešenie Microsoftu: bezpečnost obskúrne

Najnovší lobbisti Microsoftu sa snažia pretlačiť myšlienku, že voľná komunikácia o novoobjavených bezpečnostných dierach nie je vecou komunity, pretože verejna znalosť veľkého množstva zraniteľností v ich produktoch môže umožniť, alebo dokonca motivovať zákerných hackerov k písaniu exploitov na tieto diery. Hovorca Microsoft Security Response Center, Scott Culp obviňoval bezpečnostných expertov za rýchle šírenie kódov, ako Code Red a Nimda, a v článku na stánke Microsoftu v októbri 2001 odporučil obmedziť presakovanie bezpečnostných informácii iba do "vybraných kruhov". Ale to všetko je len pre naše dobro, samozrejme. Pri tom všetkom, veď slovo cenzúra je take pekné.

V auguste 2002, počas súdneho konania medzi Microsoftom a DoJ, dosvedčil, že tajnostkárenie je obľúbenou (a odporúčanou) formou akcie:


Existuje protokol zaoberajúci sa funkčnosťou software vo Windowse nazvaný fronta správ a v tomto protokole existuje chyba. A keby sme túto chybu odhalili verejnosti, podľa mojho názoru by bolo kompromitovaných veľa spoločností používajúcich tento konkrétny protokol.

Medzičasom sa problémy s nedostatkom bepečnosti u Microsoftu len zhoršili. Posledná reinkarnácia Office (Office XP) obsahuje plnú VBA podporu pre Outlook, zatiaľ, čo CryptoAPI ponúka kryptovanie pre správy a dokumenty, vrátane VBS príloh a makier. Inými slovami, antivírusový software už nie je schopný detegovať a neškodniť vírusy v mailoch a wordovských dokumentoch, zanechajúc spoločnosti kompletne bezbranné voči vírusovým útokom.

Jednoducho je to recept na pohromu. Je to ako výrobca áut, ktorý zaplaví trh autami bez bŕzd a potom sa snaží potlačiť varovania spotrebiteľov, aby si udržal predaj.

Spočíťajte chyby: 1 + 1 = 3

Ďalší varujúci vývoj možno sledovať pri rozširovaní zvyku, že deravý kód z produktov, ako IIS alebo iných je často inštalovaný s iným software (alebo so samotným Windows XP) bez vedomia administrátora. Napríklad: SQL Server 2000 priniesol "super sokety", podporu prístupu k dátam cez Dnetlib DLL knižnicu. Poskytuje multiprotokolárnú konektivitu, kryptovanie a autentifikáciu; inými slovami je to zhrnutie rôznych implementácií týchto technológií z predošlých verzií produktov. System obsahoval túto knižnicu iba v prípade, ak boli inštalované SQL Server 2000, klientské administračné nástroje, MSDE, alebo špecifické riešenia tretej strany. Avšak s XP sa táto DLL knižnica inštaluje štandardne - aj vo verzii Home. Človek by sa čudoval, ako sa komponent zo stavu "instaluje sa iba v špecializovaných prípadoch" dostane do stavu "inštaluje sa štandardne na všetkych variantach OS". Aké iné komponenty a zraniteľnosti sú automaticky inštalované a nevieme o nich?

Zostava súborov Windows sa stáva extremne roztrúsena. Pri prehliadke adresára WINNT na Windows 2000 a XP nájdete množstvo prahistorických spustiteľných súborov, ktore sú zastaralé a nikdy sa nepoužívaju: Media Player 5, 16-bitový zastaralý kód z predošlých verzií Windows až po verziu 3.10 (v skutočnosti je to kópia originálneho kódu Windows 3.10), súbory patriace funkciám, ktoré sa nikdy nepoužijú (napríklad RAS) alebo voľbam prístupnosti, ktoré našťastie väčšina užívateľov nepotrebuje. Nevyužítý kód znamená možnosť doposiaľ nevyužítých chýb. Táto nepotrebná inštalácia zbytočného príbalového kódu odráža lenivosť programátorov Microsoftu: ak nainštalujete všetko, okrem kuchynskeho odtoku, možno prosto predpokladať, že ak je tam všetko, je tam aj on a netreba stratať čas s podrobným overovanim, či je to naozaj tak. Samozrejme táto praktika nepridáva na kontrole kvality, ale pridáva prebytočné časti, ktorých pribúdalo vo Windows od počiatku.

Nepredpokladajte žiadne skutočne zlepšenie

Budúcnosť sľubuje iba viac z toho istého. Odkedy Microsoft pracuje na nasledujúcej verzii Windows, vyzerá to tak, že sme ostali zaseknutí v súčasnej deravej architekture Windows a neplánujú sa žiadne štrukturálne vylepšenia. Doteraz sa Microsoft nikdy nezapodieval čistením ich architektúry. Namiesto toho vždy hľadali obchádzky.

Dobrým príkladom je odporúčanie Microsoftu, ktoré hovorí, že počítače "designované pre Windows XP" nebudú akceptovať rozšíriteľné karty, ale budu pracovať s USB perifériami. Toto jasne ukazuje to, ako XP trpí nedostatkami z problémov v architektúre driverov, ktoré v minulosti spôsobili toľko pádov Windowsu. V snahe zbaviť sa problému sa Microsoft pokúsil prinútiť výrobcov, aby zavrhli PCI architektúru. Fakt, že toto odporúčanie bolo okamžite zmetené zo stola výrobcami je irelevantné; podstata je v tom, že Microsoft sa snažil zbaviť podpory rozširovacej zbernice, než by mal vylepšiť architektúru XP, aby boli stabilné.

Toto do budúcnosti neveští nič dobre

Skúmavý pohľad na Windows a jeho aplikácie odhalí, že je virtuálne nemožné pre Microsoft docieliť vyriešenie základných problémov s ich software. Museli by napísať všetky svoje produkty kompletne od základu. Pokiaľ je robustný design a spätná kompatibilita Windowsu nezlučiteľná v najbližšej budúcnosti, bude to znamenať zavrhnutie limitov, ktoré držia užívateľa pri platforme Microsoftu. To je komerčne neprípustné pre Microsoft. V záujme zachovania ziskov sa musia držať starého software, architektúry a chýb. V minulosti robil Microsoft veľa kriku okolo toho, ako ide brať bezpečnosť naozaj vážne, ale zlá celkova kvalita kódu robí tento sľub nesplniteľný. Ich Baseline Security Analyzer (ktorý vydali ako časť snahy o zlepšenie image) poslúži ako dobrý indikátor: nehľadá zraniteľnosti, ale chýbajúce bezpečnostné záplaty, pričom ani to nerobí správne, pretože vykazuje vysoký počet nesprávnych varovaní.

Ďalší viacmenej prázdny sľub je tzv. ".Net Framework". Ten je vývojovým prostredím pre prichádzajúcu novú líniu .Net produktov. Jeho najviac ospevovanou "inováciou" je "bezdopadová inštalácia", ktorá vychádza s odstránenou tesnou integráciou medzi aplikáciami a operačným systémom. Namiesto súčasneho bordelu DLLiek vkladaných do operačného systému a nastaveniami roztrúsenými v registroch budu aplikácie žiť vo svojich vlastných podadresároch a budu obsahovať iba svoje súčasti. Kód bude dodávaný v cross-platformnej podobe a bude JIT (Just In Time - namieste) kompilovaný pre platformu, na ktorej má bežať. Zatiaľ, čo tieto zmeny znamenajú dramatické zlepšenie situácie, ich inovačný faktor je limitne blízky nule: potreba adekvátnej separácie medzi operačným systémom a aplikáciami je IT profesionálom a administrátorom Unixov, mainframov, ba dokonca aj DOSu jasná už dlhú dobu, takisto JIT-kompilácia nie je nič nové (dokonca to nebola nová myšlienka ani ked Sun Microsystems uviedli na trh Javu v 90-tých rokoch). Ale čo je dôležitejšie: nie je jasné, ako to chce Microsoft dokázať. V prípade, že chcú prísť s dobrou a robustnou platformou, musia nahradiť Windows (defakto všetky produkty) niečim, čo ma úplne inu architektúru. Ale .Net nebude od podlahy prepísaný operačný systém. Takýto prepis by odlúčil Microsoft od ich zaužívanej bázy, takže kompatibilita (a tým pádom aj nekonečnosť chýb vo) Windows vyzera byť nevyhnuteľná.

Dôveryhodná práca s počítačom? Nie od Microsoftu

Uveďme to tak, ako to je: sľuby Microsoftu o dramatickom zvýšení kvality sú prinajlepšom nereálne, ak nie zavádzajúce. Sú neschopní ich vyplniť v blízkej budúcnosti a každý v Microsofte to vie. Na ilustráciu, v januári 2002 Bill Gates napísal v "Memoári doveryhodnej práce s počítačom" pre všetkých zamestnancov Microsoftu:


Dnes, v rozvitnutom svete, sa nestaráme o elektriku, alebo vodu. S telefónom, spoliehame na jeho dostupnosť a bezpečnost, keď vykonávame vysoko súkromné transakcie bez toho, aby nás trápilo, či informácie o tom, komu voláme, alebo čo hovoríme bude kompromitovaná. Informačné techonológie toto však nespĺňajú, počnúc domácim užívateľom, ktorý nechce nainštalovať novú aplikáciu, pretože by znížila stabilitu jeho systému po korporáciu, ktorá prechádza na e-business, pretože dnešné platformy za to nestoja.

Teraz, namiesto "dnešných platform" čitajte "desaťročie Windows, vo vačsine prípadov" a pamätajte na to, že sám Microsoft nespoliha na svoje vlastné riešenie a využíva zabezpečenie tretích strán. Pridajte k tomu prítomnosť spyware vo Windows Media Playeri, fakt, že Windows XP Home sa pripája na server zvaný wustat.windows.com, záchytne body pre Alexa spyware v IEčkovom "Nástroje/Zobraziť podobné", a fakt, že Asistent pri hľadaní volá sa.windows.com v momente, keď započnete hľadanie... a obraz je kompletný. Možno vás Veľký Brat nesleduje a s informáciami o tom, čo hľadáte a aké stránky navštevujete, sa nič nedeje... ale netreba sa na to spoliehať. A pre tých, ktorým to ešte stále nedošlo: v novembri 2002 unikli z Microsoftu detaily o zákazníkoch vrátane citlivých dokumentov Microsoftu zo zle zabezpečeného FTP servera. Tento FTP server sám trpel mnohými chybami, takže získať prístup k dokumentom bolo triviálne cvičenie. V skutočnosti zneju najnovšie výkriky okolo bezpešnoti a kvality iba ako krik do dutiny. Sami o sebe nemajú žiaden rešpekt k súkromiu a bezpečnosti svojich zákaznikov.

Ak treba dôkaz, pár týždňov po Gatesovom vyhlásení o Doveryhodnej práci s počítačom sa Microsoftu podarilo odoslať červ Nimba ich vlastným Kórejským vývojárom spolu s Kórejskou jazykovou verziou Visual Studia .Net, čo spôsobilo rozšírenie infekcie, ktorá započala prekladačom do Kórejštiny od tretej strany. Nakoľko dôveryhodná môže byť spoločnosť, ktorá nie je schopná zabezpečiť aspoň základnú bezpčnosť seba sama?

Samozrejme od doby, keď Gates napisal svoj memoár sa nič nezmenilo. Bezpečnostné diery a zraniteľnosti vo všetkých produktoch Microsoftu, z ktorých mnoho umožňuje hackerom spúšťať cudzí kód na ľubovoľnom počítači pripojenom k internetu, sú objavované so železnou pravideľnosťou. Microsoft sľubuje, že nasadí 11 tisíc inžinierom na vyriešenie tohoto problému, ale všetci užívatelia Microsoftných produktuv sú stále zaplavovaný nedostatkami. Je viacmenej jasné, že žiadne skutočné vylepšenie nepríjde v blízkej dobe vôbec. Windows Server 2003 je predávaný, ako "bezpečne navrhnutý", ale odhliadnuc od niekoľkých zlepšení v predvolených nastavniach bezpečnostnej politiky a poliky obmedzenia software sa veľa nezmenilo. Krátko po vydaní Windows Server 2003 bol vydaný prvý bezpečnostný patch (na potlačnie chyby existujúcej od dôb Internet Explorera 6), čo nikoho neprekvapilo.

Falošná podpora to spraví

Nasledujúc Gatesove memo o Dôveryhodnej práci s počítačom urobil Microsoft veľa kriku okolo toho, ako beru bezpčnosť seriózne. Avšak, Stuart Okin, vedúci bezpečnostného oddelenia Microsoftu v Anglicku popísal bezpečnosť, ako "súčasný problém". Počas interview na Microsoft Tech Ed 2002, Okin vysvetľoval, že súšasný záujem médii o vírusy uviedla bezpečnosť vysoko na rebríček d§ležitosti Microsoftu. Treba čítať ako: nikdy to veľmi pre nás nebol problém, ale je čas zahrať sa na dôležitého s bezpečnosťou, aby sme nestratili dobrý kredit.

Jediným skutočným vylepšením Microsoftu bola reklamná kampaň, ktorá označovala Windows XP ako bezpečnú platformu, ktorá ochráni korporátneho užívateľa pred vúrusmi. Nie, naozaj - toto skutočne povedali. Robili veľa kriku aj okolo toho, že dostali "Vladnu bezpečnostnú certifikáciu". V skutočnosti to iba znamená, že Windows 2000 SP3 spĺňa predpis CCITSE Common Criteria, takže môže byť časťou vládneho systému bez nutnosti kupujúceho vzdať sa práv voci National Security Agency alebo nutnosti vykonávať dodatočné testovanie každú chvíľu. Splnenie kritérii neznamená, že software je teraz bepečný, znamená to len, že testovanie preukázalo, že kód pracuje podľa špecifikácii. To je všetko - nemá to nič spoločné s objavovaním bezpčnostných dier každý týždeň. ALe aj tak, Windows 2000 SP3 bol prvý produkt Microsoftu, ktorý pracoval dosť dobre na to, že spĺňal kritéria. Uvažujte.

Gatesova počiatočna iniciatíva s dôveryhodnosťou bola podobná páreniu slonov. Bolo počuť mnoho kriku v bushi, dupania, nasledoval krátky moment aktivity na vysokých miestach a potom sa nič nestalo po dobu takmer dvoch rokov. Maximálne tak Steve Balmer predviedol strhujúce oznámenie o tom, z čoho bude veľká bezpečnostná iniciatíva pozostávať... mnoho minoritných úprav v kóde (áno, znova), trénovanie užívateľov (pozn. prekladateľa: asi z nich chcú mať cvičené opičky), a nabalenie niekoľkých drobných patchov do väčších balíkov. Tlačová správa Microsoftu použila slova, citujem: "zlepšenie zážitku z patchovania", koniec citátu. Doteraz bolo toto "zlepšenie" stvárnene jedine mesačnými kumulatívnymi záplatami, ktoré sú vydávane znova a znova niekoľko krát mesačne v revidovanej verzii.

Ďalší smutný fakt okolo postoja Microsoftu k bezpečnosti je zhrnutý Rebeccou Lieb, redaktorkou internet.com, ktorá skúmala záväzky Microsoftu v boji proti záplave spamu. Uvádza:


[vedúci predstavitelia Microsoftu] sa zaväzujú tvrdením, že [sa zaväzuju pomôcť ukončit epidémiu spamu]. V týchto dňoch je Bill Gates na čele a v strede iniciatívy: svedčí pred Senátom, uzatvára editoriál Wall Street Journal, vynakladá miliony v daroch za dolapenie spammerov, vytvára webovú stránku pre spotrebiteľov a formuje Skupinu Technológie a Stratégie Proti Spamu, "útočí na spam z každého uhla -- technológia, zabezpečenie, vzdelanie, legislatíva a priemyselná samoregulácia."
Keď stretnem členov tejto skupiny, vždy sa pýtam jednu otázku. Každá verzia Windowsu predchádzajúca Windows XP vydaným minulý rok je nastavená --štandarne-- ako otvorené vrata. Milióny ľudí medzitým upgradovali na širokopásmový internet. To značí, že vačšina počítacov na planéte kričí do internetu na spammerov: "Použí ma! Zneuži ma!" Prečo Microsoft nepovie milionom registrovaných užívateľov, ako zavrieť tieto vrata?

Ako dostatočný dôkaz, v roku 2004 bolo 75% všetkého spamu distribuovaného pomocou počítačov s nainštalovaným Windows (na DSL, alebo prípoje pevnej linky), ktoré boli napadnuté emailovými červami, alebo infekciami trojských koní. Ale namiesto opravy chýb v ich produktoch sa Microsoft zameral na vysoko-profesionálne akcie, ako spolupráca so štátnym zástupcom New Yorku a silne publikovanú krížovu výpravu proti spoločnostiam predávajúcim reklamu na internete. Bezohľadná predpoveď Billa Gatesa, že v roku 2006 bude problem spamu vyriešený poslúžila iba ako názorná ukážka ceny sľubov Microsoftu o bezpečnosti a kvalite.

Medzitým sa Microsoft sústredil na nové trhy a pomaly sa na nich začína ušídľovať. Už dodali prvý telefón. Orange, prvý mobilný operátor, ktorý používa Microsoft Smartphone pre ich SPV telefóny, už objavil niekoľko bezpečnostných nedostatkov. Na začiatok sú hlásene stavy, kedy telefóny zamrznú a sú potrebné 3 po sebe nasledujúce reštarty, aby telefón znova nabehol, volajú náhodné čísla a majú nedotiahnutú správu napájania. Nechcem ani pomyslieť, čo sa stane, ak sa Microsoft pustí dosvojich plánov vstápiť do automobilového priemyslu.

Pod čiarou: veci su zlé

Aj napriek tomu, čomu máme podla ľudá z marketingu Microsoftu veriť, fakty hovoria samé za seba: vývoj v Microsofte je riadený obchodnými cieľmi, nie cieľmi kvality. Pokiaľ si udržia ročný obrat 30 miliard dolárov, nikomu nepôjde o stoličku pod zadkom, nezávisle na tom, aké zlé ich produkty budú.

Produkty Microsoftu sú neznalé kvality. Plýtvaju zdrojmi, neposkytujú patričné možnosti pre administráciu a správu a sú krehké a ľahko poškoditeľné. Čo je horšie, nové verzie neprinášajú žiadne štrukturálne vylepšenia, ale v podstate sú len momentálnymi vydaniami s niekoľkými opravami chýb, minoritnými updatmi a kozmetickými vylepšeniami, nič viac. Súčasné verzie produktov Microsoftu sú iba minimálne bezpečnejšie, ako verzie spred niekoľkých rokov, V skutočnosti, ak by neexistovali dodatočné bezpečnostné produkty, ako hardwarové, alebo Unixové filtre a firewally, bolo by nemožné prevádzkovať vzdialené bezpečné prostredie na Windowse.

Produkty Microsoftu sú naplnené takmer barokovým prebytkom funkcií, ale to nie je podstatné. Podstatné je, že tieto funkcie sú poškodzujúce, chýba im robustnosť a bezpečnosť, ako priamy dôsledok základných návrhových chýb, ktoré sú v mnohých prípadoch aj desaťročie staré. Sľubujú veľké výkony, ale v skutočnosti nič z toho nerobia dosť dobre. Ak potrebujete nieco robustné, navrhnuté pre kritické aplikácie, pozerajte sa radšej niekam inam. Potreba Microsoftu kompatibility s minulými chybami robi strukturálne vylepšenia nemožné. "The day Microsoft makes something that doesn't suck, they'll be making vacuum-cleaners."

Veď, 63 000 známych chýb vo Windowse by malo byť dosť pre každého.

ventYl's picture
Submitted by ventYl on 29 June, 2006 - 01:07. freestyle

Preklad pomerne rozsiahlého článku s mnohými argumentami, prečo autor článku nenávidí Microsoft. Prvá časť pojednáva o histórii Billa Gatesa a jeho nástupe na trh, ako aj všeobecne o tom, ako sa Microsoft choval po dlhé desaťročia.

1. Od ľudí, ktorí nam dali EDLIN

"640kb ram bude stačiť každému"
- pripisovane Billovi Gatesovi, CEO Microsoftu, 1981

Vroku 1975 Bill Gates a Paul Allen, ktorí vtedy šudovali na Hardvardskej Univerzite, portovali BASIC pre beh na populárnom počítačí Atlair 8800 a predali ho vyrobcovi Altairu, MITS. Interpreter Altair BASIC-u bol prvým programovacím jazykom bežiacim na type počítača, ktory sa neskôr stal známy ako domáci počítač. Aj ked jazyk BASIC bol v očiach verejnosti v tej dobe známy, neexistoval žiadny interpreter, ktorý by dokázal bežať na domácom počítači. Takže Gates a Allan mohli povedať, že vytvorili originalny produkt. Mohlo by sa povedať, že to bola skutočná inovácia.

Vývoj BASICu v požičanom čase

Gates a Allen sa stretli na Lakeside School (exkluzívna súkromna škola pre bohaté deti) kde sa Gates stal znalcom BASICu na počítaci General Electric Mark II. Krátko na to dostali prístup k počítaču PDP-10 prevádzkovanému súkromnou spoločnosťou v Seattli. Spoločnosť ponúkala voľný strojový čas deťom zo školy Lakeside aby zistila, či dokážu havarovať systém. Gates dokázal, že je v tejto činnosti obzvlášť dobrý. Keď došiel voľný počítačový čas, Gates a Allen zistili, ako pokračovať s využívanim PDP-10 prihlásením sa ako systémový administrátor. Približne o rok neskôr firma, ktorá vlastnila PDP-10 skrachovala.

Toto zanechalo Gatesa a Allena bez zdroja neplateného strojového času. Preto Allen prešiel na Washingtonsku Univerzitu a začal používať počítač Xerox prisľubom toho, že bude postgraduálny študent. Gates ho čoskoro nasledoval a takto to fungovalo, kým neboli chytený a vyhodení z univerzity. Približne do roku 1975 pokračovali s prenikaním do univerzity a súkromným využívanim počítačových systémov. V tom čase bol Gates študentom na Hardvardskej Univerzite a HP predavala kalkulačky 9830 (drahý systém pre vedecké a priemyselné matematické aplikácie) v tej dobe tretím rokom. Kalkulačka 9830 mala interpreter jazyka BASIC, ktorý otváral nové možnosti aplikácii mimo poľa matematických výpočtov. To, či Gates a Allen videli 9830 pred tym, než naprogramovali ich BASIC interpreter pre Altair nie je známe, ale je to dosť možné.

V každom prípade, BASIC, ktorý Gates predal do MITS bol vyvinutý a testovaný na Harvard PDP-10 s využitím emulátora procesora 8080, ktorý adaptoval Allen zo skoršieho kódu. V skutočnosti, v čase, ked Gates kontaktoval MITS s ponukou na ich produkt, nikdy nevidel skutočný procesor 8080. Demonštrácia, ktorú vytvorili Gates a Allen pre MITS v Novom Mexiku, bola prvým behom produktu na systéme, pre ktorý bol určený. Gates ho predal ponukou produktu, ktory neexistoval, vývojom na modeli najlepšej verzie dostupnej od iného dodávateľa, bez akéhokoľvek seriózneho testovania, demonštráciou verzie, ktora plne nefungovala a nakoniec vydaním verzie vo viacmenej chybnej podobe po dlhej odmlke. Od tych čias sa zaklada obchodna taktika Microsoftu na týchto princípoch.

MITS: Kontroverzia začína

Po tom, čo Gates predal interpreter jazyka BASIC pre počítače 8800, opustil Hardardskú univerzitu a vstupil do podnikania s Allenom ako partnerom. Allen bol v tom čase zamestnancom MITS, čo robilo jeho pozíciu pomerne spornou.
Gatesov odchod z Harvardu vyzerá byť kontroverzný. Niektori hovoria, ze odišiel, iní zasa, ze bol vylúčený za kradnutie počítačoveho času. Nech je pravda akákoľvek, faktom je, že Gates spravil väčšinu práce na svojej verzii BASICu v počítačovom laboratóriu Harvardskej univerzity (bez povolenia využívať počítačove zdroje na projekt). Možno v skutočnosti nekradol počítačový čas, ktorý bol v tých dobách cenenou komoditou na to, aby vyvinul komerčne úspešný produkt. Dodnes však nepodal žiadne iné vysvetlenie. Na druhu stranu poslal jeho dnes nechvalne známy "Otvorený list všetkym hobby nadšencom" do každej dôležitej počítačovo orientovanej publikácie vo Februari 1976, v ktorom odsúdil kopírovanie produktov Microsoftu domácimi počítačovými nadšencami ako obyčajnú krádež.

Nech je to ako chce... Gates bol v tom čase dostatočne prefíkany na to, aby zistil, že sedí na zlatej bani.
MITS požadovala a dostala exkluzívne prava na software, ale Gates kládor dôraz na klauzulu v kontrakte, kde MITS súhlasila s komercializáciou softwaru. Tato námaha sa nevyplatila a zisky Microsoftu začali vysychať. V roku 1977 Gates a Allen zaslali protestný list MITS, na to reagoval žiadosťou na súdny príkaz pre Microsoft zabraňujúci mu odhalit kód 8080 BASICu akejkoľvek retej strane. Microsoft bol zachráneny od bankrotu jedine platbami od Applu za 6502 BASIC. (MITS vlastnil práva iba na 8080 BASIC, takže Microsoft mohol portovať jeho kód na iné platformy a naďalej ho predávať). Potom sa Microsoft súdil s ich prvým zákazníkom, MITS, o exkluzívne práva na 8080 BASIC a vyhral. Okamžite začali predávať BASIC znova a znova každému výrobcovi hardwaru, ktorý ho chcel mať, počínajuč Commodorom v Európe, končiac Radio Shack v USA. Teda Gatesove vízie boli jednym z hlavných faktorov vo vytvorení trhu s domácimi počítačmi konca 70. a začiatku 80. rokov. (Druhým faktorom bola zvyšujúca sa dostupnosť cenovo prijateľných čipov s vysokou hustotou integrácie).

Microsoft vyvíja kupuje MS-DOS

Bolo to viacmenej rovnaké, ked IBM prišlo do Microsoftu po operačný systém pre ich nový osobný počítač IBM PC. Microsoft v tej dobe ešte stále operoval v malom meritku, vyrábajuc software hlavne pre hobby trh a pre trh domácich počítačov a par jazykových produktov. IBM mala v tom čase iného preferovaného dodávateľa na ich prichádzajúce PC: Digital Research. Zaužívana historka hovorí, že Gary Kildall (autor CP/M) nebol v Pebble Beach toho dňa, keď tam dorazila IBM s ich objednávkou a jeho žena a právnik nechceli podpísať neznámu zmluvu, nez sa Kildall nevráti. (Táto chyba sa zaznamenala ako pravdepodobne jeden z najhrubších omylov v histórii priemyslu PC).

Táto skúsenosť a nedostatok času viedli k návšteve IBM v Microsofte, ktorý bol pre IBM známy iba vďaka tomu, že Gatesova matka poznala niekoho v IBM. Tento posledný detail može, ale nemusí byť pravdou; avšak faktom je, že Microsoft bol v tej dobe malou spoločnosťou bez manažmentu, s malým množstvom administratívy a účtovníctva so zamestnancami, ktorí spali na stoličkách za klávesnicami a na korporatívnej kultúre založenej na boji, ktory zvyčajne vyhrával Gates. Microsoft dovtedy pracovali iba na programoch pre domáce počítače a programovacích jazykoch a nebol dodávateľom operačnéhých systémov alebo iného systémoveho softwaru. (Kildall neskôr pridal k tomuto príbehu, že sa snažil skontaktovať so zústupcami IBM po jeho návrate, diskutoval s nimi o spolupráci a odchádzal s dojmom, že má s nimi podpísanu zmluvu. Krátko na to zistil, že IBM podpísala zmluvu s Microsoftom. Toto môže, ale nemusí byť pravda, ale v každom prípade je to na tomto mieste veľmi relevantné).

Keď sa predstavitelia IBM ukázali na prahu, Gates rozoznal tento šťastný zlom a sľúbil im operačný systém. Kedže žiadny operačný systém nemal a ani ho nemohol vytvoriť (prinajmenšom nie dostatočne dobrý a rýchly), kúpil práva na klon CP/M od Seattle Computing Products a vymazal sériové čísla. V tomto bode opäť preukázal svoju komerčnu genialitu. Bol si vedomý toho, že IBM PC malo v tej dobe ďaleko od výborneho stroja z technického pohľadu, pozícia IBM ako výrobcu hardware prejde dlhú cestu k zjednoteniu trhu osobných počítačov, ktory bol v tej dobe skor roztrieštený. Gates videl vízie malých investícii prerastajúcich v obrovský zisk z predaja. Inovacia tu nehrala podstatnú roluô v tom čase sa budovy, mosty, lietadla vyvíjali hlavne na staniciach VAX a Unix.

Takže ked IBM požadovala exkluzívne práva na PC-DOS, Gates bol tvrdohlavý: IBM mala zakázane licensovať software Microsoftu tretim stranám, avšak Microsoft smel. Microsoft chcel predavat MS-DOS všetkym zainteresovaným výrobcom klonov IBM PC, ako to bolo s BASICom, keď MITS stratila exkluzívne práva. Týmto Gates vytvoril základ pre trh osobných počítačov tak, ako ho poznáme dnes.

Meniaci sa trh

Toto je prínos Microsoftu na pole výpočtovej technológie: Pred tým, než predali BASIC a neskôr DOS každému výrobcovi hardware ktorý ho kúpil, koncoví užívatelia boli kompletne závislí na výrobcovi hardware nie iba koli hardwaru, ale aj koli pre tú ktorú platformu špecifické operačné systémy a aplikačný software. Marketingova stratégia Microsoftu ukončila tento systém a prispela k zmene vertikálneho trhu s počítačmi na horizontálny. Za toto si spoločnost zaslúži uznanie.

Ale to je všetko. Microsoft použil správnu páku v správny čas a prirodzená zotrvačnosť trhu spravila zvyšok. IBM PC bolo založené na procesore Intel 8086, produkty Microsoftu odvodene od CP/M sa prispôsobili tejto platforme a prestali byt portabilne na ine platformy, čo viedlo k tomu, že intel pokračoval s architektúrou 80x86. Toto symbioticke spojenectvo známe ako Wintel stále pretrváva dodnes.

Koniec inovácii

Aj ked Microsoft bol prvý, kto uviedol na trh (pozor na frázu: uviedol na trh, nie vytvoril) viacmenej funkčný operačný systém pre platformu IBM PC, spoločnosť nikdy nezaznamenala nijaký technologický pokrok od dôb Altair BASICu. Prinajlepšom modifikovali a adaptovali existujúcu technológiu, ale nič originálne, alebo dôkladne inovatívne nebolo vôbec nikdy vytvorene. Prvá verzia PC-DOSu (neskôr MS-DOSu) bola iba oniečo viac, ako obnovená verzia QDOS (alebo DOS-86), kodu, ktory Microsoft kúpil od Seattle Computing Product (SCP). QDOS, čo je skratka "Quick and Dirty Operating System (Rýchly a Špinavý Operačný Systém)", ktorý bol derivovaný (ukradnutý, dalo by sa povedať) z CP/M, ktorý bol napísaný Garym Kildallom a distribuoval ho Digital Research. Množstvo funkcií, vrátane podozrivo Unixovo vyzerajúcej, ale pomerne nefunkčnej podpory podardresárov, vtupno/výstupneho presmerovania a rúr boli natlačené do MS-DOSu 2.0 a ďalších. Toto viedlo k minimálne dvom nekompatibilným verziam viacerých systémovych volaní v DOSovskom jadre, a programátori MS-DOSu sa nikdy nevedeli dohodnúť na tak bežných veciach, ako ktorý znak používať ako prepínač volieb alebo či brať veľkosť znakov ako podstatný faktor. Iba pramálo sa zmenilo v dalšich dvoch dekádach, ktore nasledovali. Stačí sa pozrieť pod kapotu Windows Me: odkaz QDOSu a CP/M z dávnych dní sa vám vyškiera do tváre.

Ako zaujímava poznámka stranou: Tim Paterson z SCP skompiloval QDOS za menej, ako ž tyždňov. Opustil SCP v roku 1981 a pridal sa k Microsoftu. Neskôr údajne Kildall navštívil IBM a ukázal im, že jeho vlastné vyhlásenie o autorských právach bolo ešte stále v PC-DOSe, ale neodvážil sa bojovať o to so zástupom právnikov IBM. Kildallove tvrdenia o krádeži spoločnosťou SCP a fakt, že rozdiely medzi QDOS a CP/M su minimálne nemohlo v tom čase uniknuť Microsoftu. Toto viedlo k zaujímavemu záveru, ze ak toto je pravda, Microsoft a IBM sú vedomými obchodníkmi s kradnutým softwarom a Microsoft založil celosvetové imperium na zločine.

Uzavretie trhu

V každom prípade sa MS-DOSu darilo. Dlhé roky ostal ako jediny operačný systém pre PC na trhu, navzdory tomu, že bol silne reštriktívny. Aj s ohľadom na to, ake reštrikcie uvalil na aplikácie, vývojari presadzovali jeho úspech: niekoľko vývojarov bolo s ním naozaj spokojných, ale uviazli v ňom. MS-DOS ponúkal tak málo funkcionality, že výrobcovia aplikácii boli nútení vytvoriť ich aplikačný kod vykonávajúci plohy, ktore by mal za nich vykonávať operačný systém. Napriklad: prvé verzie Lotus-123 obišli DOS úplne! V iných produktoch veľká časť prístupu k perifériam, vstup a výstup na obrazovku a tlačiareň museli byť vykonávane priamym prístupom aplikácie k hardwaru, ak chceli dosiahnuť aspoň nejaký výkon, a užívatelia si museli pamatať nastavenia IRQ a DMA pre jednotlivé komponenty, keď inštalovali aplikácie.

Tento nedostatok patričných funkcií v MS-DOSe viedol k aplikačnému softwaru portabilnému menej, ako Rocky Mountains, čo v podstate viedlo k nútenemu prilipnutiu k platforme MS-DOSu aby ochránili svoje investície. DOS sám o sebe nebol portabilný, nakoľko bol z veľkej časti napísaný v Assembleri a obsahoval veľke množstvo nízkoúrovňového kódu a minimum štrukturovania. Osobne som videl zdrojové kódy MS-DOSu 6. Nie je to pekny pohľad.

Gates: nevyvijajme, kopírujme

Od čias, keď sa PC-DOS chopil moci Gates už ukázal, že budúcnosť Microsoftu bude obsahovať veľlmi málo inovovania. Gatesov pohľad na vúvoj je pravdepodobne najlepšie ilustrovaný nasledujúcim:

Z: "Programátori pri práci", Microsoft Press, Redmond, WA [c1986]:
Reportér: "Je študovanie výpočtovej techniky najlepšou cestou, ako pripaviť na dráhu programátora?"
Gates: "Nie, najlepšou cestou, ako sa na to pripraviť je písať programy a študovať vynikajúce programy, ktoré napísali iní. Ja som sa prehrabával smetnými košmi výpočtového strediska a vyberal som z nich listingy ich operačných systémov."

Len zriedkakedy bol nedostatok inovatívnosti v Microsofte a ich nečestný ad-hoc prístup k designu softwaru popísaný takým výstižným spôsobom. Je tiež zaujímave v tomto bode poznamenať, že zatiaľ, čo veľa ľudí nazývalo produkty Microsoftu okopírovancami, odpadom alebo smetím, ale iba málo z nich tušilo, ako blízko pravde naozaj boli.

Naozaj, MS-DOS prekonal počas približne dvoch dekád, kedy kraľoval trhu PC tak málo zmien. Najpodstatnejšími zmenami v DOSe 2.0 bolo pridanie podadresárov a ovládačov zariadení, čo boli myšlienky požičane z Unixu. Neskoršie verzie prišli s pár extra funkciami v kerneli navyše, chválil sa vačšim množstvom nástrojov a utilit, spočiatku písanych Microsoftom, neskôr kúpenými od tretích strán. S výminkou vylepšení v DOSe 2.0 (podadresáre, ovládače zariadení) a DOSe 5.0 (rozšírena správa pamäte na procesoroch 80286 a 80386) podliehal DOS minimálnemu vývoju. Medzičasom Microsoft urýchlene predával Xenix krátku chvíľu (pomerne nepôsobivý port Unixu ktorý bezvyhradne kúpili od SCO) ale keď zlyhal predaj vo veľkých sériach, rýchlo stratili záujem a koncentrovali sa na DOS.

Windows robi prevrat

Keď sa zrodil Windows, Microsoft nejakú dobu spolupracoval s IBM na OS/2 1.x. Táto spolupráca vznikla z vedomia toho, že s príchodom procesorov 80286 a plánmi Intelu na 80386 sa DOS stával zastaralý. IBM pracovalo hlavne na kerneli OS/2, ktory vo svojich prvých formách bol v podstate akýmsi 16-bitovým následníkom DOSu s textovým interfacom. Microsoft sa sústredil na Graficke Užívateľské Rozhranie.

Myšlienka grafického užívateľskeho rozhrania nebola nová, ani originálna. Roky predtým predstavil Xerox GUI ovládane mysou v ich vývojovom laboratóriu v Palo Alto. Táto demonštrácia predstavila počítač Alto, ktorý v roku 1973 s bežiacim GUI, technolódiou WYSIWYG, myšou a ethernetovou kartou. Demo bolo vzhliadnute Stevom Jobsom, Billom Gatesom a niektorými ďalšími. Jobsovi sa páčilo GUI a pustil sa do implentácie nápadu do Applovho operačného systému a aplikácii, zatiaľ čo Gates sa rozhodol pre staré textové rozhranie. Neskôr bol Gates donútený znovu premyslieť jeho rozhodnutie pod tiažou toho, že graficke rozhranie sa stalo populárnym na platforme Apple. Takže sa rozhodlo, ze OS/2 bude mať GUI.

Čoskoro sa začal kód Microsoftu oddeľovať od kódu IBM (špeciálne od Presentation Managera) a čoraz viac sa s ním stával nekompatibilný. Medzitym Gary Kildall z Digital Research vydal prvú verziu GEMu (Graphical Environvment Manager) pre DOS. Ako pokus zabraniť v rozšírení, Microsoft ohlásil, že pracuje na svojom vlastnom, oveľa lepšom grafickom prostredí. Nakoniec vzali graficku časť toho, čo sa malo stať OS/2 a predali to ako samostatný produkt pre DOS nazvaný MS-Windows. Prehlasovali, že na ňom pracovali ako na príprave na prichádzajúci OS/2. Medzičasom výrobcovia softwaru (WordPerfect Corp. a Lotus) vynaložili veľke finančné prostriedky do výskumu a vývoja pri prepisovaní ich aplikácii pre OS/2 s predpokladom, že partnerstvo MS/IBM prinesie, čo sľubovalo.

MS-Windows mal byť nový začiatok, ale (hlavne z marketingových a stragických dôvodov) ním nebol. Pevne sa držal chýb spravených v minulosti, bol založený na podkladovej architektúre založenej na MS-DOSe použitej pre hlavné funkcie operačného systému, ako prtítup k súborovému systému. Pridal jednoduchý kooperaívny multitasking pre pre MS-DOS v štýle úplne inom, ako ten v DesqView-e (multitaskingov prostredie pre MS-DOS roky dostupne od spoločnosti Quarterdeck). Taktiež priniesol GUI, ktore bolo tak blízke tomu, ktoré používal Apple, že zamestnalo právnikov na viac, ako polovicu desaťročia. Ale okamžite, ako bola dosiahnuta inovácia, bolo to nimi.

Prvopočiatočne verzie Windows boli veľmi zle, ale Microsoft sľuboval, že lepší produkt by mal prísť uz čoskoro, ako časť ich spojeného úsilia na OS/2 s IBM. Ale potom sa náhle otočili k OS/2 chrbtom. Vykrikovali o inovácii a vrátili sa naspäť k DOSu navzdory tomu, že v skoršich dobách pripustili, že by to bolo spiatočnícke. Nakoniec ustúpili od spolupráce s IBM uplne a so sebou si odniesli veľa technológie IBM, ktorá skončila vo Windows 3.x, ktorý Microsoft zrazu presadzoval ako operačný system budúcnosti. Už nikdy nespomenuli ich skoršie sľuby o OS/2.

Prepadnutie trhu s aplikáciami

Microsoft už predával aplikácie pre Apple Macintosh. To im dávalo dobrý pohľad pod kapotu operačného systému Applu a dopomohlo v dotlačení Apple k vydaniu licencie na časti MacUI (Pohrozili stiahnutím všetkých aplikácii, pokiaľ im Apple nedá licenciu na použitie časti kódu MacUI kóli portovaniu aplikácii z Macintosha na PC). Potom vyrabovali z MacUI zopár ďalších nápadov. Zvyšných zopár kúskov (napríklad technolgiu fontov, ktoru neskôr nazvali TrueType) kúpili, nezriedka výmenou za vaporware ktorý sa potom nepodarilo zrealizovať. Do Windows tiež prihodili náhodnú kolekciu malých programov absolútne nespojiteľných s operačným systémom (ako napríklad Skicár), ktoré nakúpili z rôznych zdrojov na zatraktívnenie produktu, ako takého. Výsledný balík kúskou a čriepkov bol natlačený do koncového produktu a vydaný ako Windows 3.0.

Nebolo až tak ťažké naportovať Applovské verzie Wordu a Excelu tak, aby bežali na Windows 3.0. Existuju niektore indikácie, ktoré ukazujú, že Windows bol adaptovaný na Word a Excel presne tak, ako je Word a Excel adaptovaný na Windows. V čase, keď sa zrodil Windows 3.0, súperiaci vývojari už vynaložili balík financií na výsum a vývoj prechodu na OS/2, založenom na predpoklade, že OS/2 vznikne tak, ako bolo šľubene z partnerstva IBM a Microsoftu. Teraz však hrozilo, ze OS/2 nevznikne. Ale vyhodene peniaze boli iba polovicou problému. Aj keď dostatok výrobcov bolo dosť bohatých na to, aby dokázali financovať dve samostatné línie upgradu produktu, nebol dostatok času na to, aby sa stihol prechod na Windows pred pripravovaným príchodom Windowsu. Takže Microsoft dodával ako operačný systém, tak aplikačné balíky pár mesiacov pred tým, ako mala väčšina výrobcov možnosť zareagovať na rýchly prechod Microsoftu na WIndows.

A to bolo ono. Každý, kto predpokladal, že sa bude plaviť s alianciou IBM/Microsoft, zmeškal loď, keď sa Microsoft uplne neočakávane rozhodol zmeniť svoju cestu uplne iným smerom, ako pôvodne sľuboval. Väčšina nezávislých softwarovych dodávateľov sa nikdy z tejto rany nespamätala.

Demisia OS/2

IBM sa podujalo vydať svoju vlastnú verziu OS/2, avšak to bolo márne. Jednm z hlavných faktorov bolo to, že v čase, ked sa OS/2 dostalo na trh, bola jeho veľká väčšina už zabraná Microsoftom, hlavne z toho dôvodu, že väčšina výrobcov presedlala na Windows. Používali vývojove nástroje pre Windows, takže ich kód sa stal extremne ťažko prenositeľným na ine platformy. Natívne aplikácie pre OS/2 sa stali silne úzkoprofilovým tovarom a hardwarova podpora sa stávala ešte väčšim problémom.

Aj tak väčšinu zodpovednosti za úpadok OS/2 nesie IBM. Aj keď malo OS/2 lepšiu architektúru, pochovalo ho jedno z najhorších strategických rozhodnutí v histérii priemyslu: nedostatok driverov a hardwareovej podpory, nedostatok vývojových nástrojov, nedostatok aplikácii, spolupráca s dodávateľmi hardwaru o dodávani OS/2 na strojoch, ktore neboli dostatočne silne na to, aby na nich OS/2 bežalo uspokojivo, nedostatok dobrej reklamy, nutnosť editovať štvorstránkový CONFIG.SYS kúli nastaveniu systému v typickom štýle IBM atď. Po tomto debakli IBM opustilo trh desktopového softwaru, ktorý nikdy nepochopili, aj napriek tomu, že vyvorili pôvodne IBM PC.

Naďalej bez inovácie

Vytvorenie lepšej softwarovej platformy by bola skutočná inovácia, ale to by znamenalo pochovať DOS, čo bolo jediné, čo v tej dobe Microsoft skutočne mal. Keďže DOSovské aplikácie boli prakticky neportovateľné, nový lepší operačný systém by mohol odpútať výrobcov softwaru (a tým aj užívateľov) z reťazí, ktoré ich pútali k Microsoftu. V ohľadom na ich trhový podiel sa Microsoft rozhodol zavrhnúť inováciu. Takže z marketingových dôvodov bežali Windows 3.x na DOSovskom základe a boli iba oniečo viac, ako hybridný multitaskingový shell.

Architektúra Windows 95 bola iba pokračovaním antiinovatívnej stratégie Microsoftu. Keď o ani nie 3 roky vyšiel Windows 95 (Windows 93 sa plánoval, ale nikdy nevznikol), stále bol len preusporiadaným produktom založeným na DOSe. Stále bežal na základe DOSovského prostredia, aj keď DOS a Windows boli tentokrát inštalované z jedneho balíka namiesto toho, aby sa inštalovali ako separátne produkty. V podstate bol Windows 95 iba starým Windows 3.x s novým GUI, vykŕmeným memory managmentom a s pribaleným DOSovským kódom. Toto ale nezabránilo Microsoftu od vyhlásení, že ide o kompletne nový 32-bitový operačný systém, ktorým samozrejme nebol. Samozrejme, časť kódu bola 32-bitová, ale stále existovali obrovske bloky 16-bitového kódu a ochrana pamäti bola prinajlepšom čiastočne funkčná. Windows 95 a jeho následníci tak aj naďalej ostávali silne závislými na zastaralom kóde DOSu. Windows 98 (plánoval sa ako Windows 97, ale nestihol sa) nezaznamenal žiadny výrazny pokrok v tomto smere. A Windows Me (Me značí Millenium Edition) je iba ďalším v rodine. Stále sa jedna o produkt založený na DOSe, aj keď Microsoft vynaložil obrovské úsilie na zamaskovanie tohto faktu, hlavne množstvom kozmetických úprav a pribalením ďalších aplikácii do balíka. V podstate v celej rade Windows 95/98/Me nie je níč nové; designové chyby predchádzajúcich vydaí nie su opravené a navyše vznikaju chyby nové. Keď sa na to pozriete takto, tak zistíte, že Windows Me nie je nič viac, ako prebalený následník Windows 3.x, ktorým bol aj Windows 95. Je plný designových chýb a založený na technológii, ktorá je zastarala už desaťročia, obalený do očiam lahodiacej podoby, aby zastrel túto spornú otázku.

Windows [n.]
32-bitové rozšírenie a grafický shell pre 16-bitovú záplatu osembitového operačného systému napísaného pre štvorbitový procesor a predaný dvojbitovou spoločnosťou, ktorá nedokázala vydržať ani jeden bit konkurencie.

Anonymný príspevok do USEnetu

NT: ďalšia prepasená šanca

Konečne... Windows NT vyzeral byť krok správnym smerom. Prinajmenšom línia NT (vrátane Windows 2000 a Windows XP) je tá lepšia. "NT" má znamenať "New Technology", pravdepodobne preto, že Windows NT je jednym z mala produktov v histórii Microsoftu, ktorý niekde nekúpili. Namiesto toho si najali Davida Cutlera, ktorý zohral dôležitu rolu vo vývoji VAX VMS pre Digital. (VMS bol úspešným a inovatívnym operačným systémom svojích čias a Digital na ňom pracoval od 70. rokov). Cutler so sebou priniesol približne 20 bývalých zamestnancov Digitalu a spolu so svojim tímom započal vývoj NT. Projekt samozrejme zahŕňal stovky ďalších programátorov, ale Cutler a jeho tím inžinierov z VMS mali za úlohu ponúknuť know-how, ktoré sa zapracovalo do jadra Windows NT.

Ako výsledok tohto snaženia skončila časť designových princípov kernelu VMS vo Windows NT. (Počet a rozdelenie úrovní priority v plánovači, použitie stránkovateľnej virtuálnej pamäte a rozvrstveného modelu ovládačov su iba príkladmi mnohých ďalších, podobných). Prvá verzia VMS bola uvoľnená v roku 1977. Bez trivializovania zásluh Cutlera a jeho tímu (vykonali obrovské množstvo práce na projekte) je až poivuhodné, čo Microsoft myslí tým "New Technology". Na ilustráciu: v málo známom mimosúdnom vyrovnaní Microsoft zaplatil Digital Equipmentu 150 milionov dolárov ako kompenzáciu za to, že použili časť kódu starého Digital OS v Windows NT.
Ehm... Nová Technológia... ?

Marketing prevažuje nad pokrokom

Aj keď korene Windows NT siahaju do 70. rokov, táto línia je veľkým vylepšením oproti na DOSe založeným produktom Microsoftu. Nanešťastie to automaticky neznamená, že sa jedná o dobre skonštruovaný operačný systém.

Cutlerov tím sa musel potýkať s ďalšími obmedzeniami kladenými Microsoftom a výsledkom bola výmena technológii. Cutler priniesol mnoho princípov z VMS, čo bolo dobré. Na tom sa stavalo, takže sa dá povedať, že týmto smerom obsahoval aspon nejakú "Novú Technológiu" a Cutlerova práca zrejme reprezentovala (uhm... to som povedal?) aspoň nejakú inováciu v tom, že priniesli princípy robustného designu na platformu IBM PC. To bolo všetko, výsledkom mal byť dobrý, efektívny a robustný operačný systém. Ale Gates potreboval viac motor na ťahanie marketingových stratégii Microsoftu, ako robustný operačný systém. Samozrejme veľká časť programovania bola spravená inžiniermi Microsoftu, takže finálna kvalita zdrojvého kódu NT nebola rovnaká liga, ako VMS.

VMS bol industriálny operačný systém s prirodzeným clusteringom, ale NT mal byť jednoužívateľským desktopovým operačným systémom. Správa dát a účtov bola na začiatočníckej úrovni, domovské adresáre užívateľov sídlili na lokálnom disku, v podadresári, ktorý niesol kopu kódu operačného systému. Užívateľské a programové nastavenia boli celosystémove naproti lepšiemu modelu separátných nastavení pre jednotlivé účty. Oddeliť kód operačného systému, užívateľské nastavenia, aplikačný kód a konfiguračné dáta nebolo vóbec možné; nastavenia grafického prostredia a aplikácii boli uložene spolu s dôležitými systémovými nastaveniami v nezapezpečených centrálnych registroch, ktoré bolí celosystémove. Preto bolo možné realizovať sieťovo založené účty iba metódou naokolo bližšie. Jednou z najvačších konštrukčných chýb v histórii Windowsu (design subsystému DLL) bol navždy vrytý do systému a sietové rozhranie bolo spočiatku založené na beznádejne nedostačujúcom protokole NetBEUI. Aj ked NT pokračoval v zaužívanom modeli peer-to-peer, vnikol separátny "NT Server". (NT Server obsahoval v podstate ten istý kód, ako NT Workstation so zmenami, ktorých podiel k celkovému rozsahu zdrojových kódov bol minimálny) Spočiatku boli náznaky portability na neintelovský hardware, zapracovanie Hardware Abstraction Layera, a verzie Windows NT na platforme Digital a iných, avšak ako začal trh preferovať PC, tieto náznaky sa vytratili. Samozrejme Digital spravil to isté.

Takže nakoniec marketing Microsoftu zvíťazil nad Cutlerovými inžiniermi. Výsledok nebol nijako povzbudzujúci. NT sa stal operačným systémom založeným na starých princípoch VMS, ktore sa prispôsobili ku kompatibilite so všetkým, čo kedy Microsoft spravil zle. Bol plný starodávnych API, bol šikovne upravený tak, aby umožňoval beh aplikácii napísaných pre OS/2 1.0 (čo nerobil práve najlepšie), neúprimne podporovali POSIX, avšak nikdy neposkytli nič viac, než čiastočnu kompatibilitu s POSIX, obsahoval grafické prostredie Windows 3, ktoré malo svoje korene tak v Appli, ako v OS/2. Ďalej obsahoval kompletný kernel Windows 3 a hromadu súvisiaceho kodu (čo samozrejme obsahuje aj Windows XP) vo forme pôvodných 16-bitových programov, rovnako ako kompletnu sadu desaťročia zastaralého kódu DOSu. V krátkosti to bol skutočný produkt, ako sa na Microsoft patrilo. Všetky naledujúce verzie boli odvodené z tohto kúsku novej technológie. Až po Windows XP trpeli z tohto dedičstva.

Sic transit gloria Fenestrae.

Spajanie namiesto inovacie

Je ironiou osudu, ze Microsoft sa bije do hrude za svoju "úlohu inovátora" IT trhu. Kruta prava je, že Microsoft bol zriedkakedy inovátorom. Zakúpili plagiát CP/M a pomenovali ho MS-DOS, zbúchali dokopy Windows z všemožných kúskov, ktoré nakúpili, pokradli, alebo si prosto požičali. Grafické prostredie Windows bolo založené na know-how IBM a užívateľskom prostredi Apple Macintosh, ktoré bolo zasa odvodené od technológie, ktoru vyvinul Xerox mnoho rokov predtým. NT bolo založené na dobrých, ale zastaralých princípoch VAX VMS. V krátkosti by sa dalo povedať, že operačné systémy Microsoftu implementuju funkcie, ktoré boli dosupné už približne štvrť storočia.

Neskoršie verzie Windows neobsahuju žiadne významne vylepšenia predošlých verzii. Windows 98, ME, 2000 a XP sú v podstate niečo ako kumulatívne patche; nič viac, ako drobne updaty obsahujúce zväčša záplaty (pozn. prekladateľa: každá nova verzia sa pýši tým, že na rozdiel od tej predošlej je bezpečná - aj o novej Viste sa tvrdí, že bude bezpečna na rozdiel od XP), nove chyby a niekoľko malých extra doplnkov, ktoré sa doteraz dobre predávali samostatne. (napríklad Windows XP obsahuje software pre digitálne kamery a skenery, alebo "vzdialenú plochu", ktorá bola predtym samostatným produktom známym ako Citrix). Zvyšok nie je nič viac, ako kozmetika. Celá produktová línia je zdevastovaná brutálnymi nedostatkami v návrhu, ohavnými kódmi obchádzajúcimi tieto nedostatky a tonami chýb. Existovali len zanedbateľné dôvody na prechod z Windows 95 na Windows 98 (okrem predpokladaného ukončenia podpory), ale žiadne na prechod na ME. Windows 2000 a XP obsahuju vo veľkej miere len opravy chýb. Ani 2000, ani XP neponúka žiadnu návratovosť investície pre užívateľov NT a neexistuje skoro žiadny dopyt po extra funkcionalite, ktoru ponúkaju. Aj napríek tomu Bill Gates nazval Windows XP "veľmi veľkou vecou" (pozn. prekladateľa: s tym sa stotožnujem, 1,5GB holého systému je dosť veľká vec) a Steve Ballmer povedal: "Windows XP je väčší krok dopredu, ako čokoľvek od doby Windows 3.0".

XP je dalším v rade Windows NT/2000, ale je ponúkaný ako náhrada Windows 9x/ME. Hlavným trhákom je vymleté prostredie (hračka zameraná najmä na užívateľov medzi 1 až 4 rokmi a technofóbov, ktorí sú vystrašení aj z desktopu Macintosha) s kernelom Windows 2000 pod kapotou. (sú nejaké úpravy v jadre, ale nič prevratné) a samozrejme je k nemu pribalená slušná kôpka aplikácií, najmä software tretích strán, ktorý bol nakúpený a odetý do nového šatu. Vydanie Windows XP spolu s ohlásením zrušenia podpory pre Windows 9x/ME, ako časť stratégie Microsoftu mal vyvolať u koncového zákazníka porovnávanie 9x/ME s XP a nadobudnutie dojmu, že ide o úplne nový produkt, čo bolo samozrejme zavádzajuce. Je to iba predražený kumulatívny upgrade Windows 2000 a nič viac.

Navyše, XP znamena "eXPerience". Microsoft si myslí, že potrebujeme nový zážitok s našimi operačnými systémami a aplikáciami a sedíme pri počítači, aby sme boli zabávaní funkciami operačného systému. Vačšina vylepšení Windows XP sa udiala na úrovni vzhľadu. Ak sa pozriete na binárky, nájdete interné labely ako "ProductName: Microsoft Windows (TM) operating system, ProductVersion" 3.10". Nachádza sa tam aj kód DOSu 5.0 s copyrightom 1981-1991. Aky skvelý nový produkt. Samozrejme, že je dobré, že existuje režim kompatibility so starými aplikáciami ale nachádzať tam kusy Windows 3.0, DOSu 5 (plne 16-bitový kód) vrátane edlin.exe, všetko pod kapotou Windows XP dáva aspoň aký - taký obraz o tom, čo je to za produkt a čo sa s ním za tie roky vývoja vlastne stalo.

To ale nezastavilo Microsoft od vynaloženia pol miliardy dolárov na marketingové promo akcie pre Windows XP. Všetky tie omaľovánky v XP ho v skutočnosti nespravili onič stabilnejším, ako Windows 2000, ale to nebráni Microsoftu v predaji XP ako operačného systému, ktorý "zostane bežať" namiesto padania a ochráni užívateľov od vírusov. Znova?

Aplikácie: v podstate to isté

Na trhu aplikácii nie je situácia onič lepšia. MS Word nie je to, čo býval WordPerfect 5 najmä kvoli tomu, že Microsoft sa doňho pokúsil nahustiť funkcie, ktoré patria do sféery DTP (ale nemožno ho použiť na serióznu prácu v oblrasti DTP). Výsledkom je to, že Wordu chýba kopa funkcií, ktoré užívatelia požaduju, ale obsahuje komplexné funkcie, ktoré sa použijú raz za život a sú aj tak natoľko komplikované, že je ich použitie kontraproduktívne. Excel pôvodne vyvinutý na platforme Apple v skutočnosti nedokáže onič viac, než dokázal Lotus-123 v 80tych rokoch (aj ked ma krajšie grafické prostredie a viac grafických schopností) a je natlačený chybami v makroprocesore a podobne. Microsoft Access je niečo na polceste medzi "rozľahlou" databázou a (pomerne zabugovaným) frontendom k serióznej relačnej databáze napríklad založenej na SQL. PowerPoint kopíruje funkcionalitu, ktorú mali ostatné prezentačné balíky na konci 80. rokov (ak nerátame podporu dier vo VB, ktoré s radosťou využívaju autori vírusov).

V podstate žiadný z týchto produktov nepoužíva žiadnu podstatnú technológiu vyvinutú Microsoftom. Sú to len zovšeobecnené kódy starých aplikácii, hlavne čo sa týka výmeny informácii medzi aplikáciami odeté do pekného šatu. Boli portované na Windows, takže ich užívateľské prostredie vyzerá rovnako (ale stále je nekonzistentné), technológia výmeny dát OLE od IBM dodáva dojem integrácie. Ale v skutočnosti je to všetko stará technológia, nie inovácia. Je to recyklácia. Na ilustráciu: niekoľko súborov dodávaných s Word 97 (a možno aj neskoršími verziami) obsahovali text "Copyright WordPerfect Corporation 1994. All rights reserved."

.NET: stará technológia znovuzrodená

Plány Microsoftu do budúcnosti sú plné "inovácii" toho istého druhu. Stratégia .NET prináša jednoduchých klientov, ktorí budu pristupovať k serverovým, alebo sieťovo orientovaným aplikáciam, alebo službám. Toto je v skutočnosti len oniečo rozšírená implementácia ASP (Application Service Providing) konceptu. ASP prenáša aplikáciu z pracovnej stanice na centrálny server. To odstraňuje potrebu inštalácie, spravovania a behu aplikácii na lokálnych staniciach.

Samozrejme Microsoft tvrdí, že .Net je inovatívna technológia. V skutočnosti je na nej veľmi málo inovatívneho (pozn. prekladateľa: X vedelo podobne veci už v roku 1984). V podstate je to krok späť k desiatky rokov starému teminálovemu prístupu. Microsoft ale bude schopný to znovuzrodiť v atraktívnejšom balíku, čo je asi tak všetka schopnosť inovácie. Všetko, čo potrebujete na poskytovanie sieťovo orientovaných aplikácii dnes (nie o niekoľko rokov, ked bude .Net vyvinutý)(rovnako ako pred pomaly dvadsiatimi rokmi) je Unixový (Linuxový) server, kôpka aplikácií a nejaký grafický terminál. Protokol X (najpopulárnejšia implementácia grafického terminálu na Unixoch) je viacmenej použiteľný len na LAN sieti, ale implementácia elegantnejšieho a efektívnejšieho protokolu na báze klient/server (napríklad ICA) je triviálnou záležitosťou. V takom prípade, všetko, čo potrebujú programátori v Microsofte spraviť, je vyčistiť kódy (čo mali robiť od začiatku), aby využívali zdroje efektívne a presunuť aplikácie späť na server, kde pôvodne boli niekoľko desaťročí v minulosti.

Inovácia? Aka inovácia?

Mašinéria v Redmonde sa rozbieha. Viac okras, viac farebných tlačidiel, viac réžie, viac starého železa s novým náterom, všetko predávané ako nováa technológia, ktoru údajne osobne vyvinuli od základu. Obliekajú svoje "technologické inovácie" peknými menami, ako napríklad Single Instance Store na zakrytie faktu, že Single Instance Store je vykrmena verzia symbolického linku, ktorý bol na Unixoch približne po 3 desaťročia. Dalšou "inováciou" je pridanie konvertora textu do reči ako pomôcky pre zrakovo postihnutých. Užitočná vlastnosť, samozrejme... ale inovatívna? Komerčné produkty na preklad textu do reči existujú od začiatku 80. rokov.

Barokovo vyzerajúci prebytok vlastností ktorý sám seba uživateľovi predstavuje tak, aby nebolo možné spoznať, že sa tam v skutočnosti nenachádza nič, čo by sa dalo pomenovať inovatívne. Vo víre marketingu za 5 miliard dolárov Microsoft vzal pod svoje krídla niektoré cudzie nápady a prehlasujú ich za svoje, napríklad TCP/IP pod "Microsoft protocols" vo Windowse (pozn. prekladateľa: Windows obsahuje implementáciu TCP/IP zrejme okopírovanú z nejakého BSD systému, ktorého licencia umožnuje zaprieť pôvodného autora), obhajujúc, že asistovali na vývoji IPv6 (čo presne robili?) a samozrejme prišli s animovanou sponkou na papier. Windows nepridali jedinú základnú službu, ktorá by nebola dostupná trebárs na Sun workstationoch v roku 1990. Áno, hardware je lacnejší, menší a výkonneší (ako všetka elektronika), takže PCčka vyzeraju oveľa lepšie, ako staré workstationy. Ale v podstate nebola Microsoftom vynájdená žiadna nová technológia, ktorá by osobnému počítaču prinášala nové funkcie.

Microsoft Research poháňaný astronomickým balíkom peňazí ešte neprišiel so žiadnou skutočne inovatívnou technológiu. Vymenujte jednu jedinú, len jednu, skutočne užitočnú technológiu, ktorá bola dokázateľne vyvinutá alebo vymyslená Microsoftom. Jeden jediný koncept, to je jediné čo požadujem. Uvedte nejaký a ja Vám poviem, skade ho majú.

F.W. van Wensveen

    • co sa da k tomuto 18.09.2006 | 00:42
      shlooky   Návštevník

      co sa da k tomuto povedat?
      dokonaly clanok... prispel k mojmu rozhodnutiu, ze NIKDY nebudem mat skurveny windows

    • pro kazdeho neco 18.09.2006 | 19:15
      damien   Návštevník

      pro kazdeho neco ...
      ---------------------------------------
      nadani ucit se je dar;
      schopnost ucit se je dovednost;
      ochota ucit se je volba;

    • Uz len jednu vec 18.09.2006 | 23:34
      m_ax   Návštevník

      Uz len jedna vec mi chyba aby som kompletne pouzival linux, a tou je portovane NFS :))) resp. obdobna, kvalitne spracovana a dobre vyzerajuca hra pod linux..

      Niekomu to bude mozno na smiech ale je to tak.
      :))
      (aspon ze stare UT je portovane:)))

      btw. do grafiky velmi nevidim, ale da sa na OpenGL(na nasich PC grafikach) postavit hra ktora bude vyzerat rovnako-dobre resp. lepsie ako na DX9??
      (takisto ma "potesila" sprava,ze DX10 nevyjde na XPckach,uz len na Vistu..hor sa na upgrade :(( )
      ----------------
      m_ax

      • re: 19.09.2006 | 16:43
        disorder   Návštevník

        AFAIK su portovane vsetky unrealy. nikto ti nebrani vydrziavat si wintendo, ved na to vlastne je :)

        ---
        Windows NT was supposed to hit Unix hard. It did - like a bug hitting a windshield.

    • uf 07.10.2006 | 15:02
      Avatar vid   Používateľ
      dostal som sa tak do 1/4, kde boli zhodou okolnosti veci o ktorych aj nieco viem... a musim povedat ze tolko kokotin pokope som davno nevidel, naposledy na vyske a vazne, blackhole by ani nemal hostovat taketo clanky lebo si ubera na kvalite dalej som radsej ani necital, autor by mal pisat o veciach o ktorych aj nieco vie
      • ak si si nevsimol toto je 07.10.2006 | 18:27
        Avatar patie   Návštevník

        ak si si nevsimol toto je preklad z anglickeho originalu.. a ak si myslis ze vies o tom viac nech sa paci napis taky rozsiahli clanok na danu tematiku podlozeny faktami a potom mozes mudrovat

        zivot je tazky - jeden z najtazsich
        • vsimol som si to, pod slovom 08.10.2006 | 16:22
          Avatar vid   Používateľ
          vsimol som si to, pod slovom "autor" myslim originalneho autora a myslim si ze blackhole by nemal hostovat taketo preklady. a osobne nehodnotim clanok podla rozsiahlosti ale podla kvality. a to podlozenie faktami by sa tomuto clanku veeeelmi zislo. > To však ešte stále neznamená, že tieto verzie > sú tak bezpečné, ako tvrdia obchodníci z > Redmondu, ale v porovnaní s Windows 9x/ME ich > doplnkové funkcie plnia aspoň nejakú úlohu, > ked už tam sú. autor zrejme nevedel o tom ze NT linia nieje o tom ze sa pridali dalsie funkcie na ochranu, ale o tom ze je prerobene vnutro, pricom interface zostal. pre normalny vyvoj ziadne vyznamne "doplnkove funkcie" niesu. > Ale celá táto rada obsahuje značne veľké kusy > 16bitového kódu ake kusy? ak tym mysli minesweeper a mspaint tak to niesu prave veci by mali zjebat system > všetky 16bitové aplikácie zdieľajú jeden > 16bitový subsystém (tak, ako v OS/2). aby sa vec trochu ujasnila, co sa nazyva "16 bitovy subsystem" je trochu nejasne. windows ma tzv. "virtual dos machine", nieco ako VMware alebo DosBox. V tejto je mozne spustit naraz viac programov, ktore sa mozu zhadzovat. Ale tychto virtualnych strojov moze mat naraz spustenych viacej, potom sa nemozu zhadzovat a bezia v roznych adresnych priestoroch. kto pozna 16bitovu architekturu by mal vediet ze tam sa ochrana pamete ani urobit NEDA, takze lepsie riesenie si prilis neviem predstavit, ked uz museli ten kod spetne podporvat.. a ci bezi kazdy proces v spolocnom virtualnom stroji sa da pomerne lahko vyskusat, a podla mojich pokusov nebezia. > Našťastie to je v dnešnej dobe, kedy > 16bitové aplikácie už vymreli veľmi > nereálny stav. trochu to odporuje tomu co je pisane predtym, ale ok... > chyby užívateľa, padnuté aplikácie, to všetko môže jednoducho poškodiť systém hehe, myslim ze chyby uzivatela mozu poskodit system lahsie na linuxe ako na windofse, ale dobre :) o tom ze by padnute aplikacie mali poskodzovat system na NTckach som teda este nepocul > padajúca aplikácia (napríklad prehrávač videa) > môže ešte stále zrútiť systém, alebo ho doviesť > k spontánnemu rebootu. ked tak mozno spadnuty directdraw, ktory ta aplikacia pouzivala, pochybujem ze samotna aplikacia by vedela este na NT zjebat system. Pouzivam ho uz pekne dlho a este sa mi take nieco nestalo ozaj, ako sa sprava linux ked mu jebne ovladac, napr. na grafiku? > Windows je vskutku krehký a systém sa môže > poškodiť naozaj jednoducho. Často sa tak deje > počas inštalácie updatov, service packov, > driverov alebo software a tento problém > existuje vo všetkých verziach Windows. kua, ved nech si niekto skusi naprogramovat nieco co bude za behu opatchovavat kernel ze aka je to sranda. toto je podla mna dost velky problem a ked to pri tomto jebne tak by som to nepovazoval za "krehkost". ked chcu byt komercny a nedat zdrojaky, tak nemaju na vyber. > V Microsofte o niečom takom, ako zdieľanie > kódu počuli, ale nepochopili, ake má tento > koncept výhody, alebo sa s celým týmto ani > nezaťažovali. Proste sa zobrali a namiesto > toho použili DLL. DLL je normalny system na zdielanie kodu, funguje, a autor to pise dost zavadzajuco. mimochodom DLL (relokovanie kodu) je podla mna lepsie ako position-independent kod v zdielanych knizniciach v linuxe. pri DLL sa kod o trochu dlhsie natahuje, ale samotny bez nieje obmedzovany. > Windows nezdieľa statický kód programu - ak > sa spustí 10 inštancií Wordu, väčšina kódu > bude v pamäti 10x, iba časť kódu (knižničné > funkcie) bola premiestnená do DLL a môže byť > zdieľaná. to je ale chyba tych co robili word, nie dizajnu systemu. pochybujem ze linux to robi tak ze ked natiahnes program 5x do systemu tak mas ten kod len raz v pameti. > Neexistuje žiadna signatúra verzie DLL existuje > V podstate to znamená, že Windows nevidí > rozdiel medzi WHATSIT.DLL a inou knižnicou > s rovnakým menom, aj ked obe môžu obsahovať > úplne iný kód hehe, to si zmysleli aj v microsofte, vymysleli manifesty a je to este horsie ako bolo. inak co som pocul, dependancies byvaju dost problem aj na linuxe > Taktiež poradie, v ktorom sa aplikácie spúšťaju > (a DLL knižnice sú naťahované) určuje, ktorá > knižnica sa stane aktívna a akým spôsobom sa > systém poprípade zrúti. nie system, aplikacia. niesom si isty ako je to myslene, ale moze tym byt myslene ze najprv sa pouziva kniznica z adresara kde je program a potom zo systemoveho... je to dost extremny pripad a este som o tom nepocul > Navyše kvoli tomu, že neexistujú žiadne > skutošné hranice medzi úrovňou systémového > kódu a užívateľského kódu, takže kód > poskytnutý dodávateľom software, alebo > užívateľom môže ľahko bežať na úrovni > najvyšších privilégií. hranice existuju, su dane procesorom. dostanie sa do vyssich privilegii sa da zakazat. presne ako v linuxe. aby bolo jasne, windofs je na<>, ale je to kvoli tomu ze MS ako komercna spolocnost musi stale udrziavat sprostu backward kompatibilitu. a ja tvrdim ze NT kernel je dobry, v mnohom lepsi ako linux kernel
          • re: 08.10.2006 | 17:43
            disorder   Návštevník

            musim ta opravit:

            > windows ma tzv. "virtual dos machine", nieco ako VMware
            > alebo DosBox.

            vm86 (tak sa to nazyva na urovni procesoru) nema s dosboxom a vmware spolocne absolutne nic.

            > kua, ved nech si niekto skusi naprogramovat nieco co
            > bude za behu opatchovavat kernel

            windows nepatchuje za behu, vyzaduje restart. rozbitim je myslene, ze nieco potom prestane fungovat :)

            > mimochodom DLL (relokovanie kodu) je podla mna lepsie
            > ako position-independent kod v zdielanych knizniciach v
            > linuxe.

            mozem vediet preco si to myslis?

            > inak co som pocul, dependancies byvaju dost problem aj
            > na linuxe

            to sa tyka balickovacieho systemu a ja osobne s tym problem nemam. vyhoda je, ze si nedojebes system.

            > hranice existuju, su dane procesorom. dostanie sa do
            > vyssich privilegii sa da zakazat. presne ako v linuxe.

            myslim, ze tam bola rec o winDOSe (a ten som pascalom bez problemov zhadzoval :))

            > ale je to kvoli tomu ze MS ako komercna spolocnost musi
            > stale udrziavat sprostu backward kompatibilitu

            nie pretoze je komercna spolocnost, ale pretoze by mali buducnost neistu keby prestali :)

            > ja tvrdim ze NT kernel je dobry, v mnohom lepsi ako
            > linux kernel

            napr.? ;)

            ---
            Windows NT was supposed to hit Unix hard. It did - like a bug hitting a windshield.

            • > vm86 (tak sa to nazyva na 08.10.2006 | 21:14
              Avatar vid   Používateľ
              > vm86 (tak sa to nazyva na urovni procesoru) > nema s dosboxom a vmware spolocne absolutne nic. viem ako sa to nazyva ;) preco by nemal? je to virtualizacia zalozena na odchyteni urcitych instrukcii. presne to robi aj VMware aj DosBox. >> mimochodom DLL (relokovanie kodu) je podla mna lepsie >> ako position-independent kod v zdielanych knizniciach v >> linuxe. > mozem vediet preco si to myslis? lebo position independent kod je pomalsi, a mas o jeden register menej > to sa tyka balickovacieho systemu a ja osobne > s tym problem nemam. vyhoda je, ze si > nedojebes system. neviem, ja som pocul od par ludi ze s tym byvaju problemy a videl som nazivo aj dojebanie systemu kvoli balickovaciemu systemu >> ale je to kvoli tomu ze MS ako komercna spolocnost musi >> stale udrziavat sprostu backward kompatibilitu > nie pretoze je komercna spolocnost, ale > pretoze by mali buducnost neistu keby > prestali :) ved to som myslel, presne to je ta komercia. ja som zasadny odporca backward compatibility :) a inac aj v MS na to ludia dost picuju >> ja tvrdim ze NT kernel je dobry, v mnohom lepsi ako >> linux kernel > napr.? ;) napr. exception handling vseobecne v tom ze je stavany na vyuzivanie novych technologii a nie podla X rokov stareho standardu. zase, da sa povedat ze na urovni kernelu sa zbavili potreby mat backward compatibilitu. mimochodom existuje aj nieco ako "frontend" pre NT kernel ktory je ANSI-compliant, cize NT kernel je minimalne rovnako mocny. a naopak by to imho neislo spravit, na linux kerneli by si NT-kernel-like API asi nepostavil.
              • re: 08.10.2006 | 21:49
                disorder   Návštevník

                > viem ako sa to nazyva ;)

                v tom pripade ma prekvapuje, ze si to myslis. a v pripade toho dosboxu - dosbox je kompletny emulator, nic neodchytava (jedine experimentalne dynamic core si nejak vypomaha a preto pracuje len na x86 procesoroch).

                > lebo position independent kod je pomalsi, a mas o jeden register menej

                z pohladu starych x86 procesorov? trochu jednostranne, nie? relokacia DLL je spinava robota :)

                > videl som nazivo aj dojebanie systemu kvoli balickovaciemu systemu

                ehm, to by ma zaujimalo :) problem je v tom, ze ti balickovaci system nedovoli nainstalovat nieco cim by si ho dojebal :) alebo sa do toho dotycny pustal rucne a nic ine si nezasluzil...

                > vseobecne v tom ze je stavany na vyuzivanie novych technologii

                no, nechapem. ja som niekde cital, ze vista bola prepisovana niekolkokrat...

                > a nie podla X rokov stareho standardu

                standard nehovori nic o implementacii, ale o funkciach/rozhrani. raz pride cas mikrokernelov a na aplikacnej urovni bude fungovat vsetko rovnako...

                > mimochodom existuje aj nieco ako "frontend" pre NT
                > kernel ktory je ANSI-compliant, cize NT kernel je
                > minimalne rovnako mocny.

                nie ANSI, POSIX. a nie je a nemoze byt kompletny. je to ten, kde ani Korn shell nebol standardny? :)

                > a naopak by to imho neislo spravit, na linux kerneli by
                > si NT-kernel-like API asi nepostavil.

                to nie, pretoze je to prasacina najvacsieho kalibru (rovnake ako pchat GUI do kernelu). WINE robi presne to co ma, len nie je kompletne (z pochopitelnych dovodov).

                ---
                Windows NT was supposed to hit Unix hard. It did - like a bug hitting a windshield.

                • >> viem ako sa to nazyva 08.10.2006 | 23:03
                  Avatar vid   Používateľ

                  >> viem ako sa to nazyva ;)
                  > v tom pripade ma prekvapuje, ze si to myslis.
                  preco? vidis nejaky principialny rozdiel medzi PM-RM virtualizaciou (ntvdm), ring3-ring0 virtualizaciou (VMware) alebo VMX-ring0 virtualzaciou (XEN)? podla mna je to stale o tom istom, odchytit par instrukcii ktore mozu nieco posrat a emulovat ich.

                  > a v pripade toho dosboxu - dosbox je kompletny
                  > emulator, nic neodchytava
                  hop, sorac. nemyslel som si ze to tak robi... tak uz viem preco je tak pomaly :)

                  >> lebo position independent kod je pomalsi,
                  >> a mas o jeden register menej
                  > z pohladu starych x86 procesorov? trochu
                  > jednostranne, nie?
                  hm, napriklad na ARMoch je to s position-independent code este horsie, relokacie vo WinCE funguju asi krajsie

                  > relokacia DLL je spinava robota :)
                  v com? ja v tom nevidim nijaky problem, mat tabulku offsetov kam treba pripocitat adresu kde sa natahuje program. jasne ze teoreticky existuju aj ine relokacie, komplikovanejsie, ale v praxi sa pouzivaju aj tak len tieto.

                  > ehm, to by ma zaujimalo :) problem je v tom,
                  > ze ti balickovaci system nedovoli nainstalovat
                  > nieco cim by si ho dojebal :) alebo sa do toho
                  > dotycny pustal rucne a nic ine si nezasluzil...
                  neviem, nevidim do toho moc

                  > no, nechapem. ja som niekde cital, ze vista
                  > bola prepisovana niekolkokrat...
                  neviem, myslim ze vista nebezi na NT kerneli.

                  > standard nehovori nic o implementacii, ale o
                  > funkciach/rozhrani.
                  jasne, ale nedokazes to rozhranie postavit tak vseobecne aby vedelo obsiahnut aj technologie ktore este ani neexistuju. aj to rozhranie by sa patrilo raz za cas updatnut.

                  > nie ANSI, POSIX.
                  sorac, furt si to pletiem

                  > a nie je a nemoze byt kompletny. je to ten,
                  > kde ani Korn shell nebol standardny? :)
                  netusim, nazivo som to nevidel. len viem ze to bol jeden z designovych cielov.

                  > to nie, pretoze je to prasacina najvacsieho
                  > kalibru (rovnake ako pchat GUI do kernelu).
                  jojo, to by bola. aj preto ze rozhranie NT kernelu je implementation specific. ale vies ako to, cim je vec vseobecnejsia, tym viac straca na sile. osobne preferujem silnejsie a menej vseobecne riesenia

                  co som pocul, to "GUI v kerneli" napodiv microsoftu slape lepsie ako Xka v linuxoch :P

                  • re: 09.10.2006 | 15:31
                    disorder   Návštevník

                    > alebo VMX-ring0 virtualzaciou (XEN)?

                    ano, este do toho primiesaj xen :) jedine na co sa ntvdm podoba je dosemu, ktory ale narozdiel od neho programy dokaze spustat aj v 64-bit mode AMD64 :)

                    > hm, napriklad na ARMoch je to s position-independent
                    > code este horsie, relokacie vo WinCE funguju asi krajsie

                    nuz, embedded zariadenia su kapitola sama o sebe. a na nich je urcite ziaduce mat jedno DLL viackrat v pamati...

                    > > relokacia DLL je spinava robota :)
                    > v com?

                    v tom, ze moze byt nutne tu istu kniznicu loadovat viackrat a je potrebne nejak zabezpecit zdielanie globalnych dat. vyzera to ako pekne riesenie?

                    > neviem, myslim ze vista nebezi na NT kerneli.

                    NT 6.0

                    > jasne, ale nedokazes to rozhranie postavit tak
                    > vseobecne aby vedelo obsiahnut aj technologie ktore
                    > este ani neexistuju. aj to rozhranie by sa patrilo raz
                    > za cas updatnut.

                    neviem o tom, ze by bolo napr. pridanie noveho ioctl requestu problem. IMO je to postavene dostatocne solidne. ale to si trochu odbocil. to rozhranie sa tyka hlavne aplikacnej urovne. na winapi nemam pekneho slova a mam dilemu co si o nom mysliet - je to obycajna idiocia alebo pokus o odrovnanie konkurencie nekompatibilitou?

                    > > je to ten, kde ani Korn shell nebol standardny? :)
                    > netusim, nazivo som to nevidel. len viem ze to bol
                    > jeden z designovych cielov.

                    ten, kde sa na prezentacii pan Korn spytal, preco si vybrali taku nestandardnu implementaciu a bolo mu povedane, ze je standardna? :) su to ale srandisti...

                    > co som pocul, to "GUI v kerneli" napodiv microsoftu
                    > slape lepsie ako Xka v linuxoch :P

                    pokial je cielom co najviac bezpecnostnych dier, moznosti zhodit system a spinavsie API, tak suhlasim... btw ktoru konkretnu implementaciu X serveru mas na mysli? ;)

                    ---
                    Windows NT was supposed to hit Unix hard. It did - like a bug hitting a windshield.

          • a ja si zas myslim ze taketo 09.10.2006 | 08:43
            Avatar patie   Návštevník

            a ja si zas myslim ze taketo clanky tu patria a budu tu nadalej uverejnovane ..

            zivot je tazky - jeden z najtazsich
            • ja taky ... osobne jsem se 13.10.2006 | 20:59
              damien   Návštevník

              ja taky ... osobne jsem se mnoho dozvedel a chtel bych vice takovych clanku.
              ---------------------------------------
              nadani ucit se je dar;
              schopnost ucit se je dovednost;
              ochota ucit se je volba;