Voltar para o blog
Open SourceIABun

QGIS suspende contribuições de IA: o que muda para você

13 de outubro de 2026·7 min de leitura·Diego Horvatti

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:

  1. PR pequeno. Se a IA gerou 600 linhas, quebre em partes que alguém consegue revisar num café.
  2. Teste escrito ou pelo menos rodado por você, não só "o agente disse que passou".
  3. Descrição com o porquê da mudança, nas suas palavras.
  4. 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