"Ve skutečnosti je to tak, že Blink a Gecko postupně implementují spoustu nových vlastností HTML5, a EdgeHTML a ještě víc Trident za nimi silně zaostávají."
Jasne, ja to nepopiram a dokonce kdyz si prectete ten prispevek jeste jednou, zjistite ze se me myslenky ubiraji podobnym smerem.
M$ mel dlouhou dobu natolik vysadni postaveni na trhu pricemz byl natolik nekompatibilni, ze spousta webu se psala tak, aby fungovala hlavne na M$ IE. Navic hodne z nich vyuzivalo dalsich moznosti jako ActiveX, nebo VB Script. Vysledkem bylo, ze stranky na jinych prohlizecich byly des.
Dnes je trend opacny, a ja si myslim, ze M$ na to proste nestiha reagovat. A nebo porad spoleha na sve dominantni postaveni. Kdo vi...
S tím, co píšete, jste se minul o více než deset let.
Doba, kdy měl MSIE výsadní postavení na trhu, byla v době Internet Exploreru 5.5 a 6.0. Pak přišla Mozilla a Internet Explorer převálcovala. Když se Microsoft probral, vydal Internet Explorer 7.0, který byl i v podpoře webových technologií podstatně horší, než Mozilla. Kompatibilní pouze s MSIE v téhle době už zůstávaly jen intranety nebo extranety, případně weby ignorantů, kterým bylo jedno, že se na ně většina uživatelů nedostane. Weby se v té době ladily ve Firefoxu, protože pak s minimálními úpravami fungovaly i v ostatních prohlížečích mimo MSIE, a pak se pomocí různých hacků upravily tak, aby fungovaly i v MSIE (případně i s omezením některých vlastností, které v MSIE nebyly dostupné).
To dominantní postavení MSIE skončilo někdy v první polovině prvního desetiletí 21. století. MSIE 7.0 pak opravil pár chyb, MSIE 8.0 se posunul výrazně vpřed a od té doby se MSIE naopak výrazně zlepšuje a přibližuje ostatním prohlížečům, takže třeba v IE 10 už obvykle web, který nepoužívá úplně ty nejžhavější novinky, funguje bez úprav stejně, jako v ostatních prohlížečích.
Předpokládám, že jste vývojář. Pro vývoj byla Mozilla možná dominantní, ale pro běžné uživatele IE sesadil teprve nedávno Google Chrom, takže válcování Mozillou se nekonalo. Většina lidí měla internet za to velké modré "e", takže i když měli nainstalovaný jiný prohlížeč, tak stále používali IE a pro přechod mezi weby do adresy zadávali seznam.cz (nebo klikli na domeček) a potom do vyhledávače napsali konkrétní adresu... Další spousta lidí byla odkázaná na IE, protože nový intranet je pro vedení zbytečná investice, vždyť ten starý funguje, takže není důvod instalovat jiný prohlížeč.
Prosím pěkně, můžete se podívat na kalendář? Já mám v kalendáři rok 2017, souhlasí to u vás? To vaše „teprve nedávno“ kdy Chrome předběhl v podílu Internet Explorer, bylo někdy kolem roku 2012. Ale původně byla řeč o webech, které používaly proprietární technologie použitelné jenom pod Internet Explorerem – a ty samozřejmě skončily daleko dřív a právě díky Mozille a pak Firefoxu. Když někdy v roce 2007 měly ostatní prohlížeče přes třetinu trhu, byl to už dost silný argument proti tomu dělat web MSIE only. Ostatně Internet Explorer 7 byla reakce Microsoftu na to, že si uvědomil, že mu začíná ujíždět vlak. Předtím neměl pět let potřebu vydat novou verzi prohlížeče, a sedmičku rozhodně nevydával proto, že vývojáři používali Mozillu nebo Firefox. Vydal jí proto, že MSIE začal ztrácet své výsadní postavení – pořád ještě byl nejsilnější, ale přišel o tu pozici, že s jiným prohlížečem není potřeba počítat.
" Ale původně byla řeč o webech, které používaly proprietární technologie použitelné jenom pod Internet Explorerem..."
Ne. Puvodne se tohle vlakno rozjelo s tim, ze udajne se objevuje cim dal vice webu ktere s IE jedou spatne. A neni jediny uzivatel Widli, od ktereho to slysim. Az teprve na to jsem uvazoval nad tim, ze MOZNA to bude tim, ze M$ nerustale se drzi svych konvenci a M$ Web technologii...
@D.A. Tiger
Jasně že to tak je. Ve většině normálních případů se staví web s Chrome, zrovna, a nebo po několika malinko úpravách, je kompatibilní s FF, pak se rychle opraví pro Safari a když zbude čas :-), nebo je to zrovna po letech klient který neumí nic jiného než MS*, tak se to projede ještě pro MS*, protože minimálně v ČR je zastoupení MS* v přístupech 00,prd a každý ti řekne, že to kvůli 5 excentrikům za týden na 20 minut nebude 4 dny napravovat pokaždých úpravách ...
* většinou nějaký děda s XP a IE, případně nějaká "nebožák" s Edge
Kdyby to bylo tak, že by weby používaly nějaké MS-only technologie a teď je opouštěly, hlavně by celou dobu nefungovaly v ostatních prohlížečích. Což se evidentně neděje.
Už jsem psal, že je to přesně naopak. Internet Explorer a Edge technologicky dohání ostatní prohlížeče. Ono také hodně záleží na tom, jakou verzi IE kdo používá – Microsoft s tím doháněním technologií hodně pohnul, takže aktuální verze už jsou docela dobře použitelné. Takže někomu už se nevyplatí řešit spoustu hacků pro MSIE 8.0, protože je to příliš pracné a dotkne se to jenom nějakého 1 % uživatelů. To, že nějaký web funguje v IE nebo Edge špatně, je dnes dané tím, že ten web používá nějakou technologii, kterou IE/Edge ještě neumí.
Ono je to ještě o něco horší. Browsery implementují spoustu věcí, které vůbec nejsou ve finálních doporučeních W3C, protože u W3C se standardizace pohybuje rychlostí šneka... mrtvého šneka. Posuďte sám: CSS 1 Recommendation přišlo v roce 1996, CSS 2 v roce 1998, CSS 2.1 v roce 2011. Ve W3C vytvářeli CSS 2.1, což je prakticky bugfix release, 13 let!
Práce na CSS 3 začaly v roce 1999, bylo tak mrtvé, že ho radši rozbili na moduly, aby se alespoň něco dalo označit jako hotové. A víte kolik z těch cca 70 modulů je po 18 letech hotových? Čtyři. Jestli po 18 letech dotáhnou do finále 4 moduly ze 70, tak jim tem zbytek bude trvat... 297 let. Ale já jsem optimista, a věřím, že se kompletní specifikace CSS 3 dožijí již naši vnukové :D. Když to shrnu, tak W3C je ukázka naprosté neschopnosti a nekompetence.
U současných browserů je proto zvykem implementovat spoustu funkcionality, která ještě není ve fázi finálních doporučeních W3C. Což je mimochodem přesně to co se svého času vyčítalo MS: podpora nestandardních věcí v prohlížeči. A Mozilla se kasala, jak to dělají lépe. Nějak se to ale nepovedlo.
Pravda je, že se dneska některé z těch nestandardních funkcionalit implementují přes prefixy. Bohužel každý engine má vlastní prefixy, a autoři webů nechtějí čekat do důchodu na verzi bez prefixu, takže použijí prefix podle svého oblíbeného browseru. Samozřejmě když finální verze vyjde, tak nikdo nebude procházet všechny své weby a opravovat je. Výsledkem je guláš kde weby používají různé prefixy, a různé browsery pro vybranou funkcionalitu (ale ne pro všechnu) i prefixy konkurenčních browserů.
Ve výsledku jsme tam kde jsme byli s MSIE: browsery i weby používají spoustu věcí, které neodpovídají standardům, a je v tom pořádný guláš. Akorát místo Microsoftu převzala žezlo Mozilla placená Googlem, a před pár lety pak sám Google. Takže místo výrobce nejrozšířenějšího OS určuje směřování webu největší sběratel osobních údajů - to je fakt super upgrade :/
No, to sice možná asi jo, ale pořád je výsledek tandemu Chrome - Firefox o mnoho řádů lepší, než co kdy dokázal předvést MS. Je možné že je to vina W3C, je možné že nějakoho jiného, ale výsledek je, že MS je zase opět standartně pozadu, přestože jediný z nich (pomiňme Apple) je "světová" SW firma s velmi tučným budgetem - za předpokladu, že Google není primárně SW firma specializující se na prodej SW zákazníkům a Mozilla ani nemá tak tučný budget. Oproti tomu je MS skutečně firma specilalizující se na prodej SW a má velmi tučný budget a ještě to má provozovat jenom na vlastním OS - což je kapitola sama pro sebe - takže by na tom měla být nejlépe. Není. Můžeme se tvářit že to tak není, omlouvat, vymlouvat, ale to na výsledku nic nemění. Ano, přímí účastníci vnímají více faktorů, ale bavíme se o výsledku a ten je jaký je.
Vážně, když odmyslím že historicky MS nemám rád hlavně kvůli praktikám a vůbec takovém tom odéru kolem, vážně by se měli zamyslet a začít s tím něco dělat. To se zdálo že udělali nedávno, ale jediné co vymysleli bylo přidání telemetrie a "hezčí" UI ... a mezi tím, Mozilla, která má oproti MS příjmy 0,0prd dokázal přepracovat svůj browser ....
Otázka je, proč by měl Microsoft dělat zrovna webový prohlížeč. Píšete, že je to firma zaměřená na prodej software – no jo, jenže prohlížeč dává zdarma a zpoplatnit ho je nereálné. Další software, který prodává, je Office a Windows. Ty mají největší konkurenci ve webových technologiích – dělat prohlížeč, ve kterém bude perfektně fungovat Google Suite a aplikace určené pro ChromeOS tedy taky asi není v zájmu Microsoftu. Pak tu máme Azure, které je určené na backend a webové prohlížeče tam nikoho nezajímají. Jediný důvod, proč by Microsoft mohl chtít dobrý prohlížeč, je Office365. Kvůli tomu ale nepotřebuje obecně dobrý prohlížeč, na to mu stačí prohlížeč, který bude dobře fungovat s Office365. Což vlastně klidně může být prohlížeč, který bude umět spouště nativní komponenty Office365.
Nejsem si úplně jistý, že bych chtěl, aby se Microsoft nějak moc zamýšlel nad směřováním Windows a začal s tím něco dělat. Obávám se totiž, že Windows už jsou pro Microsoft přítěží, nebo jí brzo budou. Vše směřuje do cloudu, prodat někomu levně Windows a pak si to vybrat na ostatním softwaru už zdaleka není tak snadné, nefunguje to už ani opačně – všichni mají MS Office, abyste byli kompatibilní, musíte ho mít taky, tedy si musíte koupit Windows. Zkrátka tahle synergie, kdy jste museli mít alespoň něco od Microsoftu a tím pádem všechno, je pryč. Za to Microsoftu zbyly Windows jako koule na noze – obrovský balík zastaralého kódu, nutnost udržovat zpětnou kompatibilitu s celým světem. Do toho pořád opravovat nějaké chyby, za každý sebemenší problém dostanete pořádně vynadáno. Do toho vidíte, že se konečně pomaloučku začíná systémově řešit bezpečnost a zodpovědnost, a že to s Windows prostě nedáte. A Azure zatím spokojeně vydělává… Pokud by chtěl Microsoft s Windows opravdu nějak pokračovat, musel by zahodit zpětnou kompatibilitu a postavit nový systém, kde by byly aplikace oddělené alespoň tak, jako jsou na Androidu nebo iOS, a aplikace by byly dostupné jen přes Microsoft Store. Přičemž by to byl podnik velmi nejistý, protože když už se zahodí zpětná kompatibilita, proč by měl někdo přecházet na nové placené nekompatibilní Windows, když může mít třeba Android zdarma. Takže se trochu bojím, že kdyby se Microsoft nad Windows nějak moc zamýšlel, sekne s tím a nechá, ať si to zas užije někdo jiný.
To je klidně možné. Jenom nevidím důvod proč tvrdit že EI a Edge jsou nějaké skvělé, nejsou, a že za to může kdekdo jiný a jinak to nejde ... Platí to i pro Windows? Je to možné. Proč ale vykládat jak jsou skvelé a blá blá jak to předvádí Lael, nejsou, a podle mě ani bez totální změny strategie a systému nemají ani ten potenciál ... Ostatně o nich sám píšeš jako o kouli na noze.
No a kdyby toho MS nechal tak by se stalo co? Ten jejich ekosystém stejně dožije 2 - 10 let třeba (viz. XP) a prostě by hned vyrostlo 5 - 30 firem jako např. RH a další třeba 5000 na SW. Z pohledu akcionářů MS katastrofa světa, pro ostatní jenom další milník v historii > Asi jako když se nadávalo, že kočí a obuvníci nebudou mít "co žrát". A dneska nevíš kde sehnat řidiče a kvalifikované lidi do fabrik na boty - fajn platy, ale jaké by měli ti kočí či obuvníci v dnešní době? Asi podobné.
Windows jsou pořád silně dominantní desktopový OS, a vedou si ve srovnání s konkurencí velmi dobře. Podpora obrovské spousty HW, dostupnost obrovské spousty SW, velmi rozsáhlé API, (nejspíš bezprecedentně) kvalitní dokumentace, kvalitní vývojové nástroje... Samozřejmě vývoj stojí nějaké peníze, ale na druhé straně jsou tu celkem dost vysoké tržby.
Pokud jde o bezpečnost, tak statistiky ukazují, že Linux má bezpečnostních problémů víc než Windows. Za minulý rok Linux kernel (což je malá část OS) 217 zranitelností, Windows 10 jen 172 zranitelností. Letos si Linux kernel také nevede dobře, a podle všeho bude hůře. To co píšete o zastaralém kódu platí u Linuxu daleko víc, tam je navíc zastaralý i celý koncept.
https://www.cvedetails.com/top-50-products.php?year=2017
https://www.root.cz/zpravicky/google-nasel-desitky-chyb-v-linuxovych-ovladacich-usb/
Samozřejmě by bylo fajn uvést nový OS, který by vyřešil tu tristní situaci ohledně bezpečnosti a bugů, ve které se celý IT průmysl nachází. Byl tu projekt Singularity napsaný převážně v C#, u kterého byly aplikace odděleny čistě přes invarienty zajištěné statickou analýzou kódu, v pozdější fázi orientovaný na kombinování kódu s různými trust levels. Dnešní platforma WinRT si z toho projektu dost bere, a navíc umožňuje bezešvým způbosem míchat managed a unmanaged code. Ovšem přechod na systém podobnější Singularity OS bude zjevně nějakou dobu trvat. Staré aplikace prostě poběží v sandboxu (všimněte si projektu Desktop Bridge) a postupně umřou.
Pokud hovoříme o Unixech, tak ty dneska nemají z hlediska architektury co nabídnout. Jde o lepení konceptu z šedesátých let. U Linuxu je to navíc zabité open source vývojem, kde se tříští síly a jednotlivé skupinky po sobě hází špínu. Vizte třeba katastrofu jménem X11, a snahu tu příšernost nahradit něčím lepším. Po dekádách pokusů vznikly nesouvisející projekty Wayland a Mir, které řeší jen malou část funkcionality, a na rozdíl od toho pravěkého X11 neumí ani vzdálený přístup. Takže výsledek desítek let open source vývoje je ten, že Linux bude mít opět nejhorší řešení na trhu :/
Počty zranitelností vypovídají akorát o tom, co je v daném systému evidováno jako zranitelnost, o bezpečnosti to neříká vůbec nic.
Zastaralý koncept mají Windows – přístupová oprávnění dolepená dodatečně spolu se spoustou různých hacků, aby fungovaly aplikace, které nikdy s přístupovými oprávněními nepočítaly. Správce balíčků nemají Windows dodnes, jsou jakési pokusy s Windows Store, ale moc úspěšné nejsou. Linux sice vychází z koncepce ze šedesátých let, ale ta byla evidentně vymyšlená hodně dobře, když je možné na ní vystavět operační systémy, které jsou koncepčně modernější, než Windows (Android, MacOS, linuxové kontejnery).
Ano, X11 se do dnešní doby nehodí, ale naštěstí tu máme ten „roztříštěný“ vývoj, takže se jedna komponenta nahradí jinou a jede se dál. Ta výhoda monolitických Windows se ukazuje při každém desítky minut trvajícím upgradu, během kterého se počítač několikrát restartuje – pokud rovnou nevytuhne.
To, že je vývoj „roztříštěný“, je obrovská výhoda – to je princip evoluce, zkouší se najednou spousta různých možností, a na těch, které se nejlépe osvědčí, se staví dál. Kdyby nebylo roztříštěného vývoje, máme na Zemi stále jen jednobuněčné organismy.
O vzdálený přístup na úrovni grafické knihovny není zájem, nemají to tak ani Windows, ani MacOS, ani Android, ani iOS. Je v pořádku, že se obětovala funkcionalita, o kterou je minimální zájem, je velmi komplikovaná na implementaci a dá se pohodlně nahradit přenosem vyrendrované obrazovky, jako to dělají ty výše uvedené systémy. Netuším, proč je podle vás Wayland nejhorší řešení na trhu, ale Wayland se rozhodně nevyvíjí desítky let.
Ad Počty zranitelností... o bezpečnosti to neříká vůbec nic - Aha. Takže když má samotný kernel Linuxu víc zranitelnost než celé Windows 10, tak to podle vás říká, že bezpečnost s Windows nedáte, kdežto Linux je v pohodě. Nepřijde vám na takovém názoru něco lehce špatně? ;)
Ad Windows přístupová oprávnění dolepená dodatečně spolu se spoustou různých hacků, aby fungovaly aplikace, které nikdy s přístupovými oprávněními nepočítaly - mýlíte se. Window řady NT mají od první verze ACL, kdežto na Unixech jsou tradiční omezené bitmasky, a k tomu v systému může a nemusí být implementace ACL podle nějakého POSIX draftu. Windows NT používaly challenge-response autentizaci, když se na Unixech ještě považoval za zlatý standard telnet + ftp. NFS starších verzí "autentizovalo" uživatele zadáním UID a GID. Unixový bezpečnostní model není ničím výjimečný. Jinak aplikace psané pro Windows 9x snad už dneska řešit nemusíme...
Ad operační systémy, které jsou koncepčně modernější, než Windows (Android, MacOS, linuxové kontejnery) - v čem konkrétně je modernější Android? V tom že je to nejděravější systém vůbec, doslova bezpečnostní katastrofa? V tom že má Google špatnou technologii i hloupou licenční politiku, takže se na veliké procento zařízení vůbec nedostanou patche? Android je tak úžasně skvělý, že se ho Google brzo zbaví, a píše za tím účelem od základu nový Fuchsia OS.
MacOS má poměrně dobré API, ovšem s Unixy nemá technicky společného o moc víc, než třeba Windows Services For Unix. Kernel je frankensteinovský hybrid Machu, BSD a IO Toolkitu. Zbytek API, tedy všechno co je na MacOS opravdu zajímavé, je naprosto neunixové a pochází to z NeXT OS.
Linuxové kontejnery snad nejsou OS, a virtualizaci včetně Windows Server Containers a Dockeru najdete i ve Windows.
Ad Ano, X11 se do dnešní doby nehodí, ale naštěstí tu máme ten „roztříštěný“ vývoj, takže se jedna komponenta nahradí jinou a jede se dál - X11 se nehodí nejen do dnešní doby. Byla to technická katastrofa už před pár dekádami. Vývoj náhrady trval celé ty dekády, a ta náhrada je daleko horší řešení, než jaké má Windows nebo Mac. Navíc nestačí vyměnit jednu komponentu. Vyměníte X11 za Wayland, ale je také potřeba vyměnit Qt, GTK a ostatní toolkity, a často i aplikace nad nimi postavené. A jak už jsem psal, nemáte pak použitelné řešení pro vzdálený přístup, a grafické API je stejně tragické, jako před mnoha dekádami.
Ad výhoda monolitických Windows se ukazuje při každém desítky minut trvajícím upgradu, během kterého se počítač několikrát restartuje, pokud rovnou nevytuhne - To si pletete s Linuxem, ten má monolitický kernel :). Ve Windows upgrade OS nějakou dobu trvá, ale upgrade distra Linuxu také trvá. Rozdíl je hlavně v tom, že upgrade Windows funguje, a když už náhodou selže, tak se instalátor vrátí k předchozímu stavu. Na Linuxu upgrade distra často končí tak že skončíte (v lepším případě) na command line s nepoužitelným systémem. A i když se všechno povede, tak vám půlka věcí nepojede.
Ad To, že je vývoj „roztříštěný“, je obrovská výhoda - Jo, obrovská. Jednotlivá distra se liší kernelem, drivery, dostupným API, strukturou FS, způsobem správy služeb, dostupnými API, a samozřejmě i UI. Přičtěte k tomu to že balíčky jsou pro konkrétní verze konkrétního distra, nové verze dister vycházejí co pár měsíců, API poskytované systémem má tristně málo funkcionality (která se liší mezi distry), dokumentace je tragická a člověk jí musí shánět po všech čertech, atd. Považujete to za ideální situaci pro vývojáře? Nebo pro uživatele? Pro admina? A pokud ne pro ně, tak pro koho to tedy vlastně má být výhoda?
Ad O vzdálený přístup na úrovni grafické knihovny není zájem, nemají to tak ani Windows, ani MacOS, ani Android, ani iOS. Je v pořádku, že se obětovala funkcionalita, o kterou je minimální zájem, je velmi komplikovaná na implementaci a dá se pohodlně nahradit přenosem vyrendrované obrazovky, jako to dělají ty výše uvedené systémy - Opět se mýlíte. Windows přenášejí pomocí RDP protokolu informace potřebné k vykreslení obrazu na straně klienta, a to v závislosti na tom, co klient umí. Když umí klient jen nakreslit bitmapu (to by případ starých open source RDP klientů), tak mu server všechno předrastruje. Když umí polygony, čáry a barevné přechody, tak mu server pošle tyhle operace, pokud v daném případě není výhodnější poslat bitmapu. Když umí i kreslit písmena, dostává instrukce ke kreslení textu. K tomu má RDP podporu clipboardu včetně přenášení souborů, tisku, přihlašování přes smart cards, USB klíčenek a dalších externích zařízení, zvuku, umí přehrávat video atd. Mimochodem podobnou technologii používá Citrix. A původně se instrukce ke kreslení posílaly i u X11 protokolu, akorát s hromadou zbytečných round tripů (takže to bylo naprosto nepoužitelné), a používané operace byly s časem čím dál víc mimo, takže z nich nakonec zbyl právě tak ten přenos vyrastrované bitmapy. Z toho že Linux něco dělá opravdu špatně nemůžete ještě soudit, že po dané věci není poptávka. Ona spíš není poptávka po Linuxu na desktopu, protože spoustu věcí dělá špatně.
Ad Netuším, proč je podle vás Wayland nejhorší řešení na trhu, ale Wayland se rozhodně nevyvíjí desítky let - Protokol X11 je desítky let zastaralý, a během té doby vznikla řada snad ho nahradit. Mimo jiné X12, Y Window System, Wayland, Mir. Samotný Wayland je 9 let starý, což je neskutečně dlouho, s ohledem na to kolik toho (ne)umí.
A proč je to nejhorší řešení na trhu? Wayland by podle mě měl poskytovat API pro kreslení grafických primitiv, tedy polygonů, koleček, barevných přechodů, fontů atd. Tím by se výrazně zjednodušila tvorba toolkitů; pak jsou toolkity jen wrappery nad tím API pro kreslení primitiv, a k tomu knihovny dialogů. Koukněte se na Windows GDI, OS/2 GPI/PM, Apple Quartz. Všechny tyhle systémy na jedné straně poskytují API pro kreslení, a na druhé straně mají drivery zařízení (obrazovek, tiskáren). Toolkity (pokud je použijete) nemusí řešit jak nakreslit kolečko a vyrastrovat písmenko, natož aby to musely řešit pro X11, Wayland, PDF, PS, OpenGL, DirectFB atd.
Akorát Linux to má jak to má, protože psát aplikace pro X11 bylo prakticky nemožné, a vývoj X11 zamrzl (jak Unixové). Proto vznikly hromady různých toolkitů, které dělají prakticky totéž: řeší jak nakreslit kolečko pomocí deseti různých API (Xlib, XCB, PS, OpenGL, glitz, DIB, PNG, PDF, DirectFB, SVG). Samozřejmě má každý toolkit jiné dialogy a jiné rastrování fontů, asi aby celý desktop vypadal jednotněji :/. S odchodem X11 byla možnost tenhle chlév vymést, a udělat jedno grafické API, které by se staralo o zobrazování i tisk. Bohužel těch pár dekád asi nebylo dost času, takže má Linux opět nejhorší možnou technologii.
Ad to je princip evoluce, zkouší se najednou spousta různých možností, a na těch, které se nejlépe osvědčí, se staví dál - Kdepak. To je způsob, jak Pejsek a Kočička vařili dort :). Kdyby Linux nepřevzal většinu POSIXu, tak by měl každý z těch desítek FS vlastní API pro práci se soubory, a nad tím byste si nejspíš pak napsali alespoň deset "IO toolkitů", ze kterých by každý poskytoval trochu odlišné API aplikacím. Nejlépe bez zpětné kompatibility, bez stabilního ABI a bez stabilního API, a dokumentací je přece zdroják :). Přiznejme si to: Linux se vyvíjí naprosto chaoticky, a je to velký problém pro vývojáře, adminy i uživatele.
Nepsal jsem, že menší počet zranitelností znamená menší bezpečnost, to jste si vymyslel. Psal jsem, že počet evidovaných zranitelností o bezpečnosti nevypovídá. Nebo když budete u trezoru evidovat tři zranitelnosti a u krabice od bot jednu, znamená to podle vás, že krabice od bot je třikrát bezpečnější než trezor?
Ano, Windows NT mají ACL od začátku, o tom jsem ale nepsal. Aplikace psané pro Windows 9x řešit nemusíme, ale aplikace psané pro novější Windows na tom nejsou s přístupem k bezpečnosti o mnoho lépe.
Android je modernější v tom, že jednotlivé aplikace jsou oddělené, takže třeba webový prohlížeč nemůže lézt do dat e-mailového klienta nebo bankovní aplikace.
Linuxové kontejnery jsou součástí jádra. Docker pro Windows má jen velmi omezené možnosti.
Qt, GTK ani aplikace měnit nemusíte. Řešení pro vzdálený přístup je stejné, jako používají třeba Windows – přenáší se (komprimovaný) vyrenderovaný obraz.
Linux má monolitický kernel, Windows mají také monolitický kernel a k tomu ještě nalepených spoustu dalších věcí, které od jádra prakticky nejde oddělit. Upgrade linuxové distribuce netrvá, prostě se třeba jednou za den nainstalují nové verze, a pokud je mezi nimi i nové jádro, je potřeba počítač restartovat. Přičemž ten restart je jediná doba, kdy není možné počítač normálně používat. Je dobře, že Microsoft konečně dělá upgrady Windows automaticky, ale na to, ak jsou tu Windows 10 krátce a na jak málo počítačích jsem je řešil, jsem se až příliš často setkal s tím, že upgrade zamrznul a bylo nutné natvrdo vypnout počítač. Že se to nakonec po několika hodinách restartů a tvrdých vypnutí samo uvede do použitelného stavu je sice hezké, ale tvrdé vypnutí počítače jako jediná možnost „opravy“ mi nepřipadá jako nejlepší způsob. S Linuxem se mi nikdy nic takového nestalo.
Nejprve si vymyslet, jak by něco podle vás asi vypadalo, a pak to rozcupovat na kousíčky, to je opravdu mistrovský diskusní kousek. Ale beru to tak, že nic skutečného ke kritice nemáte, tak si musíte vymýšlet.
Ad když budete u trezoru evidovat tři zranitelnosti a u krabice od bot jednu, znamená to podle vás, že krabice od bot je třikrát bezpečnější než trezor? - Proto jsem srovnával počet bugů v celých Windows 10 proti kernelu Linuxu. Kernel Linuxu je triviální i ve srovnání s kernelem Windows, natož s celými Windows. Ve vašem srovnání má celý trezor A méně zranitelností, než pouhý zámkový mechanismus B.
Aplikace psané pro novější Windows jedou pod restricted accounty, s pár výjimkami, kde autoři něco zprasili (SW může psát kdokoliv). Bezpečnostní katastrofou jsou primárně třeba browsery, které sice zpracovávají pár set tagů, ale díky překotnému vývoji (a stavu celého IT průmyslu) mají stovky zranitelností ročně.
Ad Android je modernější v tom, že jednotlivé aplikace jsou oddělené, takže třeba webový prohlížeč nemůže lézt do dat e-mailového klienta nebo bankovní aplikace. - sandboxované aplikace najdete ve Windows Store, existuje i poměrně komplexní Win32 sandboxing. Samozřejmě sandboxing z principu věci přináší aplikacím jistá omezení, tak jako na Androidu nebo iOS.
Ad Linuxové kontejnery jsou součástí jádra. Docker pro Windows má jen velmi omezené možnosti - Můžete být konkrétnější? Jinak Docker je na Windows portovaný. Nativní jsou Windows Server Containers. Jaká je podpora Windows Server Containers na Linuxu? Aha.
Ad Qt, GTK ani aplikace měnit nemusíte - jak se tedy podle vás naučí Qt a GTK komunikovat s Waylandem? Leda přes XWayland. A těch problémů při použití Waylandu je pořád víc než dost. Postupně se vychytávají na úrovni toolkitů a aplikací.
Ad Řešení pro vzdálený přístup je stejné, jako používají třeba Windows, přenáší se (komprimovaný) vyrenderovaný obraz - To je naprostá smyšlenka. Poměrně podrobně jsem vám popsal, jak to funguje ve Windows. Pod Waylandem máte k dispozici leda přenos těch komprimovaných bitmap (funguje to už konečně?), což je příšerně neefektivní. X11 je katastrofa, a Wayland je too little too late, zmařená šance ten chlév vykydat. K celému tomu SNAFU s API a toolkity jste se nevyjádřil, takže nevím co si o tom myslíte.
Ad Linux má monolitický kernel, Windows mají také monolitický kernel - ale kdepak. Windows používají modifikovaný mikrokernel. Samotný kernel je maličký, a k němu se dynamicky linkuje Hardware Abstraction Layer, file systemy, drivery, Executive a spousta dalších věcí. Oddělit se toho dá spousta, což můžete vidět třeba u Windows Phone/Mobile a Windows IoT.
Ad Upgrade linuxové distribuce netrvá, prostě se třeba jednou za den nainstalují nové verze - jedna věc je update, druhá věc upgrade. Update je typicky kratší. Na Linuxu se samozřejmě nekontroluje co je na disku, a spoléhá se na konfigurační databázi. Navíc se nahrazují běžící soubory, což je potenciální problém, protože se vám do příštího rebootu mohou míchat datové soubory a binárky různých verzí.
Zamrzlý upgrade Windows jsem ještě neviděl, ale je to IT, takže je možné všechno :). Naopak to že selže do-release-upgrade (případně dist-upgrade) jsem viděl několikrát, a zjevně je to spíš pravidlo než výjimka.
Proto jsem srovnával počet bugů v celých Windows 10 proti kernelu Linuxu.
Problém je ovšem v tom, že pořád vůbec nevíte, co srovnáváte. Porovnáváte něco, čemu byl přiřazen nějaký identifikátor, ale nevíte vůbec nic o závažnosti. Je to jako kdybyste ze srážky auta s motorkou vyvozoval, že motorka je mnohem bezpečnější, protože motorkář měl jenom jedno zranění, zatímco v autě bylo těch zranění dvacet. A že ta zranění v autě byly jen odřeniny, zatímco motorkář to své jediné zranění nepřežil? No co, to je zanedbatelný detail.
Jinak Docker je na Windows portovaný.
Ano, o tom jsem psal. Můžete si vybrat, zda chcete použít Windows Server Core nebo Windows Server Nano. Které samozřejmě poskytují jen velmi omezenou funkcionalitu. Nebo už je podporováno něco dalšího?
Jaká je podpora Windows Server Containers na Linuxu?
Proč by na Linuxu mělo být něco takového podporováno?
jak se tedy podle vás naučí Qt a GTK komunikovat s Waylandem? Leda přes XWayland.
Vážně si myslíte, že jediná možnost komunikace s Waylandem je XWayland? Nenapadlo vás, že pak by celý Wayland byl asi k ničemu? A jak podle vás komunikuje Qt a GTK s Windows UI API? Přes X protokol?
Ad Linux má monolitický kernel, Windows mají také monolitický kernel - ale kdepak. Windows používají modifikovaný mikrokernel. Samotný kernel je maličký, a k němu se dynamicky linkuje Hardware Abstraction Layer, file systemy, drivery, Executive a spousta dalších věcí. Oddělit se toho dá spousta, což můžete vidět třeba u Windows Phone/Mobile a Windows IoT.
Aha, když to má Linux, je to monolitický kernel, ale to samé u Windows se nazývá modifikovaný mikrokernel. Linux má také dynamicky linkované moduly, víte? Když píšete o Windows Mobile, možná jste zaslechl něco o Androidu – to je Linux na mobilních telefonech. Ale v té miniaturizaci klidně můžete pokračovat – podívejte se, kam všude se dá dostat OpenWRT.
jedna věc je update, druhá věc upgrade
Nemusí být. Existují rolling release distribuce, kde se prostě jen updatuje.
Ad Porovnáváte něco, čemu byl přiřazen nějaký identifikátor, ale nevíte vůbec nic o závažnosti. - Jistě, protože závažnost se celkem špatně srovnává. Ale jestli máte lepší data, než je počet zranitelností, tak se na ně rád kouknu.
Ad Můžete si vybrat, zda chcete použít Windows Server Core nebo Windows Server Nano - Ano, kontejnery jsou určené pro čistě serverový provoz, a to pokud možno stateless aplikací, plus by to mělo být trusted prostředí (jinak jsou lepší Hyper-V kontejnery). Protože jde o serverový provoz, a navíc stylem cattle not pets, tak nevidím použití Server Core / Nano Server jako nějak zásadně omezující.
Ad Jaká je podpora Windows Server Containers na Linuxu; Proč by na Linuxu mělo být něco takového podporováno? - Proč se tedy pozastavujete nad tím, co Docker podporuje nebo nepodporuje na Windows?
Ad Vážně si myslíte, že jediná možnost komunikace s Waylandem je XWayland? - Tvrdil jste, že stačí vyměnit jednu komponentu (v tomto případě zjevně X11 za Wayland). Pokud při takové změně není potřeba měnit nic na straně frameworků typu Qt a GTK, tak nevidím jinou možnost, než jet přes XWayland. Samozřejmě pokud uděláte to co jsem psal, tedy zavedete do toolkitů podporu tisícího prvního způsob kreslení kolečka :/, a aktualizujete aplikace které mají nečekaně problémy (plus přepíšete ty které používají obskurní nebo žádné toolkity), tak máte vyřešeno.
Ad když to má Linux, je to monolitický kernel, ale to samé u Windows se nazývá modifikovaný mikrokernel - Ano, Linux podporuje dynamické natahování modulů. Jenže nemá ani stabilní ABI, takže moduly musí být přeložené proti konkrétnímu kernelu. Takže je to malý krok směrem k tomu, co dělají NT odjakživa.
Navíc zrovna Linux má kernel, který je od začátku špatně navržený. Některé věci se po letech povedlo opravit, ale opět je to styl pejsek a kočička vaří dort. Stačí se podívat na historii BKL a jeho odstraňování, nebo na historii zavádění threadingu. A nakonec je to vidět i na tom vzrůstajícím počtu zranitelností a regresí. Jak se přidává funkcionalita, tak se tenhle kernel díky špatným designovým rozhodnutím čím dál hůř rozvíjí i udržuje.
Porovnávat něco na základě nesmyslného ukazatele je nesmyslné. Pokud něco porovnat neumíte, tak netvrďte, že jedno je lepší než druhé.
Proč se tedy pozastavujete nad tím, co Docker podporuje nebo nepodporuje na Windows?
Já jsem se nad ničím takovým nepozastavoval. Já jsem jenom poukazoval na to, že asi linuxové jádro nebude takový zastaralý nespravovatelný moloch oproti Windows, jak tvrdíte vy, když do linuxového jádra bylo možné přidat plnohodnotnou podporu kontejnerů, které fungují napříč celým systémem, zatím co Windows něco takového stále nemají.
Navíc zrovna Linux má kernel, který je od začátku špatně navržený. Některé věci se po letech povedlo opravit, ale opět je to styl pejsek a kočička vaří dort. Stačí se podívat na historii BKL a jeho odstraňování, nebo na historii zavádění threadingu. A nakonec je to vidět i na tom vzrůstajícím počtu zranitelností a regresí. Jak se přidává funkcionalita, tak se tenhle kernel díky špatným designovým rozhodnutím čím dál hůř rozvíjí i udržuje.
No jo, jenže linuxový kernel se dál rozvíjí, funguje v routerech s minimem paměti, v mobilních telefonech, ve stolních počítačích i superserverech. Windows fungují akorát na stolních počítačích a serverech, všechna ostatní využití Microsoft sám odpískal. A vývoj Windows se také zastavil, už se dělají jen bezpečnostní záplaty a drobná zlepšení mimo samotné jádro.
Počet nalezených zranitelností není dokonalá metrika, ale za mě má velkou váhu. Těžko tvrdit, že když má systém víc zranitelností, tak je bezpečnější.
Ad asi linuxové jádro nebude takový zastaralý nespravovatelný moloch oproti Windows, jak tvrdíte vy, když do linuxového jádra bylo možné přidat plnohodnotnou podporu kontejnerů, které fungují napříč celým systémem, zatím co Windows něco takového stále nemají - Ono se dá zbastlit lecos :). Pokud jde o "fungování napříč celým systémem", tak to asi není až tak dobrý nápad. Například přístup k X11 serveru znamená, že "sandboxovaná" aplikace může poslat do terminálu rm -rf /
Ad linuxový kernel se dál rozvíjí, funguje v routerech s minimem paměti, v mobilních telefonech, ve stolních počítačích i superserverech. Windows fungují akorát na stolních počítačích a serverech - Windows fungují ve všem od medicínských zařízení (WinCE i WinNT) přes jeřáby (WinCE), izraelský Iron Dome, systémy lokalizace střelby Boomerang (WinCE), routery (WinCE i Win), mobily (WinCE i WinNT, řada Lumia), herní konzole, tablety, notebooky a desktopy, servery i výpočetní clustery. Některé způsoby nasazení mají komerčně smysl, a jiné ne. Předpokládám že třeba model "dáme všem zdarma zdroják, ať na tom postaví hromadu děravého šrotu s naším logem, a peníze za to nechceme" asi v MS moc nechtějí, na rozdíl od Googlu.
Pokud se vrátíme zpátky ke kernelu, tak kernel Linuxu je prostě technicky od začátku dost katastrofa. Samozřejmě chápu, že jeho dostupnost a nulová cena jsou pro některé aplikace přitažlivé aspekty. Na počtu zranitelností a počtu nezáplatovaných (a nezáplatovatelných) zařízení je celkem jasně vidět, kam takový přístup směřuje.
No já nevím, jestli je výsledek nějak lepší. MSIE svého času uměl věci, o kterých si konkurence mohla nechat zdát: Single Sign On, co čemu se dneska říká AJAX, filtry, embedding fontů, centrální správu konfigurace browseru přes GPO atd. Ovšem když MS vyhrál, tak zaspal, a konkurence ho časem dohonila a předhonila.