Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Plasma w KDE - deweloperzy GNOME Shell, Unity uczcie się

W ostatnich 2 wpisach opisałem historię powstania GNOME Shell i Unity oraz skomplikowane relacje firm stojących za oboma środowiskami. Celowo użyłem słowa "firm", ponieważ w tym przypadku mamy ciekawe połączenie biznesu i open source. Co więcej modele biznesowe stosowane przez obie firmy są odmienne. Jeśli dodamy do tego różnice w postrzeganiu open source, dostajemy mieszankę iście wybuchową.

Rozbieżność wizji czy sprzeczność interesów

Zapewne większość osób, którym chciało się przeczytać moje poprzednie 2 wpisy zauważyła znaczną ilość linków, cytowanych wypowiedzi, a niezbyt wiele nawiązań do wyglądu obu środowisk. Otóż był to celowy zabieg, ponieważ chciałem pokazać jak wygląda współpraca w wielu projektach open source, co mógłbym podsumować jako: Każdy sobie rzepkę skrobie. Tak wiem, "Linux is all about choice" sztandarowe hasło powtarzane jak mantra przez wielu głosicieli błędnie pojmowanej wolności. To, że możemy coś zrobić, nie oznacza, że powinniśmy. I tak powoli dochodzimy do puenty. Dlaczego Canonical i Red Hat nie mogli współpracować razem i stworzyć 1 wspólny interfejs. Ktoś odpowie "przecież to jasne, mieli rozbieżne wizje jak powinien takowy interfejs wyglądać". Czy aby na pewno?
Na stronie głównej Unity czytamy:

"Unity provides a complete, simple, touch-ready environment that integrates your applications and your workflow".

r   e   k   l   a   m   a

Kompletne, proste, gotowe na ekrany dotykowe środowisko graficzne, na stronie projektu możemy przeczytać również:

"A powerful desktop and netbook environment things brings consistency and elegance to the Ubuntu experience".

Potężne możliwości, spójność, elegancja, prostota, obsługa wielu urządzeń (netbooki, tablety), ponadto potężne możliwości dla deweloperów. Tak opisywane jest Unity. Jedziemy dalej, co w takim razie z GNOME Shell? W oficjalnym ogłoszeniu czytamy :

"The release introduces an exciting new desktop which has been designed for today's users and which is suited to a range of modern computing devices".

Hmm ekscytujący, zaprojektowany z myślą o dzisiejszych użytkownikach, dostosowany do szerokiej gamy urządzeń. Lecimy dalej i widzimy:

"Elegant and beautiful, it has been designed to enable people to get things done with ease, comfort and control".

Elegancki, a jednocześnie piękny, komfortowy, ale dający możliwość kontroli. Poczucie kontroli, elegancja, piękno, łatwość obsługi, prostota, dostosowany do szerokiej gamy urządzeń. Zbieg okoliczności? Być może, od biedy i plasmę w KDE można by opisać tymi kategoriami.

Podobnie a jednak inaczej

Na tej stronie można znaleźć kilka podobieństw pomiędzy oboma środowiskami. Każdy kto chce może sobie zerknąć i ocenić skalę podobieństw. Jednak dla wszystkich, którzy wolą obejrzeć pewne wzorce na żywym przykładzie znalazłem nie lada gratkę (zrzut poniżej)

Znaleziony w odmętach Internetu obrazek doskonale prezentuje podobieństwa między obydwoma interfejsami

O co kaman?

Dlaczego więc, skoro deweloperzy obu środowisk mieli podobne koncepcje, nie mogli dojść do porozumienia? Gorąco polecam wpis Marka S (z maja tego roku), w którym prezentuje on swoje stanowisko:

"Unity is a shell for Gnome. Now Gnome leadership have to decide if they want the fruit of that competition to be an asset to Gnome, or not".

Całość można określić jako " Konkurencja oparta na silnym przywództwie jest zdrowa i pożądana dla projektów open source". Co więcej, Canonical postrzega GNOME jako zbiór luźno powiązanych bibliotek, z którymi można zrobić co się chce, bo pozwala na to licencja (cały schemat wraz z przykładami został opisany w poprzednim wpisie)
Tutaj pozwolę sobie na wtrącenie. Niestety nie mogę się zgodzić z Markiem, konkurencja w projektach open source jest zjawiskiem zdecydowanie zbyt częstym. To czego potrzebuje Linuks to współpraca. Nie mówię to o stworzeniu jednego środowiska graficznego czy jednej dystrybucji Linuksa. Mam tu na myśli stworzenie wspólnych podstaw, standardów, których będą przestrzegać wszystkie środowiska graficzne. Po drugiej stronie mamy deweloperów Red Hata, z Owenem Taylorem na czele, którym marzy się GNOME OS. Wszystkim zainteresowanym polecam jego wpis, w którym Taylor przedstawia swoje poglądy na rozwój GNOME. O idei "konkurencji" wypowiada się następująco:

"This competition doesn’t make sense to me: what would be left of GNOME if Unity “won” that competition? Not even the libraries are left, because every decision that is made about what goes into library should be driven by that same question “what does the user see?”.

Podkreśla on, że idea konkurencji nie ma dla niego sensu, bo co zostałoby z GNOME gdyby Unity wygrało. Owen Taylor zwraca szczególną uwagę na to, iż GNOME Shell wraz z budującymi je bibliotekami należy traktować jako całość, dlatego Unity jest w tym znaczeniu czymś znacznie więcej (to taka mała uwagą do tych, którzy uważają że Unity jest powłoką dla GNOME). Zauważa on również, że zasoby które poszły na stworzenie środowiska od Canonical, powinny pójść na rozwój GS:

"I think GNOME 3 is going to be amazing, but how much more amazing could it have been if the design and coding talent that is going into Unity could have been pooled with the work being done inside GNOME?"

Drugą z przyczyn wydaje się być tytułowa sprzeczność interesów. Chociaż w tym wypadku jest to jedynie czysta spekulacja z mojej strony. Nie da się jednak ukryć, iż duża popularność Ubuntu budzi niepokój Red Hata. Pytaniem pozostaje jedynie, jak duży wpływ owa obawa rzutuje na całą sytuację.

Plasma - jedność w różnorodności

Tytuł tego akapitu nie jest przypadkowy, jedność w różnorodności - tym stwierdzeniem można opisać cały koncept plasmy. Jest to jeden "framework" w ramach którego możemy tworzyć wiele interfejsów, czy też powłok pulpitu jak kto woli. Zbyt piękne aby było prawdziwe? Wiele można zarzucić deweloperom plasmy/kde, ale na pewno nie to, że brakuje im wizji czy konsekwencji w działaniu. Zapewne każdy kto czytał moje poprzednie wpisy, dostrzeże kontrast, ba istną przepaść między tym co robią twórcy plasmy, a GNOME Shell i Unity. To się nazywa dojrzałość panowie. Ok na czym polega ów kontrast zatem. Aby odpowiedzieć na to pytanie pozwolę sobie przytoczyć wpis Arona Seigo, który opisuje strategię dotyczącą Plasma Active oraz wpływu jaki wywiera ona na domyślny interfejs w KDE. Zdaniem Seigo niemożliwe jest stworzenie interfejsu "do wszystkiego", uważa, że należy używać jak najwięcej wspólnych elementów:

"However, we do not believe in the "one interface that runs on both your desktop and your tablet". We believe in code reuse, in component-reuse (and, where beneficial, drop-in-replacement), compatibility and interoperability; but we also believe that a tablet interface and a desktop interface are not, and should not, be the same thing. The use cases and form factors are just too different."

Z kolei o próbach stworzenia takiej hybrydy wypowiada się jednoznacznie:

"We have no plans of bastardizing Plasma Desktop into a watered-down attempt at a tablet interface that also sort-of-makes-sense on a laptop. We want interfaces that work great on each sort of device. This is why we designed Plasma to be so flexible: we can afford to have different interfaces, and trivially keep them compatible with each other, without pouring gigantic amounts of resources on it".

Plasmę w KDE można porównać do klocków lego z których można tworzyć rożne konstrukcje używając jednak tych samych elementów.

Podsumowanie

Zacznijmy od tego, iż celem tych wpisów nie było porównywanie wyglądu interfejsów. Jakkolwiek nie zgadzam się z tym co robią deweloperzy, rozumiem ich motywacje. Z trendem nie wygrasz (czyżby temat na kolejny wpis?). To co obserwujemy jest po prostu próbą eksperymentowania z nowymi koncepcjami interfejsu, bo skoro udało się na smartfonach to czemu nie wszędzie. Taka jest cena postępu. Jednak istnieją rożne sposoby realizacji tej koncepcji. Postępowanie twórców GS i Unity jest jednym z przykładów jak nie powinno się robić. Brak umiejętności porozumienia, marnowanie zasobów i tworzenie konkurencyjnych rozwiązań, które robią to samo jest bolączką wielu projektów open source. Czasami warto odłożyć szabelkę, usiąść i opracować wspólne rozwiązania. Być może wtedy udział Linuksa w rynku desktopów przekroczyłby granicę błędu statystycznego. Co jednak dużo gorsze, owe postępowanie prowadzi do polaryzacji nastrojów wśród użytkowników, co pokazały choćby komentarze pod moimi wpisami. Z jednej strony zwolennicy GNOME Shell, z drugiej Unity. Coś takiego nie powinno mieć miejsca w ramach jednego projektu jakim jest GNOME.

 

Komentarze