Czy Android jest open source?
Jaki procent Androida jest naprawdę otwarty i kto może to audytować.
W ustawieniach niemal każdego telefonu, zwykle pod „informacje", jest zakopany ekran zatytułowany licencje open source. Przewiń go. Na moim ostatnim urządzeniu ciągnął się długo — ekran za ekranem nazw projektów, z których większość nic nie znaczy dla osoby trzymającej telefon, a wszystkie potwierdzają, że to urządzenie jest zbudowane z pracy, którą ktoś rozdał.
Ten ekran istnieje, bo wymagają go licencje. To jedyne miejsce, w którym ten układ jest widoczny dla zwykłego użytkownika, i prawie nikt go nigdy nie otworzył. Uważam tę lukę za ciekawą: najszerzej wdrożone oprogramowanie w historii ludzkości jest jednocześnie najmniej widoczne.
Co jest otwarte w telefonie z Androidem
Fundament tak. Kernel jest tym samym, który pracuje na serwerach, opublikowanym na licencji copyleft, dlatego producenci muszą udostępniać swoje modyfikacje kernela. Warstwa nad nim — bazowy system operacyjny, części rysujące okna, zarządzające aplikacjami i obsługujące to, że telefon jest telefonem — jest publikowana jako otwarty projekt, który każdy może pobrać i zbudować.
Jeśli więc liczyć linijki kodu, uczciwa odpowiedź brzmi, że przytłaczająca większość tego, co działa w Twoim telefonie, jest otwarta. Tyle że linijki kodu to zła miara i tu zaczyna się ciekawa część.
Co nie jest i dlaczego to ważniejsze
Na tym otwartym fundamencie leżą trzy kategorie i razem decydują o tym, co urządzenie faktycznie robi.
Pierwsza to warstwa usług — system kont, sklep z aplikacjami, usługi lokalizacji, powiadomienia push, mapy. Zamknięta i w praktyce obowiązkowa, bo aplikacje są pisane pod nią. Weź otwarte wydanie systemu bazowego, zainstaluj je i bardzo szybko odkryjesz, jak duża część współczesnego telefonu nie jest systemem operacyjnym.
Druga to własna warstwa producenta. Interfejs, aplikacja aparatu, preinstalowane oprogramowanie. Zamknięta i to w niej mieszka większość różnic między dwoma telefonami na tym samym systemie bazowym.
Trzecia to ta, o której prawie nikt nie myśli, a która najbardziej decyduje o długości życia urządzenia: firmware. Kod obsługujący radio, matrycę aparatu, czytnik linii papilarnych, zarządzanie zasilaniem. Zamknięty, dostarczany przez producenta układów, i to on jest powodem, dla którego telefon przestaje dostawać aktualizacje. Nie dlatego, że otwarte części przestały być utrzymywane — one idą dalej latami — tylko dlatego, że producent układu przestał dostarczać zaktualizowane zamknięte komponenty dla tej generacji sprzętu.
Uważam to za najbardziej użyteczną rzecz do wiedzenia o całym tym układzie, bo tłumaczy wzorzec, który inaczej wygląda na przypadkowy. Otwarte części urządzenia starzeją się z godnością. Zamknięte wyznaczają datę ważności. To prawda o telefonach i prawda o komputerach, które odnawiam, i dlatego ta sama maszyna bywa skończona pod jednym systemem i sprawna pod innym.
Kto to wszystko sprawdza
Uczciwa odpowiedź brzmi: mniej osób, niż sugeruje zdanie „każdy może to zaudytować", i więcej niż nikt.
Nikt nie czyta całego systemu operacyjnego. To, co dzieje się naprawdę, jest węższe i skuteczniejsze niż wersja romantyczna: badacze bezpieczeństwa badają konkretne komponenty, często dlatego, że im za to płacą albo istnieje program nagród za błędy; grupy akademickie analizują wybrane podsystemy; konkurujący producenci przyglądają się nawzajem swoim wkładom z niemałą uwagą; a niezależne projekty budujące własne wersje systemu bazowego zauważają, kiedy coś się pod nimi zmienia.
To nie jest dziesięć tysięcy wolontariuszy czytających każdą linijkę. To mniejsza liczba zmotywowanych specjalistów mających możliwość zajrzenia — a różnica między „mało kto patrzy" a „nikt nie może patrzeć" jest całym sednem. Zamknięty komponent ma zero możliwych audytorów poza właścicielem. Otwarty ma tylu, ilu się tym przejmie, co zwykle jest liczbą małą i nigdy zerem.
Co zrobić z tą informacją
Nic dramatycznego. Nie zamierzam sugerować instalowania alternatywnego systemu na telefonie; robiłem to, jest pouczające, a dla większości ludzi utrata warstwy usług nie jest wymianą wartą zawarcia.
Warte zabrania jest pewien nawyk zakupowy. Zapytaj, jak długo urządzenie będzie dostawać aktualizacje, zanim je kupisz, bo ta odpowiedź jest deklaracją o zamkniętych częściach i jedyną specyfikacją decydującą o tym, ile lat będzie bezpiecznie z niego korzystać. Producenci obecnie to podają, co jest postępem, a porównanie dwóch urządzeń po tej liczbie jest użyteczniejsze niż porównanie ich po prawie czymkolwiek innym.
I otwórz ten ekran z licencjami raz. Nie dlatego, że powie Ci coś do zrobienia, tylko dlatego, że jest jedynym momentem, w którym widać skalę tej rzeczy: lista setek projektów, napisanych przez ludzi nieopłacanych przez firmę, która sprzedała Ci urządzenie, a bez których urządzenie w Twojej ręce by nie istniało.
Zobacz open source w praktyce.
Na naszym demo działa n8n — ten sam kod, który możesz pobrać i zaudytować — oraz oftionn ai, nasza własna usługa zbudowana na otwartych modelach. Reszta stacku: Nextcloud, Immich, Jellyfin, Stirling PDF i Home Assistant, to ten sam otwarty kod, preinstalowany na sprzęcie, który dostarczamy.