Toda lei tem uma biografia
Uma lei brasileira não é um texto parado. Ela nasce, ganha parágrafos, perde incisos e é reescrita por outras leis, às vezes anos depois. Ela tem uma biografia.
Em 2004, quando defendi meu mestrado em Informática na Universidade Federal do Paraná, quase ninguém guardava essa biografia. O acervo digital de leis do país era, em grande parte, texto solto, sem estrutura e sem registro de quem alterou o quê, nem quando.
Isso tinha um custo real. Um processo judicial é julgado pela lei como ela era na data dos fatos, e não pela versão de hoje. Para saber qual era aquela redação, alguém teria de conhecer todas as normas que um dia mexeram naquela lei. Com milhares de normas em vigor, isso é humanamente impossível.
Foi esse incômodo que virou minha dissertação.
Quando a lei ganhou anatomia
Até 1998, nenhuma regra dizia como uma lei deveria ser escrita. Cada uma vinha de um jeito. Então veio a Lei Complementar 95/1998, depois alterada pela LC 107/2001, e as leis passaram a ter uma anatomia oficial.
Toda norma passou a ter três partes:
- Parte preliminar: epígrafe, ementa e preâmbulo.
- Parte normativa: artigos, que se desdobram em parágrafos, incisos, alíneas e itens, e se agrupam em seções, capítulos, títulos, livros e partes.
- Parte final: local, data, fecho e autoridades.
Para quem vem da computação, isso foi uma janela histórica. Onde existe estrutura, existe modelo. E onde existe modelo, dá para construir sistemas.
A ideia: leis que lembram de quem as mudou
Propus transformar essa anatomia em um padrão XML, definido por um DTD, que serve para todos os atos do art. 59 da Constituição: emendas, leis complementares, ordinárias, delegadas, medidas provisórias, decretos legislativos e resoluções. Cada lei vira um documento estruturado, com um mapeamento paralelo para banco de dados relacional.
Estruturar o texto era só metade do caminho. A parte de que mais me orgulho é o que chamei de duplo relacionamento.
Os sistemas de controle de versão da época marcavam cada nova versão com um carimbo de tempo. Mas não registravam quem tinha feito a mudança, nem lidavam bem com o caso de um documento alterar outro documento diferente. E é exatamente assim que as leis funcionam: uma lei muda outra.
A solução foi um elemento simples, o <refrecord>, gravado nas duas pontas:
- Na lei alterada: cada dispositivo modificado guarda qual lei o mudou, em que data, e se foi alteração ou inclusão.
- Na lei que altera: cada mudança aponta para o dispositivo que ela atingiu.
Com isso, a navegação funciona nos dois sentidos. Abro a LC 95 e vejo tudo o que a modificou. Abro a LC 107 e vejo tudo o que ela modificou.
O modelo também trata os casos difíceis. Quando uma lei inclui um parágrafo que ainda não existia, a referência fica no artigo logo acima. Quando uma lei posterior mexe em algo que outra lei tinha acrescentado, as referências se aninham umas dentro das outras, quantas vezes for preciso.
A lei que ensina a alterar leis virou o caso de teste
Eu não quis deixar a proposta só na teoria. Codifiquei em XML três documentos reais: a LC 95 original, de 1998, a LC 107, de 2001, e a LC 95 consolidada, com cada alteração marcada no lugar exato.
Há uma certa poesia nisso. A lei que define como as leis devem ser escritas e alteradas foi justamente a que precisou ser alterada. Ela virou a prova viva de que o modelo funciona.
Com essa estrutura, uma lei pode ser recuperada em três estados:
- Original: como foi publicada.
- Em qualquer data: como estava no dia em que um fato aconteceu.
- Consolidada: com todas as mudanças aplicadas até hoje.
Por que isso ainda me move
O horizonte que escrevi lá em 2004 continua atual: um repositório nacional único, em que qualquer cidadão consiga ver não só o texto de uma lei, mas a história dela. Uma busca que não dependa só de palavra-chave, mas também do tempo.
Na época, “dados legislativos abertos” ainda nem era pauta. Mesmo assim, eu já enxergava a lei como uma rede de relações no tempo, e não como um texto isolado.
Hoje trabalho com pagamentos internacionais, câmbio e investimentos, e a lição é a mesma. Em qualquer sistema que importa, saber o que mudou, quem mudou e quando vale tanto quanto o dado em si.
Se quiser ir mais fundo, a dissertação completa está no acervo digital da UFPR:
Definição de um padrão baseado em XML para descrição de normas jurídicas brasileiras José de Carvalho Junior · Mestrado em Informática, UFPR · Curitiba, 2004 · Orientador: Prof. Dr. Marcos Sfair Sunye