Главная | IT | Лидер SerenityOS сложил с себя полномочия и основал форк браузера Ladybird

Лидер SerenityOS сложил с себя полномочия и основал форк браузера Ladybird

Андреас Клинг (Andreas Kling), создатель операционной системы SerenityOS, объявил о снятии с себя полномочий “великодушного пожизненного диктатора” (BDFL) проекта и переключении на развитие форка web-браузера Ladybird, ранее развивавшегося в составе SerenityOS. По словам Андреаса последние два года он отстранился от разработки операционной системы и был сосредоточен только на развитии собственного браузерного движка и основанного на нём приложения Ladybird с реализацией web-браузера. Так как вокруг SerenityOS сформировалось крепкое сообщество, насчитывающее более тысячи участников и способное обходиться без него, Андреас решил целиком переключиться на развитие браузера Ladybird и продвижение его как самодостаточного и независимого от SerenityOS проекта.

Браузер Ladybird преодолел путь от простого HTML-просмотрщика, специфичного для SerenityOS, до кроссплатформенного продукта, использующего собственный браузерный движок. Фактически браузер перерос SerenityOS и разделил сообщество на две группы – разработчиков ОС и разработчиков кроссплатформенного браузера. Так как занимающиеся браузером и операционной системой разработчики со временем всё больше и больше отдалялись и теряли общие интересы, в конечном счёте было решено полностью разделить эти проекты. После разделения Андреас возглавит разработку браузера, а группа основных мэйнтейнеров получит управление над SerenityOS.

После отделения разработчики браузера Ladybird прекратят поддержку ОС SerenityOS и сосредоточатся на разработке для платформ Linux и macOS. Разработчики же SerenityOS смогут вернуться к исходной модели разработки ради удовольствия, общения с единомышленниками и в качестве хобби. В отличие от SerenityOS в проекте Ladybird будут убраны ограничения, запрещавшие использование в проекте стороннего кода. Старый репозиторий Ladybird
переведён в архивный режим.

Браузер Ladybird использует собственные движок LibWeb, JavaScript-интерпретатор LibJS, библиотеку отрисовки текста и 2D-графики LibGfx, движок для регулярных выражений LibRegex, XML-парсер LibXML, интерпретатор промежуточного кода WebAssembly (LibWasm), библиотеку для работы с Unicode LibUnicode, библиотеку для преобразования текстовых кодировок LibTextCodec, парсер для разметки Markdown (LibMarkdown), библиотеки с криптографическими примитивами (LibCrypto, LibTLS), библиотеку для работы с архивами LibArchive, библиотеки для воспроизведения звука и видео (LibAudio, LibVideo) и библиотеку LibCore с общим набором полезных функций, таких как преобразование времени, ввода/вывод и обработка MIME-типов.

Графический интерфейс оформлен в классическом стиле и поддерживает вкладки. Для построения интерфейса в macOS используется AppKit, в Android – родной для данной платформы API создания графического интерфейса, а на остальных платформах – Qt. Поддерживаются основные web-стандарты (браузер проходит тесты Acid3), HTTP/1.1 и HTTPS. Код написан на языке C++ и распространяется под лицензией BSD. Поддерживается работа в Linux, macOS, Android, Haiku и OpenIndiana.

В Ladybird применяется многопроцессная архитектура, в которой занимающийся формированием интерфейса процесс отделён от процессов, обеспечивающих обработку web-контента, отправку запросов по сети, декодирование изображений и хранение Cookie. Связанные с декодированием изображений и сетевым взаимодействием обработчики выделены в отдельные процессы для усиления изоляции и защиты. Для каждой вкладки используется отдельный процесс обработки web-контента,
изолированный от остальной системы.

Источник