Direct File do IRS dos EUA tem código publicado no GitHub
(chrisgiven.com)- O IRS publicou no GitHub como código aberto uma parte substancial do código-fonte do Direct File
- Como obra do governo dos EUA, o código pertence ao domínio público, e qualquer pessoa pode revisá-lo
- Esta publicação faz parte da implementação do SHARE IT Act e foi anunciada 3 semanas antes do prazo legal
- A abertura em código aberto tem como objetivo aumentar a transparência e construir confiança dos contribuintes
- A equipe do Direct File também prioriza segurança de dados, aplicação justa dos benefícios fiscais e ampliação do acesso público
Publicação do código-fonte do Direct File no GitHub
Em 30 de maio de 2025, o IRS publicou no GitHub, como software de código aberto, a maior parte do código-fonte do serviço Direct File. Como obra do governo dos EUA, esse código pertence ao domínio público, e qualquer pessoa pode consultar livremente seu conteúdo.
Objetivo e contexto da divulgação
A publicação deste código-fonte é uma medida para cumprir o SHARE IT Act (projeto de lei federal nº 9566 do 118º Congresso) e ocorreu 3 semanas antes do prazo oficial. Espera-se que mais códigos de software operados pelo IRS se tornem acessíveis ao público no futuro.
A importância do código aberto
A abertura do código do serviço Direct File não é algo planejado apenas recentemente, mas sim uma iniciativa promovida há muito tempo. Como a equipe do Direct File anunciou no ano passado, o código aberto tem a seguinte importância
- O IRS pode fortalecer a transparência, formar confiança pública e permitir avaliação independente do trabalho
- É possível demonstrar externamente que o software foi projetado para que todos os contribuintes possam usufruir plenamente dos benefícios fiscais aos quais têm direito
- Por meio do software público, é possível mostrar tecnicamente o cumprimento dessas promessas
Confiança dos contribuintes e os princípios do Direct File
Construir confiança dos contribuintes foi uma estratégia central no design do Direct File. Para isso, os elementos abaixo foram enfatizados
- Oferecer a opção mais precisa de declaração de imposto
- Permitir que toda a população possa acessar e utilizar o sistema de declaração de impostos
- Cumprir rigorosamente os princípios de segurança dos dados dos contribuintes
- Praticar a transparência por meio da divulgação direta do código
Aviso pessoal
O autor encerrou oficialmente seu trabalho no IRS há 2 semanas. O texto atual representa uma opinião estritamente pessoal.
1 comentários
Comentários no Hacker News
O Direct File inclui uma estrutura de dados de grafo de conhecimento declarativa e baseada em XML chamada Fact Graph, projetada para fazer inferência sobre informações incompletas, como declarações de imposto parcialmente preenchidas. O Fact Graph é escrito em Scala, roda no backend na JVM e, no cliente, é transpilado via Scala.js. Como o Fact Graph do Direct File não é limitado a um domínio específico, ele também pode ser útil como referência para implementar órgãos tributários ou outros motores de regras de negócio
O código que define como o fact graph funciona pode ser visto aqui. As definições tributárias reais e os cálculos derivados podem ser conferidos aqui. Como exemplo, há a dedução padrão (Standard Deduction) e o cálculo de alíquotas. Essas definições parecem ser baseadas no esquema MeF (Modernized e-File), porque o sistema precisa converter os dados de entrada para XML no esquema MeF e enviá-los ao sistema MeF. Mais detalhes podem ser vistos na página oficial do IRS
Achei interessante e fiquei com vontade de ler mais
Trabalhei no IRS até cerca de duas semanas atrás, mas estou falando em caráter pessoal. É triste que o governo atual esteja encerrando o Direct File e tenha demitido todas as pessoas envolvidas
Infelizmente, esse programa está sendo interrompido pelo governo atual. O repositório de código é realmente excelente, e a estrutura Scala do fact graph também é muito boa. Dá para ver o enorme cuidado colocado até nos tutoriais
Acho que as pessoas que participaram desse projeto já sabiam, antes mesmo de escrever uma linha de código, que o destino dele estava traçado. Um projeto que morreria assim que alguém do partido (R, republicano) assumisse o poder. Já sabiam que, embora conseguir publicar o software de fato fosse uma grande conquista, ele não duraria muito. O lobby do pay-to-file é forte e corrupto demais
Esse projeto de lei foi apresentado pelo republicano Nick Langworthy e teve William Timmons como coautor. Por favor, não espalhem informação incorreta ou falsa
Pergunta sobre se esse estilo é comum em Java, com compartilhamento de link para código de exemplo
Isso é um exemplo de programação reativa em Java. Retorna callbacks que serão executados quando o trabalho for concluído. O tipo
Mono<T>é uma característica representativa dissoUsei Java por muito tempo, mas é raro ver código assim. Muito disso vem do estilo de programação reativa (
reactor.core.publisher.Mono). Pode até ter sido uma tentativa de fazer tudo caber em uma só tela. Se eu fosse líder da equipe, teria vontade de pedir para simplificarem maisEsse estilo de código aparece bastante quando alguém quer garantir emprego vitalício em projeto governamental, ou acha vantajoso que os outros tenham dificuldade para ler. Ou então quando o objetivo é vender monitores ultrawide
atomicsficam estranhos, mas quando se usa reactor, se for preciso comportamento sequencial com blocking, a estrutura geral do código tende a virar uma bagunçaVejo coisas parecidas de vez em quando em Java e também em outras linguagens. Provavelmente não é o meu estilo preferido
Acho que, para o IRS divulgar isso, mais difícil do que o código-fonte em si é a integração com o sistema de arrecadação e a garantia de conformidade com a legislação tributária vigente. Mesmo que o código seja aberto, essa parte ainda pode ser interrompida pelo governo a qualquer momento
Concordo totalmente. Pela descrição no repositório, o Direct File interpreta a legislação tributária dos EUA (26 USC) em perguntas simples, para que o contribuinte possa responder diretamente sem precisar de explicações adicionais. Depois converte as respostas do contribuinte em formulários fiscais padronizados e os envia por meio da API oficial Modernized e-File (MeF). Em teoria, poderia ser usado agora mesmo, mas, como você disse, se a política mudar, ele corre o risco de perder o sentido
Além disso, uma das dificuldades é que o lobby do setor de preparação de impostos vem atuando há décadas para proteger seus interesses. O número de estados que permitem declaração direta gratuita aumentou em relação ao ano passado, e agora são 25 incluindo DC, mas não está claro por que isso ainda não é possível nos 25 estados restantes. (Eu moro em DC)
É isso mesmo. Políticos ou servidores que trabalham para o lobby da declaração de impostos podem mudar a legislação tributária à vontade para tornar o software inútil
Não sei se isso existe no momento, mas, se o eFile tiver funcionalidades suficientes, talvez também dê para gerar declarações em papel
Isso até parece uma oportunidade de negócio
Na seção Exempted Code, há a observação de que nem todo o código-fonte, documentação e metadados usados no desenvolvimento do Direct File foram incluídos no repositório público. PII, informações fiscais federais (FTI), dados sensíveis porém não classificados (SBU) e código-fonte para sistemas de segurança nacional (NSS) foram excluídos conforme exigido por lei. Também há um aviso de que, por essas restrições, algumas funcionalidades foram removidas ou reescritas. Fiquei muito curioso sobre o que foi retirado
Todo mundo já cometeu ao menos uma vez o erro de adicionar só o ponteiro de submódulo em vez de subir os arquivos reais para o repositório. Veja este link para o commit de exemplo. Também é interessante que, por ser código vindo do governo dos EUA, não dá para simplesmente usar CC0, e é preciso declarar separadamente que está em domínio público
Para quem tiver curiosidade, fica o link do repositório
Além do código, a pasta /docs/design está cheia de ótimos documentos e notas de design. Também inclui fluxogramas detalhados por fluxo de usuário (não dá para ver online em tempo real; são fornecidos em arquivos zip, veja flow1.zip e flow2.zip)
Na semana passada (em maio de 2025) também houve discussão sobre isso: IRS Direct File - Hacker News (62 comentários)