Como esperado, o Copilot já está gerando código protegido por direitos autorais

GitHub copiloto

O GitHub Copilot é um assistente de programação baseado em IA, disponível como uma extensão para o Visual Studio Code, Visual Studio, Neovim e a suíte JetBrain IDE.

Não muito tempo atrás, tornou-se conhecido e acima de tudo compartilhamos aqui no blog o lançamento geral do GitHub Copilot, que é um assistente de agendamento baseado em IA que oferece sugestões de preenchimento automático à medida que você codifica.

o que torna interessante para co-piloto, é que ele pode dar sugestões ao usuário assim que ele começar a escrever o código você deseja usar ou escrevendo um comentário em linguagem natural que descreva o que você deseja que o código faça. O GitHub Copilot analisa o contexto do arquivo que você está editando, bem como os arquivos relacionados, e oferece sugestões do seu editor de texto.

Copiloto do GitHub ele é otimizado para Python, JavaScript, TypeScript, Ruby, Go, C# ou C++. O GitHub Copilot também pode ser usado para gerar dicas em outras linguagens e diversos frameworks. O GitHub Copilot é desenvolvido pelo OpenAI Codex, um novo sistema de IA criado pela OpenAI.

Do ponto de vista de como eles nos "vendem" Copilot, é bem "maravilhoso" embora o modelo por trás do emaranhamento seja baseado na análise de milhões de linhas de código dos repositórios do GitHub, que desde o início alarmou muitos e acima de tudo levou a um ponto geral de todos os seus críticos e é que em algum momento geraria problemas para "código protegido por direitos autorais".

E bem, parece que isso Não demorou muito para que a "previsão" se tornasse realidade. bem recentemente o desenvolvedor Tim Davis, professor de ciência da computação e engenharia da Texas A&M University, afirmou no Twitter que o GitHub Copilot:

"emite grandes trechos do meu código protegidos por direitos autorais, sem atribuição, sem licença LGPC."

A este comentário, Alex Graveley, engenheiro principal do GitHub e inventor do Copilot, respondeu que

“o código em questão é diferente do exemplo dado. Semelhantes, mas diferentes”. Dito isso, ele acrescentou: “É realmente um problema difícil. Soluções escaláveis ​​são bem-vindas. »

O código que Davis postou e o código gerado pelo Copilot na verdade são muito parecidos. O desenvolvedor Tim Davis postou esta imagem no Twitter, mostrando seu comentário no Visual Studio Code, seu código original de outro projeto abaixo e a sugestão do Copilot à direita.

É importante colocar atenção o código original em questão é de código aberto e pode ser encontrado no GitHub sob a licença LGPL 2.1. No entanto, código aberto não significa livre de direitos autorais, e existem muitas licenças de código aberto diferentes, cada uma concedendo permissões diferentes.

Outro A preocupação é que os desenvolvedores possam inadvertidamente combinar código com licenças incompatíveis no mesmo projeto. A Copilot antecipa esse problema até certo ponto. Há um filtro de código público descrito aqui que afirma

“detectar dicas de código que correspondem ao código público no GitHub… quando o filtro está ativado, o GitHub Copilot verifica as dicas de código com o código circundante de aproximadamente 150 caracteres em relação ao código público no GitHub . Se houver uma correspondência ou quase correspondência, a sugestão não será mostrada a você.”

No entanto, Davis esclarece que “Quando me inscrevi, desativei a opção 'Permitir que o Github use meu código…'. Parte do problema é que, por design, o código-fonte aberto provavelmente aparecerá em vários projetos de pessoas diferentes, de modo que acabará várias vezes no GitHub e entre vários usuários do Copilot. Com ou sem Copilot, os desenvolvedores podem fazer uso indevido de código protegido por direitos autorais.

Sobre o assunto, em Copiloto menciona que «é responsabilidade do programador garantir a segurança e a qualidade de seu código. Recomenda-se que você tome as mesmas precauções ao usar o código gerado pelo Copilot ao usar o código escrito por outra pessoa.“.Essas precauções incluem testes rigorosos, varredura de IP e rastreamento de vulnerabilidades de segurança.

O GitHub fornece vários recursos para ajudar a monitorar e melhorar a qualidade do código, como GitHub Actions, Dependabot, CodeQL e análise de código. Todos esses recursos são gratuitos e podem ser usados ​​em repositórios públicos.

O GitHub Copilot usa filtros para bloquear palavras ofensivas em prompts.

“Estamos comprometidos em melhorar constantemente o sistema de filtragem para detectar e remover de forma mais inteligente sugestões ofensivas geradas pelo GitHub Copilot, incluindo saída tendenciosa, discriminatória ou abusiva”, escreve o GitHub.

Finalmente, a pergunta aqui que muitos têm é: até que ponto o Copilot é bom de usar?