QGIS suspende contribuições de IA: o que muda para você
O QGIS, o maior software de GIS open source do planeta, decidiu que por enquanto não aceita contribuições de IA no código. A decisão veio numa proposta de melhoria do projeto, a QEP #387 no GitHub, e é uma moratória: uma pausa com cara de "vamos parar e pensar antes que isso vire bagunça". Se você mantém um projeto, contribui com open source ou só usa Copilot e Claude no dia a dia, vale entender o motivo. A mesma pergunta vai chegar no seu repositório, cedo ou tarde.
O que o QGIS decidiu sobre contribuições de IA
Pra quem nunca abriu: o QGIS é um app desktop de mapas e geoprocessamento. É feito em C++ com Qt, tem uma camada enorme em Python e é licenciado sob GPL. Prefeituras, ONGs, universidades e empresas de agro usam no mundo todo. É um projeto velho, grande e mantido em boa parte por voluntários.
A moratória diz, em resumo, que código gerado por ferramentas de IA generativa não entra na base enquanto o projeto não tiver uma política definitiva. A palavra "moratória" importa. Ninguém está dizendo que IA é do mal. A mensagem é outra: o projeto ainda não sabe lidar com isso de forma segura, então prefere frear.
A discussão em volta gira em três eixos:
- Licença e autoria. O QGIS é GPL. Quem contribui precisa ter direito sobre o que manda. Com código gerado por modelo treinado em sabe-se lá o quê, essa garantia fica nebulosa.
- Custo de revisão. Gerar um PR de 800 linhas leva minutos. Revisar leva horas, e quem revisa é voluntário.
- Entendimento. Um PR em que o autor não sabe explicar a própria mudança é um problema, seja qual for a origem do código.
Por que um projeto open source faria isso
O QGIS não está sozinho. O Gentoo aprovou uma proibição parecida em 2024. O NetBSD passou a tratar código gerado por LLM como "presumivelmente contaminado" do ponto de vista de licença. O QEMU adotou uma regra recusando código gerado por IA, citando o DCO, aquele Signed-off-by em que você declara que tem direito de enviar o que está enviando. E o Daniel Stenberg, do curl, já reclamou publicamente várias vezes da enxurrada de relatórios de segurança gerados por IA que não fazem sentido nenhum.
O padrão é claro. Projetos com licença copyleft, base de código antiga e equipe pequena de mantenedores são os primeiros a puxar o freio. Isso tem pouco a ver com medo de tecnologia. O que pesa é a conta: a IA baixou quase a zero o custo de abrir um PR, e o custo de revisar continua o mesmo.
Gerar código ficou barato. Revisar continua caro, e quem paga é o mantenedor.
Pensa no fluxo de um mantenedor de projeto grande. Antes, um PR ruim custava esforço de quem mandava. Isso filtrava sozinho. Hoje alguém pede pro agente "corrigir a issue #12345", recebe um diff que compila e abre o PR. O mantenedor gasta uma tarde descobrindo que a correção resolve o sintoma e quebra outra coisa em silêncio. Multiplica isso por dez PRs por semana e você entende a moratória.
O outro extremo: o Bun é feito com IA
O contraste fica bonito quando você olha pro Bun. A Anthropic comprou o Bun no fim de 2025, e o time não esconde que usa Claude pesado no desenvolvimento. Tem PR no repositório do Bun aberto por agente, revisado por gente e mergeado. O runtime que muita gente usa em produção hoje é, em parte, escrito com ajuda de IA.
Então quem está certo? Os dois, e esse é o ponto. As situações são bem diferentes:
- O Bun tem um time pago, em tempo integral, que conhece cada canto do código e tem ferramenta pra validar o que a IA produz.
- O QGIS depende de voluntários, carrega décadas de código e tem uma licença que exige clareza de autoria.
IA com revisão forte e dono responsável funciona. Já a IA como atalho pra quem não conhece o projeto vira ruído. A ferramenta é a mesma nos dois casos. O que muda é quem se responsabiliza pelo resultado.
Minha opinião, sem rodeio: a moratória do QGIS é sensata. Talvez seja até atrasada. Uma política clara, mesmo que restritiva, protege mais o projeto do que deixar cada revisor decidir sozinho no humor do dia.
Como aplicar uma política de IA no seu repositório
Você não precisa proibir nada pra aprender com o QGIS. Precisa decidir e escrever. A maioria dos repositórios hoje não tem regra nenhuma, e é aí que mora o problema.
Um bom começo é um trecho no CONTRIBUTING.md:
## Uso de IA
- Você pode usar ferramentas de IA, mas é responsável por cada linha.
- Declare no PR se partes relevantes foram geradas por IA.
- Você precisa conseguir explicar qualquer trecho na revisão.
- PRs que o autor não consegue defender serão fechados.
E se você quer pelo menos saber o que está entrando, dá pra automatizar um aviso no CI. Muita ferramenta de IA deixa rastro nos commits, tipo Co-authored-by: Claude ou "Generated with". Um script em Bun resolve em poucas linhas:
// scripts/check-ai-trailers.ts
const base = Bun.argv[2] ?? "origin/main";
const log = await Bun.$`git log ${base}..HEAD --format=%H%n%B%n--END--`.text();
const suspect = /co-authored-by:.*(claude|copilot|cursor|codex|devin)|generated with/i;
const flagged = log
.split("--END--")
.map((c) => c.trim())
.filter((c) => c && suspect.test(c));
if (flagged.length > 0) {
console.error(`${flagged.length} commit(s) com marca de IA:`);
for (const c of flagged) console.error("-", c.split("\n")[0]);
process.exit(1);
}
console.log("Nenhuma marca de IA encontrada.");
No workflow, é só rodar bun scripts/check-ai-trailers.ts origin/main. O Bun.$ já escapa a variável interpolada, então você não monta string de shell na mão.
Agora, sendo honesto: isso só pega quem é honesto. Basta apagar o trailer e o script fica cego. Detector de texto gerado por IA também não presta, a taxa de falso positivo é ridícula. Então não trate o script como fiscalização. Ele serve pra deixar visível o que a sua política diz. Se o projeto exige declaração, o CI pode cobrar a declaração, e aí exit(1) vira um lembrete educado em vez de uma acusação.
O que muda no seu fluxo como contribuidor
Se você contribui com open source, a regra prática virou esta: leia a política antes de abrir o PR. Se não existir, pergunte numa issue. Mandar código gerado pra um projeto que proíbe isso queima sua reputação ali dentro, e mantenedor tem memória longa.
Mesmo onde é permitido, algumas atitudes separam quem usa IA bem de quem só despeja diff:
- PR pequeno. Se a IA gerou 600 linhas, quebre em partes que alguém consegue revisar num café.
- Teste escrito ou pelo menos rodado por você, não só "o agente disse que passou".
- Descrição com o porquê da mudança, nas suas palavras.
- Resposta rápida e com conteúdo quando o revisor perguntar. "Não sei, foi a IA" encerra a conversa.
No trabalho fechado vale a mesma lógica, só que com menos cerimônia. Seu colega que revisa seu PR também é um mantenedor cansado. A diferença é que ele não pode simplesmente fechar o PR e ir embora (apesar da vontade).
Moratória não é o fim da história
Moratórias acabam. O QGIS provavelmente vai sair dessa com regras de declaração, limites de tamanho de PR e alguma exigência de responsabilidade explícita. Foi esse o caminho de vários projetos depois do susto inicial. Ferramenta jurídica e técnica pra lidar com autoria de código gerado ainda está amadurecendo, e frear enquanto isso não vem é prudência.
O recado pra quem desenvolve é simples. Usar IA virou padrão, e tudo bem. A responsabilidade pelo código continua sendo sua, linha por linha. O QGIS só escreveu isso num documento oficial antes da maioria.
Eu uso IA todo dia nos meus projetos, e a regra aqui é a mesma do QGIS em versão relaxada: se eu não consigo explicar, não entra. Se quiser ver como isso fica na prática, dá uma olhada nos meus projetos.
Resumo para o LinkedIn
O QGIS, maior software de GIS open source do mundo, parou de aceitar código gerado por IA. Não é medo de tecnologia. A conta é simples: abrir um PR ficou quase de graça, mas revisar continua custando horas de voluntário. Do outro lado tem o Bun, escrito em boa parte com Claude e revisado por um time pago em tempo integral. A ferramenta é a mesma. O que muda é quem responde pelo resultado. Minha regra é a versão relaxada da deles: se eu não consigo explicar, não entra. Seu repositório já tem uma política de IA escrita ou cada revisor decide no humor do dia? Deixei no artigo um modelo de CONTRIBUTING.md e um script em Bun pra começar. #OpenSource #InteligenciaArtificial #CodeReview #DesenvolvimentoDeSoftware #QGIS