Chromium este un proiect de browser cu sursă deschisă și totodată baza comună a browserelor precum Chrome, Edge, Brave și Opera, dar nu este în sine un produs finit pentru utilizatorii obișnuiți. Articolul explică relația dintre proiect și distribuții și ce anume stabilește și ce nu stabilește afirmația bazat pe Chromium.
Când instalezi un browser, puțini își dau seama că Edge, Brave, Opera, Vivaldi și Chrome folosesc același cod de bază. Acest cod se numește Chromium și determină modul în care sunt randate paginile, cum sunt executate scripturile și la ce interfețe pot apela extensiile.
Un proiect, nu un produs

Chromium este un proiect cu sursă deschisă, publicat ca open source în 2008 împreună cu Chrome, și include motorul de randare Blink, motorul JavaScript V8 și codul complet al interfeței browserului. Google conduce întreținerea, dar codul este public, iar oricine îl poate folosi pentru a-și construi propria distribuție.
Diferența esențială este aceasta: Chromium în sine nu este un produs finit pentru utilizatorii obișnuiți. Oficial se oferă instantanee compilate continuu, fără actualizator automat, fără sistem de conturi și fără suport de brand sau de servicii. Aceasta explică și de ce mulți oameni, după ce descarcă Chromium, descoperă că actualizările trebuie făcute manual.
De ce îl folosesc toți
Întreținerea unui motor de browser este extrem de costisitoare. Ținerea pasului cu standardele web, repararea vulnerabilităților de securitate și adaptarea la diverse sisteme de operare și la hardware nou cer o echipă implicată pe termen lung. Scrierea unuia de la zero este nerealistă, în timp ce derivarea din Chromium și modificarea lui costă mult mai puțin și moștenește direct ecosistemul de extensii și instrumentele de depanare.
Așa că drumurile s-au separat. Chrome este produsul propriu al Google; Edge a renunțat în 2020 la motorul propriu și a trecut la Chromium; Opera a făcut acest pas mai devreme; Brave, Vivaldi și Samsung Internet își construiesc și ele diferențierea pe această bază. WebView din Android și aplicațiile Electron de pe desktop folosesc la fel Chromium. În schimb, Firefox folosește Gecko, iar Safari folosește WebKit, o altă rută tehnică.
Diferența față de Chrome
Aceeași origine nu înseamnă același lucru. Chrome adaugă peste Chromium un actualizator automat, statistici de blocare și de utilizare și sincronizarea cu contul Google și a cumpărat licențe pentru a include codecuri proprietare precum H.264 și AAC, plus Widevine DRM, motiv pentru care site-urile de streaming se redau corect. Compilările oficiale ale Chromium de obicei nu le includ; o pagină video se poate deschide fără să se redea, iar autentificarea și sincronizarea nu se găsesc nicăieri.
Valorile implicite de confidențialitate sunt și ele diferite. Chromium nu trimite telemetrie înapoi, dar nu oferă nici setul de comutatoare de confidențialitate din Chrome; browserele derivate fac fiecare propriile alegeri, Brave blocând implicit reclamele și scripturile de urmărire, iar Edge înlocuind sistemul de conturi cu cel al Microsoft. Niciuna dintre aceste diferențe nu se află în motor.
O altă diferență des trecută cu vederea este ritmul versiunilor. Între producătorii derivați și proiectul original există un decalaj de timp, iar unele numere de versiune par să meargă în pas strâns, deși corecțiile sunt de fapt integrate separat. Când întâlnești o problemă care apare doar într-un anumit browser, verifică mai întâi versiunea și abia apoi suspectează motorul.
De ce le pasă compatibilității și automatizării
Când dezvoltarea front-end dă peste o pagină care funcționează în Chrome și dă erori în alte browsere, primul pas este să stabilești dacă este o problemă de motor sau o modificare a producătorului. Atât timp cât totul rulează pe Chromium, comportamentul CSS și JavaScript este în mare măsură previzibil, iar diferențele vin mai ales din vechimea versiunii și din corecțiile producătorului.
Automatizarea are și ea de câștigat. Un protocol de depanare comun înseamnă că un script scris pentru Chromium rulează adesea direct pe un browser derivat; interfețele DevTools și modul de apelare a modului headless sunt și ele identice. Problema apare la versiuni: producătorii derivați urmăresc proiectul original în ritmuri diferite, unii rămân mai multe versiuni în urmă, același script rulează pe versiunea veche și dă eroare pe cea nouă sau funcționează în browserul A, dar nu în B, așa că fixarea versiunii contează mai mult decât goana după cea mai nouă.
Sarcinile de automatizare care trebuie să ruleze în paralel pe termen lung fixează de obicei o versiune de Chromium și o folosesc împreună cu un mediu de execuție izolat. Majoritatea instrumentelor de izolare a mai multor conturi folosesc tot Chromium ca bază, pentru că este open source, versiunea poate fi fixată, iar interfețele de extensii și automatizare sunt complete. PurpleMark este un astfel de instrument: oferă fiecărui cont un mediu de browser independent și separă profilurile, ieșirile de rețea și caracteristicile dispozitivului.
Ce explică această afirmație și ce nu
A spune că un browser se bazează pe Chromium stabilește că motorul de randare și motorul de scripturi sunt identice, că paginile web se comportă asemănător, că interfețele de extensii și protocolul de depanare sunt în general interschimbabile și că riscul pentru compatibilitatea web este scăzut.
Ce nu stabilește este o listă lungă: valorile implicite de confidențialitate, dacă se colectează telemetrie, capacitatea de sincronizare, canalele de actualizare, dacă s-au adăugat funcții suplimentare de blocare sau de accelerare și câte versiuni este în urmă față de proiectul original. Cu atât mai puțin se poate judeca dacă este sigur, pentru că ceea ce deschide Chromium este codul, nu configurația implicită.
A considera un browser bazat pe Chromium drept același produs este cea mai frecventă interpretare greșită. Ceea ce decide cu adevărat experiența zilnică este ce adaugă fiecare producător peste această bază, ce elimină și cât de des se sincronizează cu proiectul original.


