Problemas com a conformidade de direitos autorais ao reescrever o ScanCode em Rust com a ajuda de IA

Acompanhante da ferramenta de código aberto ScanCode Toolkit, destinada a escanear o código em busca de violações de direitos autorais de terceiros, identificação das licenças utilizadas e descoberta de vulnerabilidades não corrigidas, criticou o projeto que criou um clone do produto ScanCode com a ajuda de IA, reescrito de Python para Rust (o nome do clone não é mencionado, mas, pela aparência, refere-se ao projeto Provenant). Afirma-se que o projeto reescrito infringiu a marca registrada ScanCode e removeu referências a direitos autorais e licenças. As reivindicações são justificadas pelo fato de que no clone reescrito foram mantidos algoritmos-chave do ScanCode, preservada a arquitetura do projeto e a estrutura do código.

Na opinião do acompanhante do ScanCode, a criação bem-sucedida do clone foi facilitada pela existência de um conjunto abrangente de testes automatizados do projeto, que inclui mais de 90 mil testes, dos quais 40 mil se dedicam à detecção do uso de várias licenças no código. Os autores da versão reescrita afirmaram ter alcançado um aumento significativo de desempenho (10 a 100 vezes), mas, segundo o acompanhante do ScanCode, o preço da aceleração foi a não-completude na execução do conjunto de testes, além da redução na precisão e na plenitude das informações fornecidas (o clone apresentava resultados incorretos e não encontrava todas as informações durante a análise).

Se em testes de desempenho especiais o port do Rust superou significativamente o ScanCode, ao passar pelo conjunto de testes padrão, o clone se mostrou mais lento, apesar de que algumas verificações foram puladas. Após a implementação de otimizações no ScanCode, como cache, o desempenho do ScanCode ao escanear o código se tornou tão bom quanto o do clone em Rust, mantendo a precisão do funcionamento.

Os autores do clone também são considerados responsáveis por violar os direitos autorais e a licença Apache 2.0 sob a qual o código do ScanCode é distribuído. Observa-se que, no processo de reescrita, quatro requisitos principais da licença foram violados: deixar o arquivo original com a anotação (NOTICE), manter as menções aos direitos autorais, destacar as alterações feitas e mudar o nome na obra derivada. Após o aviso, os autores do clone publicaram o arquivo NOTICE e renomearam seu projeto, mas duas das outras violações ainda permanecem não corrigidas.

O responsável pelo ScanCode acredita que a comunidade deve desenvolver critérios para distinguir entre o que, ao usar IA, deve ser considerado uma obra derivada e o que é uma implementação independente. Na sua opinião, após reescrever o código em outra linguagem mantendo os algoritmos e a estrutura, o resultado continua a ser uma obra derivada, mesmo que durante o processo as variáveis tenham sido renomeadas e comentários tenham sido modificados ou removidos. As alegações dos autores do porto Rust de uma reestruturação independente, apenas inspirada no projeto ScanCode, são incorretas neste caso, pois o trabalho visa criar a aparência de um desenvolvimento original, o que é ainda pior do que a cópia direta, já que tais manipulações são mais difíceis de detectar.

Um problema significativo na geração de código através da IA é a falta de rastreamento da origem do código que foi utilizado para obter o resultado. Por padrão, os agentes de IA que utilizam código de projetos abertos ignoram informações sobre os autores, a menos que sejam implementados mecanismos específicos para detectar e preservar metadados sobre licenças e autoria. O problema da atribuição não afeta apenas o trabalho de reescrever código de uma linguagem para outra, mas também a geração de código de forma geral — o resultado, nesse caso, pode repetir com precisão bastante elevada os padrões do código aberto existente utilizado durante o treinamento do modelo.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster