Teoria „too big to fail” – czy Mozilla jest zbyt duża, by zniknąć?
Przełomowe technologie mają tendencję do żywiołowego, skokowego wręcz wzrostu popularności, za czym w większości przypadków nie nadąża ani socjologia, ani prawo – nierzadko w stopniu podważającym fundamenty ustrojowe lub porządek gospodarczy. W ciągu kilku miesięcy okazuje się, że firma oferująca pewne unikatowe rozwiązanie całkowicie monopolizuje nowo powstały sektor branży, dopuszcza się czynów jeszcze niesklasyfikowanych jako wykroczenia, a wskutek swojej nieodzowności staje się niemal usługą użyteczności publicznej („utility”), zmuszając tym samym do państwowego interwencjonizmu. Dziś przykładem takiej instytucji, bezkarnie (acz subtelnie) wykazującej postawę „no i co nam zrobicie?” jest Google oraz, co może nieco mniej u nas wiadomo, Amazon. Branża technologiczna ma jednak szczególną i wieloletnią tendencję do tworzenia niemal nieusuwalnych molochów, trudnych do poddania kontroli – a czasem nawet wymagających wspomagania, bo ich upadek np. sparaliżowałby infrastrukturę (TP). Takie zjawisko nosi nazwę „too big to fail”.
05.04.2018 | aktual.: 05.04.2018 15:51
Istnieją firmy, które zrosły się z infrastrukturą telekomunikacyjną na tyle, że bez nich komunikacja by nie istniała. Koronnym przykładem tego zjawiska jest amerykańska sieć telefoniczna. Telefon uległ komercjalizacji w zasadzie w dniu powstania, więc sieć telefoniczna była budowana przez firmę Bell (od nazwiska wynalazcy), następnie wykupioną przez AT&T. Okazało się, że nie istnieją regulacje prawne, bo przepisy nie nadążyły za zjawiskiem oplecenia kraju liniami telefonicznymi, na których 80 lat później okazała się stać cała nowoczesna gospodarka. Jednak USA bały się wtedy AT&T mniej, niż obecnie boją się Google’a i nakazały jego podział. Firmę rozkurzono na siedem niezależnych bytów. Splecenie z rynkiem, rządem i infrastrukturą sprawiło jednak, że obecnie pięć z nich… wróciło do AT&T, a odszczepieniec zmienił się w złowrogi Verizon. Przykłady rzecz jasna wykraczają poza telekomunikację: IBM tworzył frustrująco niezastąpione systemy komputerowe, a Digital był jedyną opcją przy połączeniach modemowych. Wreszcie nastąpiła era internetu, również podatna na wyżej wymienione zjawisko. Nagle wielkimi molochami stały się AOL i Yahoo, a w kwestii oprogramowania – Netscape.
Właśnie, Netscape. Firma, która powstała wskutek przekształcenia projektu Mosaic, oryginalnej przeglądarki WWW. Zdobyła przebojową popularność, ponieważ Microsoft przegapił boom internetowy. Dziś może wydać się to zabawne, bo przecież „jak można było zignorować internet”, ale kiedyś wcale nie było oczywiste, że to internet będzie siecią rozległą, która osiągnie popularność. Własne sieci rozległe opracowywało kilka dużych firm telekomunikacyjnych, nawet AOL, popularyzator powszechnego dostępu do internetu, opracowywał swoją. Internet był tylko jednym z kilku graczy. I choć jasnym stawało się, że to właśnie on zwycięży, Microsoft zbyt mocno chciał być kolejnym graczem na potencjalnym, pluralistycznym rynku sieci rozległych, ze swoim The Microsoft Network. Na szczęście okazało się to niewypałem. W międzyczasie Netscape pojawiał się na coraz większej liczbie komputerów z Windowsem, niezaopatrzonym początkowo w żadną (!) przeglądarkę.
Spektakularny sukces Netscape doprowadził do tego, że firma żywiołowo rozbudowywała swój produkt o kolejne komponenty, jak program pocztowy, kompozytor stron i klient czatu. Równocześnie powstawały inne, bardzo rozbudowane produkty serwerowe. Wśród nich między innymi serwer pocztowy i serwer usługi LDAP. Nie trzeba było nawet ogłaszać planu zdetronizowania Windowsów (co między wierszami uczyniono, ogłaszając projekt chmurowego systemu operacyjnego), by Microsoft zauważył, że Netscape musi umrzeć. Po rozpętaniu Internet Explorerem tzw. wojny przeglądarek, Netscape skończył mocno pokiereszowany i zdecydował się na krok bardzo popularny na przełomie wieków: kod źródłowy został opublikowany, a kolejne wersje Netscape’a miały być oparte o wydania otwarte tworzone przez społeczność. Na podobny krok zdecydował się między innymi StarOffice. Projekt został nazwany Mozilla. Rozpoczęła się nowa era.
Otwarta Mozilla zawędrowała do wielu systemów i stała się domyślną przeglądarką szeregu systemów uniksowych, w tym tych bardzo egzotycznych. Dystrybucje Linuksa odetchnęły z ulgą, bo nie musiały już dostarczać chybotliwego licencyjnie (i okropnie brzydkiego) Netscape’a. Wkrótce też miały otrzymać porządny pakiet biurowy i środowisko graficzne… Mozilla opracowała też „samobieżny”, osadzany silnik rysujący XULRunner, pozwalający tworzyć aplikacje korzystające z jej zaplecza wyświetlania stron. Mozilla była definicją przeglądarki alternatywnej, jedynej otwartej odpowiedzi na „imperium zła” Microsoftu. Na niektórych systemach jedynej dostępnej z możliwością aktualizacji.
Popularyzacja Mozilli nie następowała jednak z początkowo zakładaną prędkością. Powodów było oczywiście bardzo dużo, z czego nie wszystkie były racjonalne. Z jednej strony do Internet Explorera, kradnącego bazę użytkowników Mozilli, skłaniały technologie jak ActiveX oraz natychmiastowa dostępność w systemie. Ale chodziło też o to, że Mozilla uchodziła za niewydarzoną, młodszą siostrę Netscape'a. Wreszcie, lawinowy wzrost liczby stron internetowych sprzężony w czasie ze zwycięstwem IE zaowocował wysypem stron wyświetlających się poprawnie wyłącznie w Internet Explorerze, miejscami celowo nieprzestrzegającym standardów. Mozilla miała więc pokaźną bazę technologiczną i grono naprawdę oddanych użytkowników, ale jej szansę na wzrost były ograniczone.
O ile bardziej niszowe projekty, jak Netscape Directory Server, znajdowały swoją społeczność, rozwijającą je nierzadko do tej pory (389DS, Bugzilla), to sama przeglądarka wymagała nie tyle zmiany społeczności, co zmiany swojej formuły. Główny „produkt” fundacji, w postaci wysoce zintegrowanego pakietu internetowego stawał się nieprzystający do realiów rynkowych i najpopularniejszych scenariuszy użycia. Jednocześnie główny gracz na rynku cierpiał na stagnację, a brak nowości sprzyjał tworzeniu tuzinów nakładek, oferujących na przykład blokadę okienek wyskakujących lub przeglądanie na kartach. Ewidentnie istniało zapotrzebowanie na nowoczesną przeglądarkę, a jej otwartość mogłaby przy okazji sprzyjać przestrzeganiu standardów W3C.
Obrana drogą był, jak dobrze wiemy, „decoupling”, czyli rozpięcie poszczególnych komponentów pakietu i rozwijanie ich jako niezależnie. Wraz z rozwojem projektu Phoenix, a następnie Firebird i Firefox, fundacja dokonywała częściowej komercjalizacji. Cele Mozilli ulegały zatem zmianie. Powoli przestawało chodzić o to, by być Świętym Imperium Przeglądarkowym Narodu Hakerskiego, Spadkobiercą Wielkiego Netscape'a i Jaśniejącą Latarnią Postępu i Standardów. Zaczynało chodzić o tworzenie dobrego produktu.
Zdobycie szerokiej bazy użytkowników pozwoliłoby Mozilli być czymś więcej, niż tylko stróżem kodu źródłowego oprogramowania przedstawianego jako najważniejsza aplikacja internetowa. Bycie twórcą praktycznie, a nie ideowo, najpopularniejszej przeglądarki dawałoby realny wpływ na kształtowanie przyszłości internetu, standardów oraz wolnego oprogramowania. Można z powodzeniem stwierdzić, że przymierzanie się do owej roli było zasadne. Wszak zdetronizowanie Internet Explorera, w którym pomogła przede wszystkim przepiękna kampania promocyjna i konwencja wzornicza, doprowadziło do rzeczywistego wznowienia rozwoju ECMAScriptu, czyli języka, w którym napisany jest internet (JavaScript). Bez postępu w tej dziedzinie, jedynym pomysłem na zaawansowane aplikacje internetowe dalej byłby nieprzebrany ActiveX, działający na komputerach-pudłach z Windowsem.
Zwycięski pochód Mozilli został zatrzymany przez firmę, która dotychczas grała przyjaciela. Google i jego Chrome powstały, by (jak Mozilla) mieć wpływ na tworzenie i przestrzeganie standardów. Tym razem jednak nie chodziło o pokonanie skostniałego i niekompatybilnego imperium zła. Gdyby to było powodem, Google mogły z powodzeniem używać Mozilli i Firefoksa. Powodem stworzenia Chrome'a była świadomość, że niektóre decyzje dotyczące standardów mogą nie spotkać się z przychylnością Mozilli. Na przykład, gdyby jawnie promowały usługi Google lub z powodów strategicznych były implementowane szybko i byle jak, ale konkurenci nie oferowali nic podobnego. I chociaż Android początkowo przez wiele wersji nie zawierał Chrome'a, Google ewidentnie grał „the long game” i chciał stworzyć platformę o wysokiej integracji. Bo czemu ludzie używają Chrome’a? Bo pamięta ich hasła i zakładki między urządzeniami! Firefox nie mógłby dostarczać takiej funkcji. A rozprowadzanie własnej jego wersji, z wbudowanymi rozszerzeniami autorstwa Google mogłoby wzbudzić nieufność, powstrzymującą przed popularyzacją. Chłodna biznesowa kalkulacja wykazała, że własna przeglądarka będzie popularniejsza, niż modyfikowana odszczepka Firefoksa. Mozillę potraktowano na zasadzie „no hard feelings”. Google nie chciał jej ubić, ale jeżeli otwartoźrodłowy stróż standardów ucierpi i straci na popularności, nikt nie będzie płakał. Zresztą na otarcie łez jest własny produkt open source: Chromium. A więc planem maksymalnym było przejęcie roli Mozilli: rozwijać, dyktować i kontrolować standardy, rozpowszechniać wolne oprogramowanie, a przy najbliższej okazji zarobić. Tylko zarobić kilka milionów razy więcej, niż Mozilla Corporation. Udziały Mozilli zaczęły spadać.
Wspomniany spadek nie był lawinowy, Chrome nie był wszak od samego początku cudownym dzieckiem. Wciąż jeszcze to Mozilla uchodziła za definicję alternatywy. Ze względu jednak na formę, jaką przyjęła Fundacja i Korporacja Mozilla, kapitalizowanie tej roli było coraz trudniejsze. Rozmiary Firefoksa i Thunderbirda wymuszały konieczność zatrudnienia etatowych programistów. Żeby móc im płacić, trzeba zarabiać. A gdy większość rachunków w firmie płaci... Google, powstaje zapotrzebowanie na nowe modele biznesowe. Liczba powodów, dla których Mozilla musiała odkryć się na nowo, rosła. Dotychczasowe kroki sprawiły też, że Fundacja nie mogłaby przybrać postaci organizacji Apache lub freedesktop.org, czyli parasoli zbierających zbłąkane, aczkolwiek wciąż wymagające opieki projekty. Wtedy oczywiście Mozilla stałaby się prawdziwie nieusuwalna i niemożliwa do likwidacji. Ale byłaby to rola ugloryfikowanego woźnego.
Gdy to Google urastało do rangi korporacji „too big to fail”, aspiracje Mozilli nie malały. Trudno powiedzieć, czy wynikało to z ambicji, pychy, czy inercyjnego przyzwyczajenia. Fundacja chciała (i dalej chce) pełnić pewną rolę internetowego „zbawcy”, więc rozpoczęto szereg reorganizacji i porządków na zaiste korporacyjną skalę. Tymczasem oddanie steru odrealnionym menedżerom i marketingowcom często prowadzi do zabawnych, acz terminalnych błędów.
Mozilla rozpoczęła forsowanie promocji jedynie swojego flagowego produktu: Firefoksa. Pozostałe zostały albo przegonione, albo przynajmniej odstawione do kąta. Na pewno taki los spotkał pakiet SeaMonkey, usiłowano w podobny sposób rozprawić się z Thunderbirdem. Przyszłość miała (poza Firefoksem) należeć naturalnie do nowych projektów, jak Firefox OS. Projekt okazał się niewypałem na całej linii, co jest o tyle zaskakujące, że w zasadzie od początku powinno być dla każdego oczywiste. Niezależnie od grona wspierających inicjatywę inżynierów i rosnącej społeczności, projekt Firefox OS wyglądał raczej na coś wymyślonego przez dział marketingu, przekonany po pierwsze o doskonałości swoich produktów, a po drugie – nieskończonym potencjale twórczym programistów. Pstryk – i mamy wersję 1.0. A poza tym jesteśmy Mozilla, wszyscy nas znają i kochają, cały świat nam ufa, więc wszyscy się rzuca na naszą zabawkę, w popłochu uciekając od Androida. Firefox OS pochłonął mnóstwo funduszy i czasu pracy inżynierów, co było tym bardziej frustrujące, jeżeli pamięta się o równoczesnym spadku wydajności samego Firefoksa.
Poza kolejnymi eksperymentami z interfejsem (niegdyś pionierskim – wymyślony przez Firefoksa przycisk centralny zawędrował do konkurencyjnych produktów), przeglądarka Mozilli nie oferowała wiele nowego. Straszyła w dodatku przestarzałym rdzeniem, brakiem wieloprocesowości, obsługą antycznego formatu wtyczek i kilkoma innymi niedoróbkami, szczególnie widocznymi w porównaniu z Chrome. Mozilla uparcie nie potrafiła dostarczyć innowacji: alternatywą dla Flasha nie zdążyła powstać przed upadkiem Flasha, PDF.js miał problemy z dokumentami, wersję Metro anulowano, nigdy nie adresując jej poważnych problemów z wydajnością, a model wieloprocesowy znajdował się w fazie beta przez jakieś osiem lat. Chrome nie tylko nie miał takich problemów, ale i nigdy nie musiał ich rozwiązywać. Zaczynając od WebKita, a nie od całego Netscape'a, programiści Google ominęli wiele potencjalnych trudności i dylematów architekturalnych.
Działalność technologiczna nie przynosiła oczekiwanych sukcesów, wpierano więc drugą „nogę”, jaką była fundacja. W 2005 roku powołano Mozilla Developer Network, portal-forum-blog, zbierający informacje o technologiach webowych, najlepszych praktykach, detalach technicznych i wszelkich „hackach” związanych z używaniem oprogramowania Mozilli i pisaniem kodu dla niego. MDN istnieje do dziś i aspiruje do miana platformy dyskusji o najnowszych trendach w tworzeniu aplikacji internetowych. Jeżeli ktoś chce poznać metody tworzenia adapterów Service Worker dla swojej aplikacji PWA, powinien skierować swe kroki właśnie tam. Bogactwo MDN jest niepodważalne, ale pragmatycznie rzecz ujmując, Mozilla Developer Network to tylko jeden z wielu wyników wyszukiwania w Google’u, nietraktowany szczególnie preferencyjnie. Jeżeli lepsze opisy technologii dostarcza konsorcjum W3C, a wiele przykładów z kodem można pobrać z Technetu, portalu Visual Studio lub kiepsko sformatowanych odpowiedzi na Stack Overflow, Mozilli nie pomogą sentymenty. MDN nie pełni roli legendarnej, surowej i ponadczasowej „biblioteki technik internetowych”, ale zarówno inżynieria oprogramowania, jak i dzisiejsze praktyki nie oczekują od świata istnienia tego typu instytucji. Innymi słowy, programiści nie pójdą masowo na chorobowe, jeżeli w MDN ktoś wyłączy prąd.
Manifest Mozilli deklaruje, że organizacja statutowo walczy o powszechny, równy, gwarantujący prywatność i oparty o standardy dostęp do internetu i zasobów w nim zawartych. Praca na tym polu wiąże się z przygotowywaniem pokaźnego zbioru materiałów dydaktycznych, wspomagających nabywanie kompetencji cyfrowych. Ta działalność Mozilli jest u nas dość nieznana, a szkoda. Kompetencje techniczne są bowiem rozczarowująco niskie w każdej grupie wiekowej i dotyczy to zarówno wiedzy o działaniu przepływu danych w Internecie, jak i zwykłego czytania ze zrozumieniem, umiejętności egzotycznie wręcz rzadkiej. Są to problemy obecne tu i teraz, nie w jakimś zapomnianym przez Boga odległym zakątku Trzeciego Świata. Sytuację pogarszają powszechne opinie typu „moje dziecko tyle siedzi na tablecie, że jest o wiele bardziej biegłe, niż ja!”. Szkoda tylko, że nic nie rozumie, pracuje niewydajnie, a w szkole nie umie nawet podpiąć projektora…
Kapitalny portal szkoleniowy Mozilla Learning Network zawiera mnóstwo, większości niestety nieprzetłumaczonej, wiedzy niezwykle cennej w czasach zwanych dziś banalnie „cyfrową erą”. Niektóre podprojekty rozwijają się prężnie, jak Web Literacy, pozostałe znajdują się w pewnym odwrocie. Portal MLN zasługuje jednak na szczególną uwagę, ponieważ w wielu krajach wiedza tam przechowywana nie jest traktowana jako elementarny komponent edukacji, ewentualnie przedstawiana jest w sposób szalenie ograniczony. Jest to odczuwalne również w Polsce.
Podobnie jak w przypadku MDN, nagłe zniknięcie MLN również nie sprawi, że świat się zatrzyma. Straci jednak cenny zasób. O ile informacje zawarte w MDN są do znalezienia w innych miejscach (o zróżnicowanym poziomie jakości), to materiały MLN są związane z działalnością społeczną, a rozwój nauki i techniki niesprzężony z rozwojem społecznym jest groźny. Prowadzi do wykluczenia, a także do promocji idiotycznych trendów, zdobywających popularność wskutek braku umiejętności weryfikacji. Misja zadeklarowana przez Mozillę jest więc istotna. Być może Mozilla nie jest utożsamiana z projektami edukacyjnymi. Być może faktycznie kształceniem w zakresie biegłości cyfrowej powinna się zająć obowiązkowa powszechna edukacja. Ale zaglądając do materiałów dydaktycznych przedmiotów „około-informatycznych” prędko odkryjemy, że Mozilla wypełnia tu istotną lukę. Również Unia Europejska, poprawnie identyfikująca problem, wydaje się w swoich rozwiązaniach skupiona na niewłaściwej jego części. Nie warto uczyć przedszkolaków programowania, gdy nie uczy się ich o prywatności i wyszukiwaniu informacji. Innymi słowy: marnie zdolna, „nadrabiająca pilnością” Dżesika prędzej sięgnie po telefon z Facebookiem, niż rozważy karierę zawodową w programowaniu.
Kwestią pozostającą w cieniu względem Firefoksa i działalności społecznej jest obsługa „spadku” po Netscape i zbioru tradycyjnego, bizantyjskiego oprogramowania. Należą do nich takie wynalazki jak NSS czy Bugzilla. One większości również odchodzą do lamusa, czego szczególnie wyrazistym przykładem jest właśnie Bugzilla, system zarządzania zgłoszeniami błędów. Rozwój metodyki Agile, popularyzacja Gita, a następnie portali-aplikacji typu GitHub i GitLab sprawiło, że projekty informatyczne tysiącami migrowały na nowe, zintegrowane narzędzia, dostarczające między innymi systemy śledzenia „biletów” ze zgłoszeniami. Tandemy BitBucket+Trac lub zestawy GitLab+JIRA+MediaWiki załatwiały komunikację ze społecznością, zgłoszenia błędów, kontrolę kodu, automatyczne raporty, auto-testy, ciągłą integrację i powiadomienia. Bugzilla wygląda przy nich zaskakująco marnie, będąc przecież gigantycznie rozbudowanym projektem. Jest jednak oprogramowaniem z innego czasu, a jak dawne były to czasy widać, gdy spojrzy się na repozytorium kodu Mozilli, używające systemu… Mercurial. Cóż, być może świetnie działa z Bugzillą.
Internet w okresie boomu dotcomowego uchodził za medium rozwijające się ekspresowo, nowocześnie i radykalnie odmiennie od dawnych standardów. „Zwinność” dawnego Amazona, Yahoo! lub Netscape’a była nieporównywalna z kulturą pracy IBM, czy nawet Microsoftu. A jednak mimo to, Mozilla okazuje się być tworem zaskakująco skostniałym. Całkiem możliwe, że wcale nie jest inherentnie wpisana w kod genetyczny internetu i kiedyś z powodzeniem zniknie? Ulga, jaką odczuł świat hakerski podczas wydania Mozilli 1.0 była związana z dotychczasowym brakiem leku na poważne bolączki systemów użytkowych. Dziś takich problemów już nie ma. Zażegnała je nie tylko Mozilla, ale i w nowszych iteracjach – Chromium. Być może potęga Mozilli, jej marki i zaplecza technicznego jest iluzją? I mimo, że dziś każda licząca się przeglądarka internetowa przedstawia się jako „Mozilla/5.0”, za kilka lat nikt nie będzie o niej pamiętał? Wszak spadek Firefoksa w udziale rynkowym trwa konsekwentnie od kilku lat, a wielkich nadziei nie daje nawet wariant mobilny.
Jak będzie wyglądał świat bez Mozilli? Być może nie aż tak bardzo odmiennie. Facebook dziś jest na przykład poddawany weryfikacji w kwestii tego, czy stał się wspomnianym na początku „utility”, nieodzownym dobrem powszechnym jak ciepła woda w kranie, zgodnie z marzeniem Marka Zuckerberga. Jeżeli świat nagle odwróci się od niego, a my na tym nic nie stracimy, tym bardziej znośne okazałoby się zniknięcie Mozilli. Czasem to dobrze, że nic nie trwa wiecznie.