Resumo

  • O histórico oficial de lançamentos registra em 2.0-alpha-2, em 20 de setembro de 2001, o abandono do nome SQLus, a volta do pager e do B-tree como único backend, a remoção da camada Dbbe e dos drivers GDBM e de memória, e a renúncia ao copyright do código.
  • A explicação oficial dos números de versão identifica GDBM nas versões 1.0 a 1.0.32 e um B-tree próprio na série 2.x. Naquele sistema de numeração, o primeiro dígito indicava o formato do arquivo de banco de dados.

O que se podia levar e o que se recebia pronto

O domínio público muda a relação de um desenvolvedor com o código. A página atual de direitos do SQLite afirma que ele pode copiar, alterar, compilar, vender e distribuir a biblioteca entregue. Nada disso obriga o projeto a oferecer vários motores de armazenamento na próxima compilação. O changelog de setembro põe a liberação do código e a concentração do backend na mesma entrada, sem afirmar que uma decisão causou a outra.

O antigo motor fazia diferença concreta. Em 4 de abril de 2001, a versão 1.0.28 ganhou transações limitadas sobre GDBM. O mecanismo travava tabelas, mas ainda não tinha rollback nem commit atômico. A palavra transação no SQL não bastava para garantir recuperação depois de uma falha. O caminho entre o comando e o disco era parte da promessa, e esse caminho estava em mudança. O pager chegou em 15 de abril, ainda sem uso segundo o próprio registro.

Em 23 de julho, a 1.0.32 retirou pager e B-tree. A intenção declarada era empregá-los numa futura biblioteca de servidor SQL chamada SQLus. Em setembro, a ideia de renomear a biblioteca foi abandonada. O SQLite manteve seu nome, recebeu de volta os dois subsistemas e os tornou a única opção de backend. Saíram a abstração Dbbe, GDBM e o driver de memória. Não há no documento uma ata das disputas internas. Há algo mais útil para quem dependia do programa: a lista datada do que deixou de ser entregue.

O arquivo denunciava a mudança

O documento de numeração explica que o algarismo inicial representava o formato do banco. A passagem de 1 para 2, portanto, alcançava os dados persistidos. A série 2 usou um B-tree próprio para chaves e dados de texto. A série 3, posterior, trouxe o suporte completo a dados binários e Unicode. Não se deve emprestar à versão de 2001 as capacidades que vieram depois.

E a entrega de 20 de setembro ainda era alpha. A alpha-3 de 27 de setembro corrigiu rollback e travamento e retornou ao formato de arquivo da primeira alpha. Em 28 de setembro, a 2.0.0 passou a gerar automaticamente binários para Linux e Windows e a colocá-los no site. O anúncio jurídico aconteceu antes de esse conjunto de comportamento e distribuição estar estabilizado.

O usuário podia pegar o código e construir outra variante. Para obter um motor alternativo mantido, porém, teria de assumir interface, teste e distribuição por conta própria. O projeto eliminou uma barreira legal e escolheu onde concentrar sua engenharia. É por isso que o registro de setembro conta uma história sobre software em execução, não apenas sobre licença.