Zmiana procesu tworzenia i postępy w rozwoju przeglądarki Ladybird

Andreas Kling, założyciel przeglądarki internetowej Ladybird, ogłosił zmiany w procesie rozwoju projektu. Ladybird przestaje przyjmować publiczne pull requesty i przechodzi do wprowadzania zmian w kodzie tylko przez opiekunów. Wszystkie już otwarte publiczne pull requesty zostaną zamknięte. Kod źródłowy Ladybird będzie nadal dostarczany na licencji BSD. Zgłoszenia o problemach, lukach w zabezpieczeniach i testach działania z witrynami będą przyjmowane bez zmian. Zewnętrzni entuzjaści będą również mogli uczestniczyć w dyskusjach związanych z wsparciem standardów i architekturą projektu.

Jako powody zaprzestania przyjmowania publicznych pull requestów podaje się przygotowania do pierwszej alpha-wersji, co wymagało bardziej rygorystycznego przydziału odpowiedzialności za wprowadzane zmiany. Według twórców Ladybird kod powinien być przyjmowany tylko od tych, którzy są godni zaufania i gotowi ponieść osobistą odpowiedzialność za każdą linijkę kodu oraz sprawdzić, czy kod jest zgodny z architekturą projektu i czy będzie mógł być wspierany w przyszłości.

Jednym z problemów związanych z przyjmowaniem zmian od wszystkich chętnych jest spadek poziomu zaufania do autorów łatek — ze względu na możliwość generowania zmian przez AI, rozmiar łatki nie odzwierciedla już kosztów pracy i czasu poświęconego na rozwój. Przyjmowanie zewnętrznych łatek ułatwia również działalność przestępców, którzy najpierw generują działające zmiany, aby zdobyć zaufanie do późniejszego wprowadzenia w kod ukrytej luki.

Dodatkowo można wspomnieć o majowym raporcie o rozwoju Ladybird. Wśród ostatnich osiągnięć wyróżnia się:

  • Zrealizowano kompilator JIT dla WebAssembly oparty na Cranelift (przejście z interpretacji na kompilację JIT zwiększyło wydajność testu CoreMark 8-krotnie oraz 3-4-krotnie w mikrotestach poszczególnych funkcji);
  • Wprowadzono nowy blokator niechcianych treści oparty na bibliotece adblock-rust z projektu Brave, wspierający filtry w stylu Adblock Plus i EasyList;
  • Przepisano parser HTML w języku Rust;
  • Kod przewijania treści przeniesiono z głównego wątku do osobnego procesu kompozycji i przetworzono na asynchroniczny model pracy;
  • Domyślnie włączono API Media Source Extensions oraz poprawiono obsługę strumieniowego wideo.
  • Dodano system buforowania bajtów JavaScript na dysku;
  • W zbieraczu śmieci zaimplementowano inkrementalny tryb oczyszczania pamięci, eliminujący długotrwałe wstrzymania obliczeń i zwiększający responsywność interfejsu;
  • Rozszerzona obsługa CSS, wprowadzono zapytania kontenerowe (@container), zakres widoczności (@scope), „grid-template-columns: subgrid”, „scroll-margin”, „scroll-padding”;
  • Dodano API Permissions;
  • Wdrożono protokół HSTS (HTTP Strict Transport Security);
  • Zautomatyzowano rozpoznawanie kodowania tekstu;
  • W narzędziach dla programistów webowych dodano wsparcie dla inspekcji układów flexbox i grid;
  • Ulepszono kompatybilność z Discord, Shopify, Reddit oraz z witrynami korzystającymi z grafik opartych na bibliotece TradingView.
  • Zmodernizowano interfejs użytkownika oparty na bibliotece Qt. Wprowadzono tryb pionowego wyświetlania kart. Dodano możliwość przenoszenia kart myszą w celu grupowania, odpinania lub przenoszenia do innego okna;

  • Zamiast typowych dla Qt stylów paneli i przycisków, wprowadzono własne stylizacje kart, pasków narzędzi i paska adresu. Dodano możliwość przywracania niedawno zamkniętych kart i okien. Wdrożono funkcję wklejania tekstu z schowka za pomocą środkowego przycisku myszy.

Przeglądarka Ladybird jest rozwijana przez Andreasa Klina, który wcześniej pracował w firmie Nokia i zajmował się rozwojem KHTML, a później w Apple był jednym z deweloperów Safari. Początkowo projekt został stworzony jako aplikacja dla systemu operacyjnego SerenityOS, ale latem 2024 roku został wydzielony jako osobny projekt i otrzymał darowiznę w wysokości 1 miliona dolarów. Przeglądarka napisana jest w języku C++ (projekt rozpoczął przepisywanie komponentów na Rust) i jest dystrybuowana na licencji BSD. Projekt rozwija własny silnik LibWeb, interpreter JavaScript LibJS oraz powiązane biblioteki.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster