2 pontos por GN⁺ 2024-02-07 | 1 comentários | Compartilhar no WhatsApp
  • Em um cenário em que os mecanismos de navegador web estão concentrados em poucas empresas, o Ladybird é um projeto independente que cria um novo mecanismo do zero, sem fazer fork de motores existentes
  • O primeiro Alpha tem como meta 2026 para Linux e macOS, e no momento está em uma fase de desenvolvimento ativo voltada a desenvolvedores e early adopters
  • O projeto mantém o foco no objetivo de um mecanismo baseado em padrões web e destaca como diferenciais operar sem acordos de busca padrão, cripto tokens ou monetização de usuários
  • O desenvolvimento é aberto em código-fonte aberto, e é possível participar com relatórios de bugs, casos mínimos de reprodução, testes de sites, relatos de problemas de segurança e feedback técnico
  • Doações e patrocínios são a única fonte de recursos, e patrocinadores não têm influência sobre o roadmap técnico nem sobre a direção do produto

Objetivos e estado atual do Ladybird

  • Ladybird é um projeto para criar um mecanismo de navegador web inteiramente novo
  • No momento está em desenvolvimento ativo, com a meta de lançar o primeiro Alpha para Linux e macOS em 2026
  • A web é uma plataforma importante na computação, mas existem poucos mecanismos de navegador que movem a web inteira, e cada um deles é controlado por uma empresa específica
  • O Ladybird é um projeto para criar um mecanismo independente com os padrões web no centro

Diferenciais que o projeto destaca

  • Independência total

    • Constrói um novo mecanismo sem usar código de motores existentes como Blink, WebKit e Gecko
  • Foco único

    • O foco do projeto é uma coisa só: criar um navegador web
  • Sem monetização de usuários

    • Não usa acordos de busca padrão, cripto tokens nem outras formas de monetização de usuários

Fluxo recente de desenvolvimento

  • Changing How We Develop Ladybird
    • Está mudando a forma como o código entra no projeto como parte da preparação para oferecer o navegador a usuários reais
  • This Month in Ladybird - May 2026
    • Inclui passagem pelo Cloudflare Turnstile, rolagem assíncrona no out-of-process compositor, ativação padrão de Media Source Extensions, WebAssembly JIT, bloqueio nativo de conteúdo, parser HTML em Rust, cache em disco de bytecode JS e CSS @container, @scope e subgrid
  • This Month in Ladybird - April 2026
    • Inclui visualizador inline de PDF com base em pdf.js, frontend GTK4, histórico, parsing HTML especulativo, compilação JS off-thread, DNS assíncrono e CSS anchor positioning
  • This Month in Ladybird - March 2026
    • Inclui interpretador em assembly escrito à mão, parsing off-thread, novo mecanismo de regex, IPC via Mach port, favoritos, CSS if(), inherit(), @container, @function e invalidação de estilo
  • This Month in Ladybird - February 2026
    • Inclui adoção de Rust, reformulação da edição de texto, trabalho de performance para YouTube e Reddit, ScrollTimeline, CSS @counter-style e relayout parcial de SVG
  • Ladybird adopts Rust, with help from AI
    • Adota Rust como linguagem sucessora de C++ e usa agentes de IA para acelerar a transição

Participação e build

  • O Ladybird é um projeto open source desenvolvido publicamente por uma equipe pequena
  • Contribuidores podem participar com relatórios de bugs, criação de casos mínimos de reprodução, testes de sites, relatos de problemas de segurança e compartilhamento de feedback técnico
  • É possível clonar e executar o código localmente
$ git clone https://github.com/LadybirdBrowser/ladybird.git
$ cd ladybird
$ ./Meta/ladybird.py run

Financiamento e princípios de patrocínio

  • O Ladybird opera inteiramente com doações e patrocínios
    • Sem acordos de busca
    • Sem coleta de dados
    • Sem anúncios
  • Patrocinadores aparecem no site e nas atualizações do projeto, e o período de patrocínio é de 1 ano
  • Os valores de patrocínio são os seguintes
    • Platinum: $100,000
    • Gold: $50,000
    • Silver: $10,000
    • Bronze: $5,000
    • Copper: $1,000
  • Contatos sobre patrocínio são recebidos em contact@ladybird.org
  • Doações individuais podem ser feitas pelo Donorbox em contribuição única ou mensal recorrente
  • Doações de grande porte devem ser tratadas por contato direto para evitar taxas de processamento

Limitações do FAQ e planos futuros

  • O primeiro Alpha tem como meta 2026 para Linux e macOS e é voltado a desenvolvedores e early adopters
  • Atualmente, o Ladybird conta com uma pequena equipe regular de engenharia e recebe da comunidade testes, relatórios de bugs, relatórios de segurança e feedback técnico
  • O tamanho da equipe está estável, e os planos de contratação serão revistos se as necessidades do projeto mudarem
  • O projeto busca sempre manter 18 meses de runway
  • Dizer que não é um fork de um motor existente significa que não usa código de Blink, WebKit, Gecko ou de outros mecanismos de navegador
    • Por motivos históricos, usa várias bibliotecas do projeto SerenityOS
    • Depois que o Ladybird foi desmembrado do SerenityOS, ele deixou de ficar preso a uma cultura de escrever tudo do zero
    • Para funções comuns como formatos de imagem, áudio, vídeo, criptografia e gráficos, usa bibliotecas de terceiros, incluindo algumas também usadas por outros navegadores
  • O suporte a Windows avança em etapas
    • O CI já faz build e testes do mecanismo de JavaScript no Windows
    • O suporte a Windows para o mecanismo de navegador completo virá em uma etapa posterior
    • Os engenheiros em tempo integral estão focados atualmente em macOS e Linux
  • Plataformas móveis não são o foco no momento
    • Depois que a versão desktop estiver em melhor estado, mais esforço será dedicado a Android e iOS
  • O patrocínio é uma forma de doação sem restrições
    • Assentos no conselho ou outras formas de influência não estão à venda
    • Patrocinadores não têm voz sobre o roadmap técnico nem sobre a direção do produto
  • Como o Ladybird começou como um projeto em C++ dentro do SerenityOS, a base de código começou em C++ e em sua maior parte continua em C++
    • Depois, Rust foi adotada como linguagem sucessora de C++
    • Os subsistemas estão sendo portados gradualmente para Rust
    • Mais detalhes podem ser vistos no anúncio de adoção de Rust

1 comentários

 
GN⁺ 2024-02-07
Opiniões no Hacker News
  • É realmente inspirador ver ele e seus colegas hackers criando um novo navegador independente do zero.
    Considerando a escala de pessoal e financiamento, eu não achava que seria possível.
    Por outro lado, fico me perguntando se agora estamos vendo o resultado de os navegadores terem se padronizado melhor em algo como “95%+” dos recursos populares, e se por isso escrever um navegador hoje é mais fácil do que criar e manter um navegador há 10 anos.
    A web ainda está evoluindo, mas parece mais estável do que há 10–15 anos, e os desenvolvedores de antigamente não tinham um roteiro tão maduro quanto o de hoje quando definiam o projeto inicial de um navegador.
    Hoje já existe uma enorme quantidade de padrões web, e também sabemos, com o tempo, o que foi popular, o que facilita priorizar o suporte à web moderna.
    À primeira vista parece que há mais de tudo, mas acho que também há muitas ideias que podem ser descartadas. Houve uma época em que o Internet Explorer dava suporte a XSLT e FTP era comum.
    Edit: XSLT ainda é suportado por todos os principais navegadores, mas quase não é usado e ficou parado no XSLT 1.0; então parece entrar na categoria de coisas que podem ser omitidas com segurança por bastante tempo.

    • Obrigado, e tenho muito orgulho de todas as pessoas que trabalharam junto comigo.
      Venho trabalhando em navegadores de forma intermitente desde 2006, e o ambiente atual é completamente diferente.
      As especificações estão melhores do que nunca, e os testes disponíveis viraram um verdadeiro tesouro.
    • Não ficou mais fácil agora. Ainda existe um monopolista ditando o jogo; só não se chama Microsoft.
      Se alguém ameaçar a posição do Google, o Google pode despejar dinheiro, criar padrões excessivamente complexos e implementá-los no Blink para obrigar os concorrentes a acompanhar.
      Nem precisa passar pelo W3C. Se funcionar no Chrome, os desenvolvedores web adotam, e os engines menores acabam tendo que oferecer suporte para não perder a fatia de mercado que restou.
      A importância estratégica de controlar a internet hoje é maior do que era há 20–30 anos, quando a Microsoft estava no auge.
    • Comparado a 10 anos atrás, talvez; mas, décadas atrás, só olhando para HTML já havia muito menos coisas a suportar.
      Basta comparar https://www.ietf.org/rfc/rfc1866.txt com https://html.spec.whatwg.org/multipage/.
      Mesmo antigamente escrever um navegador web era difícil por vários motivos, mas hoje criar um navegador completo é uma tarefa gigantesca, e novos recursos continuam sendo adicionados, com expectativa de suporte pelos navegadores.
    • Provavelmente não. Há padrões web e um senso de design, mas é bem possível que a quantidade total de APIs e recursos de HTML/CSS que um navegador precisa suportar esteja mudando mais rápido do que a equipe do Ladybird consegue implementar ativamente.
      A superfície de APIs ficou incomparavelmente maior do que há 10–15 anos: https://developer.mozilla.org/en-US/docs/Web/API
      E isso nem inclui JavaScript, MathML, SVG, recursos de segurança baseados em HTTP, criptografia nem atualizações de suporte a mídia.
    • A plataforma web continua melhorando. Como alguém que vive de desenvolvimento web desde 1998, fico feliz em ver iniciativas como Interop 2024 e Web Platform Tests, que aumentam a velocidade de adoção e a confiabilidade dos recursos centrais da plataforma.
      1. https://www.webkit.org/blog/14633/get-ready-for-interop-2024...
      2. https://wpt.fyi
  • É realmente impressionante que uma pessoa tenha começado, por diversão e para fazer algo interessante, a criar um sistema operacional inteiro do zero e, por acaso, acabou criando um dos novos engines de navegador mais promissores dos últimos 10–20 anos.
    Tenho acompanhado os vídeos de desenvolvimento há 1 ou 2 anos, e a velocidade com que avançou em tão pouco tempo é difícil de acreditar.
    Agora há vários voluntários e também patrocínio suficiente para pagar mais de um desenvolvedor, então estou bem animado com o futuro.

    • Ele é um especialista de nível mundial em renderização web e um desenvolvedor C++ extremamente competente.
      Uma das chaves do sucesso é a forma como ele traduz várias especificações diretamente para código, o que hoje é quase a melhor abordagem possível. Também há uma forte orientação por testes.
      Quando se diz “do zero”, isso inclui não usar nem a biblioteca padrão de C++ e ter até uma classe própria de strings; para o bem ou para o mal, como é um projeto “só por diversão” e “para aprender”, tudo bem.
      Quando só as bibliotecas e o OS já pareciam loucura, ele anunciou que colocaria um navegador e um engine JavaScript em cima; depois vieram um compilador JIT e, como nem C++ nem Rust o satisfaziam totalmente, até uma nova linguagem própria, Jakt.
      Mais admirável que a expertise é a humildade e a gentileza. Ao contrário de Linus e outros, ele não tem uma autopromoção forte; em cada vídeo, menciona pelo nome quem fez o quê e dá o devido crédito. É um ótimo modelo para o open source.
    • Ele não trabalhou por alguns anos na equipe do WebKit da Apple?
      Continua sendo impressionante, mas ele não é exatamente um novato completo quando o assunto é desenvolvimento de navegadores.
    • Só pelo link não ficou claro para mim: o que faz dele um engine promissor assim?
    • Conheci esse projeto por um episódio do podcast co-recursive, e a história foi interessante: https://corecursive.com/serenity-os-with-andreas-kling/
    • O que poderia acontecer? Por que precisamos de um novo engine de navegador?
  • Espero que se torne um navegador utilizável no dia a dia. Um novo motor web é excelente, e também espero que o Servo dê certo
    Eu até poderia considerar contribuir, mas a coordenação do desenvolvimento acontece no Discord, e eu evito software proprietário… [1]
    É uma pena, mas, como é algo feito por diversão, não dá para culpar
    [1] https://drewdevault.com/2022/03/29/free-software-free-infras...

    • Aquele texto foi bem difícil de ler. Gosto de muitas coisas que o Drew diz, mas isso me parece exagerado
      Ele chama autores que promovem software open source em canais como Twitter, Hacker News, LinkedIn e GitHub de “descaradamente egoístas e antiéticos”
      Esse tipo de dogmatismo é difícil, e dá a sensação de empurrar uma definição de liberdade e open source hostil a pessoas que só querem criar algo legal e compartilhar com o mundo, até mesmo a quem quer ganhar dinheiro com FOSS
      Tendo opiniões tão fortes assim, é surpreendente ele publicar textos como “Can I be on your podcast”[1] para divulgar sua linguagem de programação Hare
      Não é como se ele procurasse apenas podcasts que não são distribuídos em plataformas como Spotify ou Apple Podcasts; na prática, ele vem divulgando Hare por meio de várias participações
      Isso soa como hipocrisia
      [1]: https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast....
    • Acho que o HN também é software proprietário
  • Gosto desta parte do FAQ
    “Por que fazer isso? Não dá para criar um novo motor de navegador sem bilhões de dólares e centenas de funcionários.”
    “Dá, sim. Não dê ouvidos a derrotistas de braços cruzados que nunca criaram um navegador.”

  • É bom ver que a concorrência ainda está viva no desenvolvimento de motores de navegador. Também há o Servo, que fazia parte da Mozilla: https://servo.org/
    Dito isso, tanto o Servo quanto o Ladybird ainda são bastante imaturos em comparação com navegadores de uso diário
    É uma pena não haver um build nightly para testar o Ladybird, mas provavelmente é porque não querem relatórios de bugs. Se tudo ainda está em um estado em que nada funciona direito, não faz sentido acumular bugs aleatórios

    • Da última vez que tentei, compilar o Ladybird não demorou muito
      Claro, isso foi em algum momento do ano passado e agora pode estar mais lento, mas ainda fica longe de um build de 9 horas do Chromium
    • Há pacotes do Ladybird no AUR https://aur.archlinux.org/packages/ladybird-git, no FreshPorts https://www.freshports.org/www/ladybird e no HaikuPorts https://depot.haiku-os.org/ladybird
    • Também não dá para esquecer o WebKit. Ele deu origem a projetos como https://surf.suckless.org
    • Pelo que me lembro, o motivo de não haver builds é que, ao fazer as pessoas compilarem por conta própria, os usuários e quem abre issues acabam tendo um certo nível de competência técnica
      Isso facilita a vida dos mantenedores, e é bem provável que mude quando o projeto amadurecer
  • Essas capturas de tela do progresso são muito boas: https://serenityos.org/happy/1st/

    • Olhando os timestamps, o ritmo de progresso no começo, quando ele trabalhava sozinho, é realmente impressionante
      Quando se trata de programação, ele parece mesmo um desenvolvedor faz-tudo
  • Fazendo um experimento mental: que tal um novo tipo de navegador para um novo tipo de web? Grande parte do CSS está ultrapassada
    Então, talvez uma versão “moderna”, especialmente construída em torno de CSS Grid e Flex, pudesse oferecer a mesma funcionalidade sem excesso de bagagem
    Estou falando de histórias antigas como o layout de três colunas do Santo Graal
    Isso também faz pensar em canvas, threejs, react-three-fiber e react-drei. Especialmente no mobile, será que canvas não poderia oferecer uma experiência de usuário melhor?
    Quem escreve jogos mobile em HTML e CSS? Não quero dizer que seja impossível, mas fico curioso sobre quantos sites realmente precisam de HTML e CSS em vez de canvas
    Uma grande barreira para a concorrência entre navegadores é ter que implementar tecnologias antigas e legadas. Não daria para seguir apenas com um HTML mínimo e canvas?

    • Já trabalhei um pouco em um engine de navegador no passado, embora faça muito tempo
      Acho que isso não vai ajudar muito
      A superfície das APIs da web cresceu como uma explosão cambriana, e as coisas modernas sufocam as antigas. Mesmo removendo o suporte a mecanismos antigos ou menos usados, o código e a complexidade não diminuem tanto quanto se imagina
      Para além da simples superfície, implementar um “perfil central limitado” em nível competitivo exige um patamar de engenharia muito alto, especialmente em um desenvolvimento totalmente do zero que também leve desempenho em conta
      O efeito de cauda longa também é forte: como a maioria dos sites modernos ainda depende, aqui e ali, de elementos antigos, pode ser que quase nenhuma página funcione direito nesse navegador hipotético
      Ou seja, ainda seria um projeto enorme e difícil. É claro que a comunidade FOSS já realizou muitos projetos grandes e difíceis, então não estou dizendo que seja impossível
    • Gostaria que parássemos de seguir essa tendência do Google de transformar a web em um OS em benefício de seu modelo baseado em anúncios e rastreamento de usuários
      Se você quer criar um app, conectado ou não, já existem a internet e os sistemas operacionais. Também não há necessidade de piorar as interfaces brigando com o navegador
      Isso é especialmente importante em jogos ou outros softwares profundos
      O núcleo original da web é um conjunto de documentos conectados por hyperlinks, às vezes com multimídia, e com alguma interação adicionada por alguns formulários e scripts
      Para ver como a situação atual é estranha, basta imaginar um universo paralelo em que a Adobe, em vez do Google, tivesse se tornado gigante, e JavaScript dentro de PDFs fosse abusado para criar apps
    • O que exatamente está ultrapassado no CSS? float e inline-block ainda têm casos de uso válidos
      border-box também resolve a maior parte das dores dos anos 2000. Parece uma boa ideia, mas não sei o que poderia ser cortado
      Tabelas também ainda são a melhor opção para dados tabulares reais
    • Parece que existem frameworks modernos que renderizam tudo em WebGL/WebGPU via canvas
  • Threads relacionadas em andamento e posts anteriores
    Interview with Andreas Kling of Serenity OS (2022) - https://news.ycombinator.com/item?id=39286638 - fevereiro de 2024, 134 comentários
    Ladybird browser update (July 2023) [video] - https://news.ycombinator.com/item?id=36939402 - julho de 2023, 1 comentário
    Chat with Andreas Kling about Ladybird and developing a browser engine - https://news.ycombinator.com/item?id=36620450 - julho de 2023, 65 comentários
    Shopify Sponsored Ladybird Browser - https://news.ycombinator.com/item?id=36502583 - junho de 2023, 1 comentário
    I have received a $100k sponsorship for Ladybird browser - https://news.ycombinator.com/item?id=36377805 - junho de 2023, 166 comentários
    Early stages of Google Docs support in the Ladybird browser - https://news.ycombinator.com/item?id=33511831 - novembro de 2022, 84 comentários
    Github.com on Ladybird, new browser with JavaScript/CSS/SVG engines from scratch - https://news.ycombinator.com/item?id=33273785 - outubro de 2022, 1 comentário
    Ladybird: A new cross-platform browser project - https://news.ycombinator.com/item?id=32809126 - setembro de 2022, 473 comentários
    Ladybird: A truly new Web Browser comes to Linux - https://news.ycombinator.com/item?id=32014061 - julho de 2022, 8 comentários
    Ladybird Web Browser - https://news.ycombinator.com/item?id=31987506 - julho de 2022, 2 comentários
    Ladybird Web Browser – SerenityOS LibWeb Engine on Linux - https://news.ycombinator.com/item?id=31976579 - julho de 2022, 2 comentários

  • Enquanto a Mozilla revende serviços de privacidade, outros estão criando navegadores melhores
    Nem são necessários US$ 6 bilhões

    • A Mozilla certamente tem um problema de gestão. Mas o produto é bom, até muito bom
  • Andreas Kling e o projeto SerenityOS são ótimos, mas não gosto que ele esteja só no Twitter
    O Mastodon parece perfeito para o público dele

    • Não tenho tanta certeza. Ele é bastante consistente em tentar ver as coisas de forma positiva, e o Mastodon parece ser um espaço muito mais raivoso que o Twitter
      O Twitter também já foi mais assim, mas, depois que Elon o comprou, dá a impressão de que as pessoas mais raivosas migraram para o Mastodon
      No Mastodon, acho que esse clima é muito evidente e difícil de evitar
    • Há um espelho no Mastodon: @awesomekling@bird.makeup