Chromium to otwarty projekt przeglądarki i wspólna podstawa takich przeglądarek jak Chrome, Edge, Brave czy Opera, ale sam nie jest gotowym produktem dla zwykłych użytkowników. Artykuł wyjaśnia relację między projektem a dystrybucjami oraz to, co stwierdzenie oparty na Chromium pozwala ustalić, a czego nie.
Instalując przeglądarkę, niewiele osób zdaje sobie sprawę, że Edge, Brave, Opera, Vivaldi i Chrome korzystają z tego samego kodu bazowego. Ten kod nazywa się Chromium i decyduje o tym, jak renderowane są strony, jak wykonywane są skrypty i do jakich interfejsów mogą odwoływać się rozszerzenia.
Projekt, nie produkt

Chromium to projekt otwartoźródłowy, udostępniony na otwartej licencji w 2008 roku razem z Chrome, obejmujący silnik renderujący Blink, silnik JavaScript V8 oraz pełny kod interfejsu przeglądarki. Utrzymaniem kieruje Google, ale kod jest publiczny i każdy może na jego podstawie zbudować własną dystrybucję.
Kluczowa różnica jest taka: sam Chromium nie jest gotowym produktem dla zwykłych użytkowników. Oficjalnie dostarczane są stale budowane migawki, bez automatycznej aktualizacji, bez systemu kont i bez wsparcia marki czy usług. To wyjaśnia, dlaczego wiele osób po pobraniu Chromium odkrywa, że aktualizacje trzeba robić samodzielnie.
Dlaczego wszyscy go używają
Utrzymanie silnika przeglądarki jest absurdalnie kosztowne. Nadążanie za standardami sieciowymi, łatanie luk bezpieczeństwa i dostosowywanie się do różnych systemów operacyjnych oraz nowego sprzętu wymagają zespołu zaangażowanego na długo. Pisanie własnego od zera jest nierealne, a odejście od Chromium i modyfikowanie go kosztuje znacznie mniej i pozwala od razu odziedziczyć ekosystem rozszerzeń oraz narzędzia do debugowania.
Drogi się więc rozeszły. Chrome to własny produkt Google; Edge w 2020 roku porzucił własny silnik i przeszedł na Chromium; Opera zrobiła ten krok wcześniej; Brave, Vivaldi i Samsung Internet również budują swoją odrębność na tej podstawie. WebView w Androidzie i aplikacje Electron na pulpicie też korzystają z Chromium. Dla kontrastu Firefox używa Gecko, a Safari WebKit, co jest inną drogą technologiczną.
Różnica między nim a Chrome
Wspólne pochodzenie nie oznacza tego samego. Chrome dodaje do Chromium automatyczną aktualizację, statystyki awarii i użytkowania oraz synchronizację z kontem Google, a także wykupił licencje, by dodać zastrzeżone kodeki, takie jak H.264 i AAC, oraz Widevine DRM, dzięki czemu serwisy streamingowe odtwarzają się poprawnie. Oficjalne kompilacje Chromium zwykle tego nie mają; strona z wideo może się otworzyć, ale nie odtworzy, a logowania i synchronizacji nie ma nigdzie.
Domyślne ustawienia prywatności też są inne. Chromium nie odsyła telemetrii, ale nie oferuje również zestawu przełączników prywatności znanych z Chrome; przeglądarki pochodne podejmują własne decyzje, przy czym Brave domyślnie blokuje reklamy i skrypty śledzące, a Edge zastępuje system kont Microsoftowym. Żadna z tych różnic nie znajduje się w silniku.
Inna często pomijana różnica to tempo zmian wersji. Między producentami pochodnymi a projektem źródłowym istnieje opóźnienie, a niektóre numery wersji wyglądają na ściśle zsynchronizowane, choć w rzeczywistości poprawki są scalane osobno. Napotykając problem występujący tylko w jednej przeglądarce, najpierw potwierdź wersję, a dopiero potem podejrzewaj silnik.
Dlaczego zależy na tym zgodności i automatyzacji
Gdy w pracy nad frontendem strona działa w Chrome, a w innych przeglądarkach sprawia problemy, pierwszym krokiem jest ustalenie, czy to kwestia silnika, czy zmiana producenta. Dopóki wszystko działa na Chromium, zachowanie CSS i JavaScript jest w dużej mierze przewidywalne, a różnice wynikają głównie z wieku wersji i poprawek producenta.
Automatyzacja też na tym korzysta. Wspólny protokół debugowania oznacza, że skrypt napisany dla Chromium często działa od razu w przeglądarce pochodnej; interfejsy DevTools i sposób wywoływania trybu headless również są spójne. Kłopot jest z wersjami: producenci pochodni nadążają za projektem źródłowym w różnym tempie, niektórzy zostają kilka wersji z tyłu, ten sam skrypt działa na starej wersji, a na nowej zgłasza błąd, albo działa w przeglądarce A, ale nie w B, dlatego przypięcie wersji jest ważniejsze niż gonienie za najnowszą.
Zadania automatyzacji, które mają działać równolegle przez długi czas, zwykle przypinają jedną wersję Chromium i używają jej ze środowiskiem uruchomieniowym odizolowanym od reszty. Narzędzia do rozdzielania wielu kont również najczęściej opierają się na Chromium, ponieważ jest otwartoźródłowe, można przypiąć wersję, a interfejsy rozszerzeń i automatyzacji są kompletne. PurpleMark należy do tej kategorii: każdemu kontu daje osobne, niezależne środowisko przeglądarki i rozdziela profile, wyjścia sieciowe oraz cechy urządzenia.
Co to stwierdzenie wyjaśnia, a czego nie
Stwierdzenie, że przeglądarka opiera się na Chromium, pozwala ustalić, że silnik renderujący i silnik skryptów są takie same, że strony zachowują się podobnie, że interfejsy rozszerzeń i protokół debugowania są w większości wspólne, a ryzyko związane ze zgodnością stron jest niskie.
Nie pozwala ustalić długiej listy: domyślnych ustawień prywatności, tego czy zbierana jest telemetria, możliwości synchronizacji, kanałów aktualizacji, tego czy dodano funkcje blokowania lub przyspieszania, oraz tego, ile wersji dzieli ją od projektu źródłowego. Tym bardziej nie pozwala ocenić, czy jest bezpieczna — Chromium otwiera kod, a nie domyślną konfigurację.
Uznanie przeglądarki opartej na Chromium za ten sam produkt to najczęstsze nieporozumienie. O codziennym doświadczeniu decyduje to, co każdy producent dodaje na tej podstawie, co usuwa i jak często synchronizuje się z projektem źródłowym.


