Systemy operacyjne i ekosystemy
Ilu z nas myśli o tym, w jaki sposób korzysta ze swoich urządzeń – czy to komputerów, telefonów, czy też zegarków? Nietrudno zgadnąć, kto je wyprodukował – wszak firmowe logo zawsze widnieje gdzieś na obudowie – ale co sprawia, że te urządzenia działają tak jak działają? Czy mogłyby działać inaczej?
Osobom mającym choćby niewielkie pojęcie o informatyce z pewnością obiło się o uszy sformułowanie „system operacyjny”. Być może nawet potraficie wymienić kilka z nich: Windows, MacOS, Linux, Android... Jeśli o systemie operacyjnym myślicie jako o takiej hiper-apce w której jest wszystko, co robi urządzenie (w tym wszelkie wgrane lub systemowe aplikacje, ustawienia i dane), to mniej-więcej coś takiego.
Zatem systemów operacyjnych jest wiele. Weźmy na przykład laptopy: na jednym jest Windows, a drugi to laptop od Apple z systemem MacOS. Włączając jeden i drugi zobaczymy co innego: inny ekran ładowania, inny ekran blokady, inny pulpit... ale aplikacje mogą być te same. Na obu może być Firefox, OpenOffice, ulubione gry... (no dobra, nie wszystkie). Na tej podstawie można dojść do wniosku, że systemy operacyjne w zasadzie różnią się tylko aspektem wizualnym oraz oferowanymi funkcjami jak synchronizacja z chmurą, zabezpieczenia, możliwość dostosowania wyglądu czy ustawienia prywatności.
W rzeczywistości różnice między nimi zasadzają się na znacznie bardziej fundamentalnym poziomie. System operacyjny opisuje pewnego rodzaju „język”, za pomocą którego aplikacje mogą powiedzieć systemowi że chcą zrobić to czy tamto, począwszy od wyświetlenia kropki na ekranie, przez uzyskiwanie dostępu do plików i zasobów internetowych, a skończywszy na... czymkolwiek, co sobie twórcy systemu zamierzą. Oczywiście system, mający zawsze ostatnie słowo, może odmówić wykonania polecenia (bo np. użytkownik nie udzielił aplikacji odpowiednich uprawnień) i jakoś to aplikacji zakomunikować, tak żeby zrozumiała.
Informatyk powiedziałby, że system operacyjny jest warstwą między sprzętem a aplikacjami. Zaprojektowanie i stworzenie takiej warstwy to nie taka prosta sprawa. Trzeba przemyśleć i przewidzieć mnóstwo rzeczy, o których zazwyczaj nie myślimy, przyjmując za coś oczywistego – że tak po prostu działa komputer: to, że aplikacje mogą działać równocześnie, że sygnały z klawiatury trafiają we właściwe miejsce, że każdy otwierany plik jest natychmiast odnajdywany na dysku, i tak dalej. Siedzą nad tym setki specjalistów. Ludzie mają bardzo różne pomysły, jak to wszystko ma działać. Na przykład, gdy aplikacja ma coś nowego do wyświetlenia, powinna sama to zgłosić, czy raczej zaczekać aż system ją o to zapyta?
Skoro poszczególne systemy to różne „języki”, to aplikacje są jakby książkami. Książkę można przetłumaczyć, a niektóre są dostępne tylko w jednym języku; tak samo jedne aplikacje są dostępne na różne systemy (mówimy, że są wieloplatformowe), podczas gdy inne – na tylko jeden; nie ma natomiast książek, których słowa raz spisane byłyby zrozumiałe dla każdego. A jeśli macie pewne pojęcie z zakresu lingwistyki, powinniście wiedzieć, że istnieją takie wyrażenia, których przetłumaczyć nie da się w ogóle (np. żarty językowe).
Jak nazwalibyśmy zbiór wszystkich książek, które oryginalnie zostały napisane w tym samym języku (lub nawet pochodzących z tego samego kraju? Kulturą. Zwłaszcza, jeśli w pewnym stopniu publikacje te „wiedzą” o sobie nawzajem (może np. autor zainspirował się innym dziełem lub zacytował fragment). Wokół systemów operacyjnych też zawiązuje się coś w rodzaju kultur, zwanych „ekosystemami” – jest to zbiór aplikacji, narzędzi i innych rzeczy z założenia mających działać z danym systemem. Często mogą być „przetłumaczone” na inny system, ale wówczas mogą nie wpasowywać się tak dobrze w swoje otoczenie – np. może w nich brakować pewnych funkcji, których nie dało się przenieść.
Ekosystemy to najpotężniejszy czynnik wpływający na popularność systemów. System z ubogim ekosystemem raczej nie zdobędzie wielu zwolenników. Współczesny człowiek często ma dość wygórowane oczekiwania względem technologii, choć przeważnie podyktowane są one albo przyzwyczajeniem, albo troską o swój wizerunek.
Od chwili „narodzin”, nim ekosystem urośnie do rozmiarów porównywalnych z rynkowymi gigantami takimi jak Windows, upłyną dziesiątki lat. Tempo wzrostu może być szybsze lub wolniejsze i często tylko w niewielkim stopniu zależy od jego twórców. Ale za to zaborcza konkurencja, niczym chwasty, ma moc by pohamować wzrost i zdusić „roślinkę”, póki jest jeszcze mała i słaba.
Czasem w oczach społeczeństwa będzie to wyglądało, jakby to była wina roślinki, że nie jest taka jak inne – są to różne problemy z kompatybilnością: dlaczego ten system nie działa z tym sprzętem? Albo dlaczego ta strona internetowa nie otwiera się w tej przeglądarce? Na pozór może się wydawać, że to twórca systemu nie zadbał o dodanie do niego funkcji pozwalającej korzystać ze sprzętu. Ale równie dobrze to producent sprzętu mógł nałożyć cyfrowe blokady, by uniemożliwić współpracę z nieautoryzowanymi przez niego systemami – co akurat niewielu osobom przychodzi do głowy.
Ale dlaczego w ogóle ktokolwiek miałby coś takiego robić? Czemu pogarszać swój produkt, czyniąc go mniej użytecznym? Aby to zilustrować, wyobraźmy sobie firmę produkującą drukarki. A wraz z drukarkami sprzedaje wkłady z atramentem. Wkłady mają specjalne układy elektroniczne zgłaszające, ile atramentu zostało w środku, co pozwala drukarce wyświetlić info, że już czas uzupełnić zapasy. Firma za wkłady każe sobie słono płacić, na szczęście w obiegu są tańsze, nieoryginalne zamienniki. Może nie odzwierciedlają tak wiernie koloru, ale działać-działają. Niektórym to wystarcza. Ale naszemu producentowi drukarek było nie w smak, że klienci udają się do konkurencji zamiast kupować u niego. Więc pewnego dnia zdalnie wgrał na wszystkie podłączone do Internetu drukarki aktualizację, po której wkłady od firm innych niż HP przestawały działać – to znaczy, wkłady były w porządku, ale drukarka już odmawiała posłuszeństwa.
Ostatecznie powinno być decyzją klienta, w jaki sposób chce używać swoich urządzeń. Wszak zakupiwszy urządzenie, staje się jego właścicielem. Czy producent albo sprzedawca ma prawo w nie ingerować już po zakupie? A jednak wiele firm technologicznych pozwala sobie na takie działania, licząc na to, że będąc przyzwyczajeni do ich produktów i usług, w poczuciu bezradności wobec tej skomplikowanej dla nas technologii poddamy się, i zaakceptujemy ich warunki. Od czasu do czasu przyjdzie im zapłacić jakąś karę, ale wygląda na to, że wliczyli sobie te kary w koszty prowadzenia biznesu.
Ale jest też druga, bardziej optymistyczna strona medalu. Powiedziałem, że istnieje wiele systemów operacyjnych. A system operacyjny nie jest nierozerwalnie związany z urządzeniem. Jeśli ktoś wie jak, może go wymienić na inny – taki, który będzie wykonywał polecenia użytkownika. Sprawa jest banalnie prosta, jeśli chodzi o komputery stacjonarne i laptopy. Nieco trudniej jest ze smartfonami, ale i tu czasem da się coś ugrać. Mnie się udało. Tylko czy my – użytkownicy, ze swoimi wysokimi wymaganiami wobec technologii, będziemy w stanie zaakceptować konieczność zmiany naszych przyzwyczajeń, aby dostosować się do innego systemu?