Autoria de software em disputa: como a perícia demonstra o desenvolvimento independente?
Demonstra-se reconstruindo a história do código: quando cada parte nasceu, com que ferramentas, a partir de quais fontes, e se existe, no computador e nas contas do desenvolvedor, algum material da outra parte. Datas gravadas na própria máquina podem ser contestadas; por isso o exame se apoia em registros de fora dela (repositório remoto, publicações, e-mails, backups) e, hoje, no histórico dos assistentes de programação por IA, que guarda cada pedido feito e cada fonte consultada.
Dois programas parecidos não contam a história sozinhos
Imagine duas receitas de bolo de cenoura quase iguais. Ninguém conclui, só por isso, que um cozinheiro copiou o caderno do outro: bolo de cenoura leva cenoura, farinha, ovos e forno. A pergunta útil é outra: de onde cada cozinheiro tirou a sua receita?
Com software acontece o mesmo. Dois programas que resolvem o mesmo problema seguem as mesmas normas técnicas, usam as mesmas bibliotecas públicas e acabam com estrutura parecida. A lei brasileira reconhece isso: a semelhança que decorre da função do programa, de normas técnicas ou da falta de outro jeito de escrever a mesma coisa não é violação de direito do titular.
Por isso a disputa de autoria não se resolve olhando os dois códigos lado a lado. Resolve-se contando, com registros, a história de como o código nasceu.
O que o computador registra sem ninguém pedir
Um computador mantém, para o próprio funcionamento, um diário do que acontece nele: quando o sistema foi instalado, quando cada arquivo foi criado, de onde veio cada arquivo baixado, que programas foram executados, que endereços foram acessados. Esse diário não é escrito pelo usuário. É escrito pelo sistema, automaticamente.
As ferramentas de desenvolvimento acrescentam o seu próprio diário. O controle de versão registra cada alteração do código, com autor, data e conteúdo. O editor guarda os projetos abertos. O gerenciador de pacotes guarda o que foi instalado e quando.
Lidos em conjunto, esses registros respondem a perguntas objetivas: em que dia o projeto começou, em que ordem os arquivos apareceram, quanto tempo levou cada parte, e se algum conjunto de arquivos chegou pronto, de uma vez, vindo de fora.
Data da máquina se contesta; registro de fora, não
Aqui está o ponto que decide a maior parte desses casos. A data gravada no próprio computador é como o relógio de parede da casa: o dono pode acertá-lo como quiser. O perito da outra parte vai dizer exatamente isso, e com razão.
O que sustenta uma cronologia é o equivalente ao carimbo do correio: registros feitos por terceiros, fora do alcance de quem está sendo acusado. Os mais comuns são:
- o repositório remoto de código, que data cada envio no servidor dele;
- a publicação de versões em registros públicos de pacotes;
- e-mails enviados e recebidos durante o desenvolvimento;
- backups em nuvem, com as datas do provedor;
- serviços de terceiros que registraram o mesmo fato por conta própria.
Quando as datas de dentro da máquina coincidem com as de fora, a cronologia deixa de depender da palavra de alguém.
O histórico do assistente de inteligência artificial virou vestígio
Grande parte do código hoje é escrita com assistentes de programação por inteligência artificial. Para a perícia, isso criou uma fonte de prova que não existia: essas ferramentas guardam o registro integral de cada sessão. Fica lá o que o desenvolvedor pediu, o que a ferramenta pesquisou, que páginas ela abriu e o que ela gerou.
Esse histórico permite responder a duas perguntas que antes ficavam no campo da versão de cada um:
- Que fontes foram de fato consultadas? Documentação pública e especificações abertas, ou material interno de alguém?
- Como o código foi produzido? O desenvolvedor descreveu o que queria e a ferramenta gerou, ou há blocos de código colados prontos, vindos de outro lugar?
O exame precisa alcançar todas as ferramentas com vestígio no equipamento, inclusive aquelas que a outra parte menciona na acusação. Um laudo que examina só a ferramenta conveniente é incompleto por definição.
A pergunta que decide: há material da outra parte ali?
Mostrar que o código tem história própria é metade do trabalho. A outra metade é a busca direta: existe, no computador e nas contas examinadas, arquivo, código, documentação, licença ou credencial de origem não pública que pertença à outra parte?
A busca é feita por nome, por conteúdo, por resumo criptográfico dos arquivos e pelos acessos registrados. Cada ocorrência é contada e descrita: em que data, em que tipo de registro, em que contexto. Uma menção ao nome da empresa em um resultado de busca na internet é muito diferente de uma pasta com projetos internos dela, e o laudo precisa distinguir as duas coisas.
O que não fazer enquanto a disputa está aberta
- Não formate, não reinstale e não «limpe» o computador. Cada um desses atos apaga registros que poderiam ajudar e deixa a marca de que algo foi apagado.
- Não exclua repositórios, pacotes ou contas, nem mesmo quando a exclusão é oferecida em uma proposta de acordo. Primeiro se preserva, depois se negocia.
- Não mova nem edite as pastas do projeto. Mover arquivos altera datas.
- Não faça a cópia forense por conta própria. É possível, mas enfraquece o que o laudo mais precisa sustentar: a prova de que o material examinado é o que estava no equipamento no dia da coleta.
As perguntas que o laudo deve responder
- Houve reinstalação do sistema? Em que data e por qual método?
- Que arquivos são anteriores a ela, e de onde veio cada conjunto?
- Quais são as datas mais antigas do projeto no controle de versão, na criação dos arquivos e nas ferramentas? Elas batem entre si?
- Que registros externos confirmam essas datas?
- Que fontes foram consultadas durante o desenvolvimento?
- Há material, licença ou credencial da outra parte no equipamento ou nas contas?
- A estratégia técnica adotada já estava disponível em projetos ou especificações públicas?
São perguntas neutras, as mesmas que o perito da parte contrária faria. Essa é a força do documento.
Onde entra o perito
Este artigo mostra o mapa. No caso concreto, o caminho depende do equipamento, das ferramentas usadas, do que já foi alterado e do foro em que a disputa corre. É o perito criminal responsável pelo caso que transforma o mapa em prova: define o que preservar ainda hoje, faz a coleta com cadeia de custódia, examina os registros, responde aos quesitos um a um e sustenta o resultado diante do perito da outra parte.
Quanto mais cedo ele entra, mais registros ainda existem. Parte deles é reciclada pelo próprio sistema em poucas semanas.
- Lei nº 9.609/1998, arts. 4º e 6º, III — titularidade do programa desenvolvido sob contrato e semelhança funcional que não constitui violação
- Lei nº 9.279/1996, art. 195, XI — uso não autorizado de conhecimentos e dados confidenciais
- Código de Processo Civil, art. 465, § 1º — indicação de assistente técnico e apresentação de quesitos
- ABNT NBR ISO/IEC 27037:2012 — identificação, coleta, aquisição e preservação de evidência digital
- ISO/IEC 27042:2015 — análise e interpretação de evidência digital
- NIST SP 800-86 — integração de técnicas forenses à resposta a incidentes
Dúvidas comuns sobre o tema
Se dois programas fazem a mesma coisa, um copiou o outro?
A data dos arquivos no meu computador serve de prova?
O histórico do assistente de programação por IA pode ser usado como prova?
Formatei o computador depois que saí da empresa. Isso me prejudica?
Avaliação inicial e proposta de honorários em até 24 horas.
Descreva o caso, o dispositivo ou o sistema envolvido e o prazo processual. A avaliação é confidencial e sem compromisso. Ver serviços relacionados →
Perito em computação forense e assistente técnico em processos judiciais. Sete anos como perito oficial criminal no Paraná; mais de 400 laudos. Formação em Sistemas de Informação (UNIPAR) e Direito (PUCPR); especialista em Gestão de Projetos, em Gestão e Segurança Pública e em Ministério Público e Estado Democrático de Direito. Sobre o perito · LinkedIn