O Google abriu o código-fonte do Gumbo, uma biblioteca para parsing de HTML escrita em C. O Gumbo segue o algoritmo de parsing de HTML5, passando em todos os testes da biblioteca html5lib-0.95, além de ter sido testado em 2,5 bilhões de páginas indexadas pelo Google.
De acordo com a página de descrição do projeto, o propósito em lançar o Gumbo é dar aos desenvolvedores uma biblioteca para parse HTML que não possui dependências externas e pode ser chamado a partir da maioria das linguagens. A biblioteca poderia ser incluída em validadores de páginas web, analisadores estáticos, linguagens de template, ferramentas de refatoração, etc.
O Google considera o Gumbo como "robusto e flexível a uma entrada mal escrita", porém não recomenda que se possua ponteiros para algumas de suas estruturas internas de dados, pois é provável que a API mude no futuro. Apesar da API ser considerada como estável, a equipe está esperando por comentários dos usuários antes de lançar a versão 1.0, o que deve ocorrer no futuro próximo.
Algumas das funcionalidades que serão adicionadas no futuro são:
- Suporte para mudanças recentes na especificação do HTML5 para suportar a tag template;
- Suporte a parse de fragmentos;
- Relatórios de erro com diversos recursos;
- Acoplamento em outras linguagens.
Antes da padronização do algoritmo de parse do HTML 5, cada navegador escolhia como iria interpretar as páginas de entrada e como iria apresentá-las ao usuário. Apesar do HTML 4 possuir especificações a respeito de remarcações válidas, não existia nenhuma diretiva a respeito de como o navegador deveria se comportar quando a entrada não era válida, somado ao fato de 95% das páginas web do mundo não passarem no validador de referência do W3C. Validar páginas HTML com uma ferramenta como o Gumbo garante que páginas serão apropriadamente convertidas e exibidas em todos os grandes navegadores.