2 puntos por GN⁺ 2025-06-05 | 1 comentarios | Compartir por WhatsApp
  • El IRS publicó como código abierto en GitHub una parte considerable del código fuente de Direct File
  • Como obra del gobierno de Estados Unidos, pertenece al dominio público y cualquiera puede revisar el código
  • Esta publicación forma parte de la implementación de la SHARE IT Act y se anunció 3 semanas antes del plazo legal
  • La publicación como código abierto busca aumentar la transparencia y fortalecer la confianza de los contribuyentes
  • El equipo de Direct File también prioriza la seguridad de los datos, la aplicación justa de los beneficios fiscales y una mayor accesibilidad para el público

Publicación del código fuente de Direct File en GitHub

El 30 de mayo de 2025, el IRS publicó como software de código abierto en GitHub la mayor parte del código fuente del servicio Direct File. Como obra del gobierno de Estados Unidos, ese código pertenece al dominio público y cualquier persona puede revisarlo libremente.

Propósito y contexto de la publicación

Esta publicación del código fuente es una medida para cumplir con la SHARE IT Act (proyecto de ley federal n.º 9566 del 118.º Congreso), y se realizó 3 semanas antes del plazo oficial. Se espera que más código de software operado por el IRS pase a estar disponible para cualquier persona en el futuro.

La importancia del código abierto

La apertura como código abierto del servicio Direct File no es algo planeado recientemente, sino un esfuerzo impulsado desde hace mucho tiempo. Como señaló el equipo de Direct File el año pasado, el código abierto tiene la siguiente importancia:

  • El IRS puede fortalecer la confianza pública mediante una mayor transparencia y permitir una evaluación independiente de su trabajo
  • Puede demostrar externamente que el software está diseñado para que todos los contribuyentes reciban plenamente los beneficios fiscales a los que tienen derecho
  • A través del software público, puede mostrar técnicamente el cumplimiento de esas promesas

La confianza de los contribuyentes y los principios de Direct File

Construir confianza de los contribuyentes fue una estrategia central en el diseño de Direct File. Para ello, se enfatizaron los siguientes elementos:

  • Ofrecer la opción más precisa para presentar impuestos
  • Permitir que toda la población pueda acceder y utilizar el sistema de declaración de impuestos
  • Cumplir estrictamente con los principios de seguridad de los datos de los contribuyentes
  • Poner en práctica la transparencia mediante la publicación directa del código

Aviso personal

El autor terminó oficialmente su trabajo en el IRS hace 2 semanas. El texto actual refleja únicamente opiniones personales.

Dirección del repositorio de GitHub

1 comentarios

 
GN⁺ 2025-06-05
Opiniones en Hacker News
  • Direct File incluye una estructura de datos de grafo de conocimiento declarativa y basada en XML llamada Fact Graph, diseñada para hacer inferencias sobre información incompleta, como una declaración de impuestos parcialmente completada. Fact Graph está escrito en Scala, se ejecuta en el backend sobre la JVM y en el cliente mediante transpilación con Scala.js. El Fact Graph de Direct File no está limitado a un dominio específico, así que también podría servir como referencia útil para implementar autoridades fiscales u otros motores de reglas de negocio

    • El código que define cómo funciona fact graph puede verse aquí. Las definiciones fiscales reales y los cálculos derivados pueden consultarse aquí. Como ejemplos, están la deducción estándar (Standard Deduction) y el cálculo de impuestos. Parece que estas definiciones se basan en el esquema MeF (Modernized e-File), ya que el sistema debe convertir los datos de entrada a XML del esquema MeF y enviarlos al sistema MeF. Más detalles pueden verse en la página oficial del IRS

    • Da curiosidad y dan ganas de leer más al respecto

  • Trabajé en el IRS hasta hace unas dos semanas, pero hablo a título personal. Es lamentable que la administración actual esté eliminando Direct File y que también hayan despedido a todo el personal relacionado

  • Tristemente, este programa está siendo descontinuado por la administración actual. El repositorio de código es realmente excelente, y la estructura Scala fact graph también es muy buena. Se nota el enorme cuidado que pusieron incluso en los tutoriales

    • Creo que quienes participaron en este proyecto sabían, antes de escribir una sola línea de código, que su destino ya estaba sellado. Debieron saber que era un proyecto que moriría en cuanto volviera al poder alguien del (R, Partido Republicano). Haber logrado publicar el software de verdad ya es un gran logro, pero todos sabían que no iba a durar. El lobby fiscal del pay-to-file es demasiado poderoso y corrupto

    • Ese proyecto de ley fue presentado por el republicano Nick Langworthy y copatrocinado por William Timmons. Por favor, no difundan información incorrecta o falsa

  • Pregunta sobre si esta forma de hacerlo es común en Java, compartiendo un enlace a código de ejemplo

    • Este es un ejemplo de programación reactiva en Java. Devuelve un callback que se ejecutará cuando la tarea termine. El tipo Mono<T> es una característica representativa

    • He usado Java durante mucho tiempo, pero es raro ver código así. Mucho de esto viene del estilo de programación reactiva (reactor.core.publisher.Mono). También puede ser que intentaran hacer que todo el código cupiera en una sola pantalla. Si yo fuera líder del equipo, me darían ganas de pedir que lo simplificaran más

    • Este estilo de programación se ve mucho cuando alguien quiere conseguir un puesto vitalicio en un proyecto gubernamental, o cuando cree que le conviene que a otros les cueste leerlo. O quizá cuando el objetivo es vender monitores ultrapanorámicos

    • Los atomics se sienten extraños, pero cuando usas reactor, si necesitas comportamiento secuencial con blocking, toda la estructura del código puede terminar hecha un desastre

    • He visto cosas parecidas tanto en Java como en otros lenguajes. Probablemente no sea mi estilo preferido

  • Creo que, para que el IRS publique esto, la dificultad no está tanto en el código fuente en sí, sino en la integración con el sistema de recaudación y en garantizar el cumplimiento de la legislación fiscal vigente. Aunque publiquen el código fuente, esa parte siempre puede ser interrumpida por la administración

    • Estoy completamente de acuerdo. Según la explicación del repositorio, Direct File interpreta la ley fiscal de Estados Unidos (26 USC) en preguntas sencillas para que el contribuyente pueda responder directamente sin explicaciones adicionales. Luego convierte esas respuestas en formularios fiscales estándar y las envía mediante la API oficial Modernized e-File (MeF). En teoría podría usarse de inmediato, pero como dices, si cambia la política, corre el riesgo de volverse inútil

    • Además, una parte de la dificultad es que durante décadas el lobby de la industria de preparación de impuestos ha actuado para proteger sus beneficios. Ahora hay más estados que el año pasado permitiendo la presentación directa gratuita; actualmente son 25 estados, incluyendo DC, pero no está claro por qué no se puede en los otros 25. (Yo vivo en DC)

    • Es cierto. Los políticos o funcionarios que trabajan para el lobby de la declaración de impuestos pueden cambiar la ley tributaria tanto como quieran para hacer que el software deje de servir

    • No sé si actualmente exista esa función, pero si eFile tiene suficientes capacidades, también podría generar declaraciones en papel

    • Más bien hasta parece una oportunidad de negocio

  • En la sección Exempted Code se indica que no todo el código fuente, documentación y metadatos usados en el desarrollo de Direct File están incluidos en el repositorio público. Quedan excluidos, conforme a la ley, los PII, la información tributaria federal (FTI), los datos sensibles pero no clasificados (SBU) y el código fuente para sistemas de seguridad nacional (NSS). También se advierte que, debido a estas restricciones, algunas funciones fueron eliminadas o reescritas. Da mucha curiosidad saber qué partes quitaron

  • A cualquiera le ha pasado alguna vez subir por error solo el puntero de un submódulo en vez de los archivos reales al repositorio. Véase este enlace al commit de ejemplo. También es interesante que, al ser código del gobierno de Estados Unidos, no puedan simplemente usar CC0 y tengan que dejar explícitamente por separado que está en el dominio público

    • En pocas palabras, eso significa que Creative Commons (con sede en California) no publicó una licencia adecuada para el software del mayor ente público de Estados Unidos. Y además queda la duda de por qué existe esa diferencia
  • Para quien tenga curiosidad, aquí está el enlace al repositorio

    • Podría ser buena idea hacer un fork rápido antes de que alguien borre ese repositorio. Quién sabe si después lleguemos al punto en que hasta mirar el código sea castigado
  • No solo el código: la carpeta /docs/design está llena de excelentes documentos y notas de diseño. También incluye diagramas detallados de procedimientos por flujo de usuario (no se pueden ver en línea en tiempo real; se ofrecen como archivos zip, ver flow1.zip y flow2.zip)

  • La semana pasada (según mayo de 2025) también hubo una discusión relacionada: IRS Direct File - Hacker News (62 comentarios)