piątek, 11 marca 2011

Trochę o konkurencji, trochę o rozwoju...

FUD. FUD never changes.

Parafrazując jeden z najbardziej znanych tekstów w historii gier komputerowych można także scharakteryzować sposób reakcji użytkowników Linuksa na kolejne doniesienia o zmianach w jego ulubionej dystrybucji. Do czego dążę? Może do tego, że jako fanowi KDE powoli odbiera mi się prawo dyskusji o tym czy podoba mi się nowe GNOME i nowe Unity. A prawda jest taka, że osoby, które twierdzą, że moje teksty są na szkodę Linuksa i GNOME, jeszcze nie tak dawno używały podobnych słów w stosunku do rozwijającego się KDE SC.


Ogólnie wygląda to tak, że kiedy nie spodobało mi się Ubuntu i jego "transformacja" GNOME przesiadłem się na Kubuntu, kiedy jednak zacząłem podawać powody tej przesiadki zostałem oskarżony o sianie FUD i zacząłem powoli słyszeć słowa: "jeśli nie używasz to się nie odzywaj, bo tylko szkodzisz". Oczywiście moi oponenci mieli na myśli fakt, że moje teksty o niedoskonałościach GNOME i Unity mogą odstraszyć potencjalnych użytkowników migrujących z Windowsa. Problem w tym, że z takim podejściem, użytkownik słyszący jaki to wspaniały jest Linux po jakimś czasie przekonuje się, że został nabity w butelkę i problem w tym, że tak namiętnie chroniona marka Ubuntu nie pozwala mu poznać alternatyw w tym KDE SC, a na portalach windowsowych pojawiają się komentarze na nowinki w GNOME/Unity w stylu "znowu się Linuksiki popisały".

Jestem świeżo po lekturze wpisu Marka Shuttlewortha, który na swoim blogu opisuje powody rezygnacji z tworzenia Unity dla desktopów i przeznaczeniu dotychczas rozwijanego pulpitu dla obu rodzajów rozwiązań (desktop/netbook). Jak zwykle przy okazji takich ogłoszeń Marka w mojej głowie jak bumerang powraca stara fraza "a nie mówiłem". Ostatnio tak mówiłem po rewelacjach z zeszłorocznego UDS na którym postanowiono o utworzeniu Unity także dla desktopów. Pisałem wtedy, że tak się nie da, bo to oznaczałoby powrót do dwóch paneli albo małpowanie rozwiązań z innych systemów. Oczywiście fani Ubuntu odżegnali mnie wtedy z czci i wiary i twierdzili, że Canonical ma jeszcze czas i na pewno zrobi także wersję odpowiednią dla desktopów. Teraz sam Mark przyznał się, że to jednak ja miałem rację, co ciekawe przedstawił to jednak w ciekawej formie, a mianowicie "nie rezygnujemy z pracy nad pulpitem dla desktopów, tylko ujednolicamy nazwy dla obu projektów, bo ta dla netbooków była za długa". Pozostawię to bez komentarza. Za to komentarzy udzielili chętnie fani Ubuntu, którzy uznali to za dobry krok.


Dodaję ten fakt do mojej listy rzeczy z serii "a nie mówiłem" i jak zwykle przechodzę do porządku dziennego czyli KDE SC. Twórcy Unity i GNOME tłumaczą swą decyzję faktem, że początkujący użytkownik może być rozkojarzony faktem istnienia kilku rodzajów pulpitów do wyboru, dlatego należy zadecydować za niego. Problem w tym, że takiego rozdwojenia jaźni nie mają użytkownicy KDE, którzy wybór pomiędzy wersją netbook i desktop posiadają poprzez Ustawienia systemowe. Dodatkowo nie ma problemu z ustawieniem obu wersji obok siebie przy pomocy Aktivity (Działań Plasmy) zamiast obszarów roboczych. Czyżby w GNOME się tego nie dało zrobić?
Pojawiła się też kolejna "Wojna o przyciski" w GNOME. Sam uważam, że takie rozwiązania są kiepskie nawet dla netbooków (podobnie jest w Plasma Netbook). Prezentacja okien jest dość efektowna i cieszy oko ale często bywa kłopotliwa (np. gdy chcemy dokonać wymiany danych pomiędzy oknami).

Wszystko jest jednak do naprawienia tylko, że KDE dostarcza w tym celu odpowiednie narzędzia w menedżerze okien, a GNOME zmusza użytkownika do grzebania w gconf, gdzie początkujący użytkownik nawet nie ma zamiaru się zapuszczać. No i czy wkrótce nie będzie tak jak w przypadku dystrybucji Canonical, że wkrótce ktoś zadecyduje o zamknięciu i tej funkcji (bo użytkownik się pogubi). Dodatkowo włączenie takiej funkcji z powrotem sprawi, że koncepcja pulpitu zasugerowana przez twórców będzie wtedy konkretnym bałaganem. Twórcy KDE wykazali się więc zdrowym rozsądkiem pozostawiając użytkownikowi samemu decydować o kształcie swojego pulpitu. I gdzie tu jest prawda o tej "słabej konfigurowalności" KDE?

Wracając do Marka, odniosłem wrażenie, że w swoim tekście używa on słowa "konkurencja" częściej niż przeciętny Polak innego słowa na "k". Słowo pojawiło się w internecie wraz z ostatnimi wydarzeniami z UDS, gdzie padło historyczne już "GNOME przyda się konkurencja". Wraz z tymi słowami został ukuty następny slogan Canonical - respect (uszanowanie), który podrzucił Jono Bacon. W pewnym momencie ktoś zapomniał o takich słowach jak: otwartość, wspólnota, wolność, które do tej pory charakteryzowały Linuksa.

Konkurencja jest fajna. Konkurencja wspomaga rozwój. Konkurencja jest bez sensu w świecie Linuksa. Linux nie jest komercyjny. Open Source nie jest komercyjne nie można więc w nim stosować typowych zasad konkurencji. Ponadto Linux to jeden i ten sam system, różne firmy po prostu rozpowszechniają go inną drogą (dystrybucja systemu). Wprowadzenie własnych rozwiązań nie jest już Open Source, więc nie jest Linuksem. Wprowadzenie tych samych rozwiązań w formie Open Source nie jest natomiast konkurencją, bo jest dostępne dla wszystkich konkurentów. O czym więc mówi Mark? Mark rozpoczyna w ten sposób konkurencję z Red Hat i nie jest to wbrew pozorom wypowiedzenie wojny, tylko podniesienie rzuconej rękawicy.

Nie jest tajemnicą poliszynela, że deweloperzy GNOME chętniej przyjmowali rozwiązania RH niż Canonical. Tak samo było z GNOME Shell. Wcześniej jednak Canonical wysunął poparcie dla Indykatorów Aplikacji i zaczął je stosować w swoim systemie. Pomysł jednak nie spodobał się deweloperom GNOME bo mieli już w planach tworzenie GNOME Shell, w którym te aplety nie spełniają swojej funkcji. Canonical jednak optował za dostępnością w GNOME biblioteki libappindicator, które ułatwiłyby dodanie takich apletów w GNOME w przyszłości. Twórcy GNOME sprzeciwili się temu twierdząc, że w obecnej sytuacji takie "dodatki" okazałyby się zbędnym śmieciem.


Sytuacja dość niejednoznaczna kto ma w tym sporze rację. Swój głos w tej sprawie zabrał także Aaron Seigo, jeden z liderów KDE, który stanął po stronie... Canonical. Chodzi o to, że projekt GNOME nie stworzył odpowiednich struktur współpracy z freedesktop.org, czyli społecznością tworzącą swoje rozwiązania z dala od dużych projektów. Takim projektem były właśnie appindicators. Canonical w takiej sytuacji postanowił przekonać użytkowników do swoich racji tworząc własny projekt. Jednocześnie zaczęto cichą wojnę mającą na celu pokazanie, że to własne rozwiązania są najodpowiedniejsze dla konkurentów.

To co się stało potem doświadczamy właśnie dzisiaj. GNOME Shell i Unity, które na początku miały być odmiennymi projektami zmierzają do kopiowania rozwiązań konkurenta. Dziś już ciężko nawet na screenach rozróżnić oba projekty. Jednocześnie oba projekty zamykają sobie drogę dla rozwiązań sugerowanych przez społeczność i co najgorsze ograniczają możliwości konfiguracyjne środowisk użytkownikowi, aby ten nie mógł przypadkiem dodać rozwiązań konkurencji.

Jednak kluczowym punktem w całej tej dyskusji jest właśnie współpraca z freedesktop.org i tu też przyszłość nie zapowiada się tak różowo. Często w sieci można spotkać stwierdzenia, że Unity w Natty to powrót do sytuacji, w której znajdowało się KDE po rozpoczęciu prac nad czwartą serią środowiska. Zarzuca się Canonical, że w tak krótkim czasie nie będzie w stanie dostarczyć stabilnego, a przede wszystkim w pełni funkcjonalnego środowiska pracy użytkownikowi. Ubuntu 11.04 będzie więc wielkim kredytem zaufania, który Canonical będzie próbował wziąć u swoich dotychczasowych użytkowników. Warto także wspomnieć o innej sytuacji, która spowodowała, że KDE w analogicznym okresie rozwoju straciło całą masę użytkowników. Opóźniające się wydanie stabilnego środowiska spowodowało odejście od niego całej masy deweloperów freedesktop.org i do tej pory można jeszcze słyszeć zarzuty ze strony dawnych użytkowników, którzy narzekają na brak portów ich ulubionych aplikacji z KDE 3. Nawet teraz można znaleźć całą masę pozycji, których obecność w KDE SC 4.x powinna być obowiązkowa. KDE jednak systematycznie stara się odrabiać te straty i proponuje nowe zamienniki.

Warto jednak się przyjrzeć czy podobna sytuacja nie grozi GNOME i Unity. Oba projekty zachowają co prawda "kompatybilność wsteczną" z takimi projektami, co kulało w KDE. Chciałbym jednak odnieść się znów do słów Marka o konkurencji. Dwa różne środowiska to praca nad niezależnymi projektami na dwa fronty. Ktoś może zarzucić, że tak naprawdę to przecież jedno GNOME z różnymi powłokami. Jednak należy wziąć pod uwagę, że programy głównie właśnie z powłoka potrzebują integracji. Widać to przede wszystkim w dążeniu deweloperów kolejnych odtwarzaczy muzycznych do integracji z apletem dźwięku. Oczywiście nie możemy tu mówić o sytuacji nagannej, jednak biorąc pod uwagę, że kształt Unity nie jest jeszcze ustalony ostatecznie i będzie przechodzić zmiany jeszcze przez dłuższy okres, zmusi to także inne programy do ciągłego obserwowania rozwoju Unity i dostosowywania swojej funkcjonalności do środowiska, które znajduje się w okresie ciągłych zmian. Tylko gdzie w tym momencie miejsce i czas na nowe opcje w tych programach.

Efekty konkurencji być może zobaczymy także w przypadku Compiza. GNOME Shell zaczęło ostatnio bojkotować ten projekt stawiając na Muttera. Compiz znalazł za to przychylne miejsce pod skrzydłami Canonical, gdzie dodano jego zmodyfikowano wersję. Oczywiście w tej chwili zdecydowano za użytkownika, który do tej pory miał do wyboru jakiego menedżera kompozycji użyje. Być może to się niedługo zmieni, gdy deweloperzy Compiza zadecydują, że zaczną wspierać Canonical i jego poprawki dla projektu, które mogą uniemożliwić używanie Compiza w innych projektach (dystrybucjach). Jednak to tylko takie "gdybanie", ja zmierzam do czego innego. Środowisko freedesktop.org opiera się na standardach, które gwarantują działanie programów w nich tworzonych na wszystkich platformach opartych właśnie na tych standardach. GNOME Shell decydując o bojkocie libappindicator nie postąpił źle. Aplety nie są potrzebne w tym projekcie, więc nie warto dodawać zbędnych bibliotek. Problemem GNOME jest jednak brak wsparcia dla freedesktop.org. Deweloperzy zdają się popierać tylko projekty wychodzące głównie od Red Hata. Natomiast zapomina się, że Canonical także jest jednym z uczestników freedesktop.org i ma prawo do proponowania własnych projektów. Kto powinien zadecydować o tym czy znajdą się one w GNOME? I w tym właśnie miejscu pojawiasz się ty drogi użytkowniku systemu.

Zazwyczaj to użytkownicy poprzez wsparcie dla ulubionych projektów (popularność) decydują o ich kształcie. GNOME stało się środowiskiem zbyt monolitycznym. Nie stworzyło żadnych ram współpracy ze społecznością. Konkurencji nie stworzyło wiec Canonical ono ją tylko chce wykorzystać do deprecjacji propozycji Red Hata wśród użytkowników. Unity będzie środowiskiem "idiotoodpornym" ma to zapewnić Canonical rząd dusz, które ślepo będą popierać jego działania. Mark chce w ten sposób pokazać, że to on ma rację. Nie wiem, czy ktoś w tym momencie zauważył już podobieństwo do innego projektu? Tak właśnie na tym modelu dystrybucji bazuje Apple. I trzeba przyznać, że odnosi sukces. Jedyną wadą systemów od Apple jest to, że nie są Open Source, a Open Source oznacza także, że użytkownik ma prawo decydować o tym co ma na pulpicie. No ale to przecież nie demokracja.

Na koniec warto wspomnieć o KDE. Gdzie w tym sporze znajduje się KDE? Zdaje się, że stoi z boku. Przypadkowo z boku znalazł się w tym momencie użytkownik. Czy zatem możemy się spodziewać exodusu użytkowników w ramiona KDE? Chyba raczej nie. Wracają za to ci najbardziej wartościowi, którzy maja świadomość czym jest Open Source. Na nieszczęście użytkowników GNOME i Ubuntu są to także użytkownicy, którzy chcą coś od siebie dołożyć do ulubionej dystrybucji co widać na przykładzie Chakry itp. dystrybucji społecznościowych, które ostatnio mają więcej wkładu dla rozwoju KDE niż wielkie korporacje. Ubuntu ma szansę na dużą popularność, ale wśród bezkrytycznych użytkowników, którzy wybaczą są gotowi do zmiany swoich potrzeb, aby tylko nie powiedzieć czegoś złego o swoim ulubionym systemie. Warto tu jeszcze cofnąć się w czasie o te trzy lata i przypomnieć słowa osób, które krytykowały zmiany w KDE. Po latach okazało się, że to właśnie deweloperzy KDE mieli dalekosiężny plan rozwoju nie zmieniając swoich założeń z miesiąca na miesiąc. Stworzono także ramy szerokiej współpracy z freedesktop.org co skutkuje nowościami z tego sektora bez wielkich zmian w głównej koncepcji rozwoju. Warto tu wspomnieć przeniesienie na grunt KDE Telepathy, która miała swój początek właśnie w GNOMOwym projekcie. Warto też wspomnieć o Gnome Zeitgeist, który także ostatnio znalazł się w sferze współpracy z deweloperami KDE pomimo obcego pochodzenia. Krótko mówiąc: to otwartość świadczy o rozwoju, a nie konkurencja, którą tak nachalnie próbuje promować Mark.

No i znowu wyszedł mi FUD, ale co mam poradzić na to, że mam własne zdanie.