To co w ostatnich miesiącach dzieje się w linuksowym światku, choć daje nadzieje na przyszłość, jednocześnie ukazuje z jakimi chorobami walczy społeczność. Chorobami, które przez te 20-parę lat zdecydowały o porażce Linuksa na desktopach. Z czego to wynika?
Człowiek jest istotą, która musi w coś lub kogoś wierzyć i komuś lub czemuś się oddać. Może to być Bóg, ideologia polityczna, filozoficzna czy nauka. Mogą być to tylko niektóre rzeczy z wymienionych, a mogą być nawet wszystkie. Nie ma w tym nic złego, a wręcz przeciwnie – smutny musi być żywot ludzi bez swoistego sensu życia, oddanych konsumpcjonizmowi spod sztandaru żreć i żyć.
Czasami się jednak zdarza, że człowiek swoje powołanie odczytuje błędnie i poświęca się ideom, które nie powinny stanowić o postawach moralnych. Takim niewłaściwym obiektem kultu jest Wolne Oprogramowanie. Ta swego rodzaju religia jest niewątpliwie zła i bardziej szkodzi całej sprawie, niż cokolwiek pomaga w promocji OpenSource. Główny ewangelizator i prorok, Richard Stallman, potrafi w swoich wypowiedziach odlecieć, głosząc totalne bzdury, szkodliwe bzdury (jak chociażby
). Ustawianie całej hierarchii wartości poniżej bytu, który de facto ma być tylko narzędziem dla nas, ludzi, jest bardzo niezdrowe. Winniśmy się przed tym bronić i potępiać takie postawy.
Przejdźmy do konkretów i zobaczmy jak ta machina działa naprawdę. Teoretyzowanie i gdybanie wiele do sprawy nie wniesie.
Wolność? Owszem, ale nie do końca…
Wolność oprogramowania to wolność również do tworzenia własnych projektów, które w przyszłości mogą zostać szeroko zaadaptowane przez społeczność bądź nie. Canonical wywołując niedawną burzę i zainteresowanie mediów podjęło się przebudowania połowy dotychczasowego Ubuntu, i to tej połowy będącej bezpośrednio przed nosem użytkownika. Dostaniemy nowy serwer pulpitu Mir, w zestawie z nowym interfejsem Unity Next i aplikacjami napisanymi w QtQuick2 i nowym menedżerem aplikacji Click.
Dlaczego tak? Ponieważ dotychczasowe Ubuntu to swoisty kolaż, złożony z tysięcy różnych bibliotek i aplikacji i taki sposób na rozwój systemu operacyjnego to kiepski pomysł. Ubuntu to mocno z modyfikowany Compiz z autorską wtyczką i patchowany GNOME z patchowanym GTK. Totalny odlot jeżeli chodzi o koszty i łatwość utrzymania, co zresztą odbija się na jakości systemu. I stąd nasze narzekania na “niedorobione Ubuntu”. Canonical robiło do tej pory tylko dystrybucję,a nie system operacyjny. Składało Ubuntu z 1000 mniej lub bardziej pasujących do siebie części. To nie może działać na dłuższą metę. I tyczy się to każdej innej dystrybucji.
Stąd decyzja o stworzeniu własnych, w 100% odpowiadających potrzebom Ubuntu, komponentów bazowych.
Sposób tworzenia i narzędzia również są bardzo ważne. Wayland to mało abstrakcyjny kod w C, pisany na chybił-trafił (albo będą bugi, albo nie). Mir jest pisany w C++, metodą
Test-Driven Development, co daje łatwiejszy w utrzymaniu kod i pozwala szybko namierzyć większość błędów. Argument o wydajności jest inwalidą, ponieważ C++ to język w którym te same rzeczy można zapisać łatwiej, nie tracąc wiele na wydajności, a błędów popełnia się o rząd wielkości mniej. Mir to też kontrola nad kierunkiem rozwoju, uniezależnienie od fanaberii twórców i możliwość zastosowania własnej infrastruktury.
Mir jest oprogramowaniem na wolnej licencji, jest dostępny dla każdego, można wręcz stwierdzić, ze jest bardziej otwarty niż Wayland, którego twórcy mają gdzieś możliwość łatwego przetestowania rozwojowej wersji. Mir ma dostępne repozytorium ze skompilowanym kodem i każdy w każdej chwili może sprawdzić jak to działa.
Gdzie więc leży problem? W tym, że to jest bardzo nie po myśli linuksowego kolektywu, który zamiast myśleć o jakości oprogramowania i użytkownikach, myśli o własnych interesach. Mir wprowadza w społeczności zdrowa konkurencję: jeżeli będzie dobrym serwerem graficznym, to zastąpi X w innych dystrybucjach, jeśli nie to Wayland ma szansę. Jest to typowa sytuacja win-win. Póki Mir jest otwarty, nienawiść ze strony społeczności jest zwyczajnie głupia i wskazuje na zaawansowaną hipokryzję, ponieważ 10 różnych środowisk graficznych jest cacy, a 2 serwery pulpitu są już be. Gdzie tu logika? Nie ma.
Społeczność NIE jest najważniejsza
Zachowanie społeczności przypomina mi bardzo działanie obecnych związków zawodowych – lud pracujący/programujący uważa, że samo jego istnienie jest celem tego i sąsiednich wszechświatów. Nic bardziej mylnego – społeczność istnieje po to by rozwijać produkt, a nie na odwrót. Miejsce społeczności jest w cieniu, za produktem, a ewentualne pochwały należą się za dobrą robotę, przy tworzeniu projektu, a nie za sam fakt bycia. Wszelkie takie emancypacje społeczności są szkodliwe dla projektów, bo odwracają uwagę sedna sprawy, którym ejst tworzenie projektu i kierują je na coś z zewnątrz zupełnie nieistotnego – perypetie między deweloperami i innymi członkami społeczności.
Demokracja w projekcie – wróg nr. 1
Nie ma gorszej sytuacji niż gdy większość decyduje o tym co ma robić mniejszość, nie mając przy tym zielonego pojęcia o przedmiocie którego dotyczy ta decyzja. Demokracja nie jest warunkiem wolności, a raczej jej przeciwieństwem. Projekty, które osiągnęły sukces (np. Linux) są zarządzane w sposób dyktatorski. Każdy zajmuje się tym, na czym zna się najlepiej, a dyktator zatwierdza ostateczne decyzje. Wtedy projekt działa sprawnie, ponieważ działa jak firma (prywatne przedsiębiorstwa pokazują, że najlepiej działają organizacje w których istnieje ścisła, naturalna hierarchia, a nie “wszyscy są równi”). Demokracja wprowadza zamęt i spowolnienie podejmowania decyzji. Z czasem nierozwiązywalnym problemem jest kolor tapety i paska zadań, nie mówiąc o odważniejszych decyzjach w kwestiach komponentów bazowych systemu, takich jak właśnie Mir.
Krzywe rozumienie wolności
Richard Stallman wyraźnie nie rozumie poprawnie definicji wolności. Wolność to nie jest całkowita niezależność i brak zobowiązań. Wolność mówi, że sami dobieramy sobie podmioty wobec których podejmujemy zobowiązania i którym podporządkowujemy się. Sami też możemy wybrać firmy którym ufamy powierzając swoje dane. Kupując Windows czy MacBooka z OS X mogę osiągnąć dużo więcej niż hackowanie dla hackowania
emacsem przez sendmail. To że mogę sobie zmodyfikować program, o ile w ogóle umiem, wpływa na moją wolność w bardzo małym stopniu. W większym wpływa to czy edytor graficzny pozwala mi usunąć tylko czerwone oczy czy całe niechciane obiekty ze zdjęcia.
Irytujący również jest tekst:
Nie działa? Napraw sobie. Brakuje Ci funkcjonalności? Napisz sobie.
Podejście jakoby każdy człowiek był programistą, ukazuje stopień arogancji niektórych osobistości. To że mogę sobie dowolną rzecz dodać do programu nie rekompensuje braków w funkcjonalności i ubogiego działania/wyglądu.
I co teraz?
Jestem gorącym zwolennikiem Wolnego Oprogramowania, niemniej uważam, ze zbytnie ideologizowanie tych narzędzi, które mają nam służyć, bardziej przeszkadza w ich promocji, niż pomaga. Także, drogi linuksiarzu, następnym razem, zanim zaczniesz przypadkowemu łindołsiarzowi czy ubunciarzowi recytować 4. Podstawowe Wolności zastanów się czy on jest bardziej wolny mając bogatą bazę oprogramowania i większą ilość czasu na spędzenie czasu z rodziną i przyjaciółmi, niż ty stawiający parę dni Gentoo i siłujący się z uruchomieniem na nim X’ów z OpenBoksem.