Ten wpis i tak jest przeraźliwie długi, nie chce mi się linkować do definicji używanych pojęć (od czego wujek google), a już tym bardziej do źródeł z których wiem w jaki sposób np. power management, albo WiFi ssie w Linuksie. Ale to zazwyczaj wystarczy poszukać prezentacji maintainerów tychże podsystemów. Oni wiedzą najlepiej co jest źle. Przykład. I dla niekumatych: ja w tym tekście w żaden sposób nie krytykuję niedesktopowych zastosowań Linuksa. A, i jeszcze polecam przeczytać to.
Im jestem starszy, tym bardziej szanuję swój czas i tym większą mam ochotę używać optymalnie dopasowanych narzędzi. Czyli np. przestać używać Linuksa na desktopie, bo prawda jest taka, że, w porównaniu do konkurencji, technicznie wypada dosyć blado.
Zaawansowane zarządzanie energią (aka hibernacja i pochodne)? Raz działa, raz nie działa, sterowniki często nie mają obsługi niczego poza on/off (a Vista afaik jest bardziej bateriooszczędna od Linuksa). Dźwięk? Podstawowy zazwyczaj działa, ale alsa jest wybitnie głupio zrobiona (próbował ktoś kiedyś wykombinować co robią różne ustawienia w mixerze?) i dalej wszyscy jeżdżą na różnych demonach dźwięku. O jakimś standardzie dla kodeków nie wspomnę. WiFi? Jak działa, to dobrze, jak nie, to masz pecha, bo pewnie nie ma dla ciebie sterowników. Obsługa 3D? Hahaha. Xorg jest sto lat za murzynami (i to prawie we wszystkim), binarne sterowniki supportują co chcą (a w ATI pewnie dalej nie działają), kernel dopiero zaczyna mieć jakieś ficzery pozwalające mu nad tym wszystkim zapanować (i nie wiadomo, czy nvidia i amd będą z tego korzystać), a konkurencja od X lat traktuje to wszystko jako oczywiste ficzery. Obsługa różnych dodatkowych urządzeń? Jak trafisz na coś supportowanego, to git, jak nie, no to pech. Rosyjska ruletka z kupowaniem jakiegokolwiek osprzętu, a przy kupowaniu laptopa to tylko z listą supportowanego sprzętu w garści.
Część z tych rzeczy to po prostu opóźnienia w rozwoju (głównie Xorg), na część natomiast jest albo za późno (ktoś ma ochotę poprawiać alsę? albo dalej twierdzić, że gstreamer wszystko rozwiąże? ile to już lat?), albo są nieuniknionymi konsekwencjami metodologi open source. Prawda jest taka, że dla producentów sprzętu/użytkowników binarne sterowniki i nieczęsto updejtowane Windowsy są zdecydowanie tańsze w supportowaniu/wygodniejsze, więc nie ma i nie będzie masowego ich otwierania. Z czego wynika, że dla rozwiązań desktopowych Linux będzie zawsze gorzej supportowany, bo zawsze będzie spora część rynku preferująca binarki. Producent może stworzyć sprzęt, napisać sterowniki, przetestować na dosłownie kilku dostępnych na rynku Windowsach, dopisać proste GUI i wsio. Na Linuksie (a) musisz mieć otwarty kod, czyli tajemnica handlowa /dev/null (tajemnica handlowa jest znacznie starsza od Linuksa i, niezależnie od życzeń Linuksiarzy, producenci raczej nie zaczną z niej rezygnować), (b) produkowanie własnego oprogramowania do obsługi sprzętu jest kompletnie niepraktyczne, więc obsługa twojego sprzętu będzie tylko do tego stopnia przyjazna, do jakiego pozwala obecny stos softu danego typu. Czyli zazwyczaj średnio na jeża albo wcale (alsa i jej intuicyjny mixer? karty 3d i zaawansowane ustawienia 3d? nie wiem, kamera i jakieś niestandardowe ficzery? wszystko padaka).
Oczywiście spora część z tych problemów zostanie rozwiązana, gdy Linux na desktopie się odpowiednio rozpędzi i producenci będą zmuszeni go supportować. Tyle, że to się nie stanie. Linux na desktopie technicznie jest sto lat za murzynami, a fajne programy open source albo już od dawna są (Firefox), albo niedługo będą (KDE-pochodne) miały porty pod Windowsa i OS X. Więc niby z jakiego powodu rynek masowy miałby wybierać desktopy linuksowe? Bo KDE4 ma fajny zestaw programików do groupware? Niedługo będzie dostępny pod Windowsy.[1] Coś jeszcze? Czy naprawdę istnieją jakieś konkretne podstawy, żeby przypuszczać, iż desktopowy Linux osiągnie masę krytyczną?
([1] I jest to afaik także prawda w przypadku typowo linuksowatych narzędzi deweloperskich. Obecnie da się spokojnie postawić linuksowe środowisko deweloperskie z desktopem na nielinuksie. ssh/vnc/sieciowe x11/samba to twoi przyjaciele.)
Natomiast w drugą stronę przewaga jest miażdżąca. Konkurencja zawsze ma soft state-of-the-art, a Linux albo całkiem sensowną alternatywę (dostępną także na systemy konkurencji...), albo popłuczyny (photoshop anyone?), albo zupełne nic (rynek gier hahaha).
Nadganianie tego typu zaległości jest możliwe jeśli się ma bardzo dużo wykwalifikowanej i skupionej na konkretnym celu kadry oraz wytworzy odpowiedni ekosystem tworzenia wysokiej klasy oprogramowania dla danego systemu. Microsoft ma tony kasy i tysiące inżynierów, więc może sobie pozwolić na przepisanie systemu grafiki w Viście od zera. Dodatkowo wytworzył gigantyczny ekosystem zewnętrznych firm, które sporo zarabiają na produkowaniu softu pod Windowsy (takie Adobe małą firmą nie jest). Linux ma: brak nawyku płacenia za cokolwiek (ekosystem możemy pożegnać), gigantyczną ilość dystrybucji praktycznie uniemożliwiającą wydawanie binarnych wersji softu oraz stosunkowo niewielką ilość rzeczywiście wykwalifikowanych inżynierów, którzy jeszcze zazwyczaj robią to samo po kilka razy (KDE vs. GNOME, PulseAudio vs. gstreamer vs. czysta alsa, chyba z dwa podejścia do nowej generacji sterów 3d w xorgu, gigantyczna ilość różnych dystrybucji, etc.). W takich warunkach można zapomnieć o dogonieniu kogokolwiek.
Heh, ja sam używam dystrybucji o której słyszał jakiś ułamek promila użytkowników Linuksa. I lubię jej używać ze względu na pewne specyficzne rozwiązania techniczne, czyli głównie poldka i duże rozdrobnienie paczek, ale tak naprawdę to się bardzo dobrze sprawdza tylko na serwerach i w niewielkich specjalizowanych środowiskach (w pracy parokrotnie używałem PLD-owych chrootów), a na desktopie jest wybitnie upierdliwe. Desktopy są znacznie bardziej skomplikowane od serwerów i jeśli mam KDE rozparcelowane na 700+ pakietów (a mam :), to można zgłupieć. A do tego dochodzi jeszcze zatrzęsienie różnych dodatkowych bibliotek i demonów do obsługi różnych rzeczy. Hal, policykit, cośtamkit, acpid, serwer dźwięku (który?), bluetooth, coś do wifi, xorg (też 700 paczek :), czcionki i co tam jeszcze. Oszaleć można. Nawiasem mówiąc ciekawym czym się teraz obsługuje WiFi z GUI? Pewnie jakąś nakładką KDE-ową na NetworkManagera (bo przecież nie można napisać po prostu NetworkManagera, tylko trzeba oddzielić backend od frontendu i napisać co najmniej dwa frontendy, jeden dla GNOME, drugi dla KDE; żeby nie było za prosto).
(Może powinno zostać jakimś oficjalnym policy PLD, że desktop ma niższy priorytet, niż serwer? Kto wie, może mogłoby to ułatwić pewne rzeczy.)
Więc o ile PLD może mi dodawać pewną wartość na serwerach (poldek, sposób pakietowania, domyślne konfigi, unifikacja względem FHS i takie tam), o tyle na desktopie praktycznie nie ma na to szans, a wręcz przeciwnie -- takie Ubuntu jest znacznie lepiej zintegrowane, przetestowane i zjada mniej czasu (dlatego staram się upgrejdować swojego laptoka tylko wtedy, gdy naprawdę muszę, bo zawsze coś się pieprzy przy okazji). Dodatkowo w takim Ubuntu Mark Shuttleworth może powiedzieć, że chce obrać kierunek rozwoju X, sypnąć groszem na ludzi to implementujących no i jakiś tam cel zostaje osiągnięty. W projekcie typu PLD jest to możliwe na znacznie mniejszą skalę (np. FHS), na pewno nie desktopową. Nie może przyjść "lider" i powiedzieć, że robimy X, bo go wszyscy oleją. A w Debianie to już w ogóle są cyrki (widzieliście jakie oni flejmy generują o wszystko? porn-geta na przykład, czy ten aplet do monitorowania zużycia CPU z rozbierającą się kobitą). O sensownym quality control można w PLD zapomnieć. Windows się wydaje raz na ruski rok, to się przy okazji mocno przetestuje, Ubuntu raz na pół roku plus Ubuntu ma ludzi od testów, a PLD ma deweloperów, którym się takich rzeczy robić nie chce (mi też się nie chce).
Pytanie: co zamiast? Na pewno nie zrezygnuję z Linuksa na serwerach -- raz, że nic mnie nie kosztuje, dwa, że lubię swoje PLD i trzy -- zawodowo jednak zajmuję się Linuksami, więc muszę mieć bieżący z nimi kontakt. Ale na desktopie? Albo Vista albo OS X. (Oczywiście nie teraz, tylko jak mi laptop padnie i będę musiał kupić nowego. Obecny by Visty nawet nie uciągnął.)
Główna zaleta Appla -- jest uniksowaty, więc mi bardziej po drodze (większość moich obecnych narzędzi po prostu się buduje i działa, bez jakiś akrobacji). Główna wada Appla -- nie mam go jak najpierw przetestować, a kupować muszę od razu ze sprzętem Appla, który jest afaik drogi (i jest go mniejszy wybór, niż standardowych intelowatych). W przypadku Windowsa Vista mam laptop dziewczyny z tymże, więc mogę sobie testować do woli (o czym będą inne wpisy; materiał do wpisu o Firefoksie mam już gotowy, więc się za jakiś czas pojawi, ale do tego od Visty nie).
Inne problemy:
1. Wirusy. W OS X afaik nie problem, ale w Viście jednak wypadałoby mieć jakiegoś antywira. Nie lubię mieć antywirów, jestem przyzwyczajony do braku konieczności ich posiadania. Z punktu widzenia odporności na wirusy kompletny chaos ABI w zatrzęsieniu dystrybucji Linuksa to zaleta.
2. Upgrejdy systemu. Upgrade poldkiem jest upierdliwy, ale prawda jest taka, że swoje desktopy upgrejduję po parę lat bez żadnych reinstalek i po kilku poprawkach zawsze prawie wszystko działa (teraz np. mam wkurzające problemy przez niedorobiony evdev w xorgu). Nie sądzę, żebym przeżył niereinstalkowy upgrade XP do Visty. Nie wiem jak z OS X. Z drugiej strony na raz wydaną Vistę przez następne wieeeele lat wychodzi soft, który można sobie po prostu upgrejdować. Na PLD jak robisz za długie przerwy, to później nowy python wymaga 70% nowego systemu (bo openldap pociągnął coś, co wymaga ixów, ixy są już nowe, więc całe kde i wszystko graficzne trzeba zassać, etc...; i chciałeś nowego pythona, a przy okazji dostałeś rozwalonego evdeva). Mnie od dawien dawna nie podnieca gonienie za numerkami (czego w znacznej mierze nauczyła mnie upierdliwość upgrejdów w PLD), więc Vista by mi tu pewnie bardzo pasowała. Ba, dalej używam KDE3.5, bo mnie przeraża KDE4.
3. Gnicie systemu. Na PLD problemu nie ma, bo poldkiem i rpm-em mam kontrolę nad wszystkim i jak mi się zrobi za dużo śmiecia, to po prostu wyinstalowywuję co chcę, jadę prostym skryptem po zagubionych plikach i mam czysto (jak mówiłem, mogę po parę lat robić upgrejdy całego systemu praktycznie bez nieprzyjemnych skutków ubocznych; wymagają tylko trochę czasu). Nie wiem jak z Applami, ale afaik Vista nadal sobie z tym problemem nie poradziła. Znajomy m.in. przez to ostatnio wrócił do XP, a laptop mojej dziewczyny zamyka się teraz po kilka minut. Dla mnie to jest naprawdę problem, ja jestem bardzo przywiązany do faktu, że PLD daje mi pełną kontrolę nad wszystkimi plikami w systemie (które do tego są uporządkowane; viva la FHS, viva la patche w PLD) i będę miał poważne problemy ze zrezygnowaniem z tego ficzeru. Ten brak kontroli na najbardziej podstawowym poziomie to jest główny powód dla którego nie lubię dotykać Windowsów. Z drugiej strony -- przy tych setkach pakietów desktopowych to ja i tak zazwyczaj nie wiem co się w systemie dzieje.
4. W Windowsie (i OS X?) za sporo rzeczy jednak trzeba płacić. I to nawet za takie, które w Linuksie dostaję jako standardowe wyposażenie. Taka Vista jest bardzo słabo konfigurowalna w porównaniu do dowolnego Linuksa. Zazwyczaj są płatne narzędzia, żeby dodać brakującą funkcjonalność, ale są brzydkie, bo są płatne. Drażni mnie wydawanie kasy na coś, co uważam za podstawową funkcjonalność. Szczęściem jednak jest sporo softu open source tego typu pod Windowsy, ale nie wiem, czy wszystkie moje potrzeby byłyby zaspokojone. Tak czy siak o tym będzie osobny wpis (z serii "Jak zostać power userem" :).
Dobra, tyle. Tak jak pisałem, na pewno w tym momencie na żadną Vistę się nie przenoszę, co najwyżej przy zmianie laptopa. Ale nawet wtedy nie jest to przesądzone, gdyż (a) tak naprawdę cieszę się z faktu, że np. w nic nie gram i rzadko korzystałbym z ficzerów, których w Linuksie nie mam, (b) jakby co, to zawsze jest laptop dziewczyny; oby mnie nie zostawiła i (c) jednak jest zestaw ficzerów typowo Linuksowych do których jestem bardzo przyzwyczajony. Acz hgw jak te rzeczy wyglądają w OS X. Przy czym gdybym dziadkowi kupował nowy laptop, to pewnie wrzuciłbym Vistę, dał mu dostęp tylko do konta nieadminowego i nie miałbym z tym większych problemów, niż mam obecnie z jego PLD i GNOMEm (mam nadzieję; nie wiem jak z wirusami).
Jak komuś się chciało to czytać w całości, to gratuluję samozaparcia. Ja to muszę przeczytać jeszcze z dwa razy, żeby zrobić korektę przed publikacją. :(