미국 IRS의 Direct File, GitHub에 코드 공개
(chrisgiven.com)- IRS가 Direct File의 상당수 소스 코드를 GitHub에 오픈소스로 공개함
- 미국 정부 저작물로서 공개 도메인에 속하고, 누구나 코드 검토 가능함
- 이번 공개는 SHARE IT Act 이행의 일환으로, 법정 기한보다 3주 앞서 발표됨
- 오픈소스 공개는 투명성 제고 및 납세자 신뢰 구축 목적임
- Direct File 팀은 데이터 보안, 공정한 세금 혜택 적용, 대중 접근성 강화 등도 중시함
Direct File의 GitHub 소스 코드 공개
2025년 5월 30일, IRS는 Direct File 서비스의 대다수 소스 코드를 GitHub에 오픈소스 소프트웨어 형태로 공개함. 미국 정부 저작물로서 해당 코드는 공개 도메인에 속하며, 누구든 자유롭게 내용을 확인할 수 있음.
공개 취지 및 배경
이번 소스 코드 공개는 SHARE IT Act(118번째 연방 의회 법안 9566호) 준수를 위한 조치로, 공식 기한보다 3주 빨리 이루어짐. IRS가 운영하는 더 많은 소프트웨어 코드가 앞으로 누구나 접근 가능해질 것으로 기대되는 상황임.
오픈소스의 중요성
Direct File 서비스의 코드 오픈소스화는 최근 계획된 것이 아니라, 오랜기간 추진되어온 사항임. 작년 Direct File 팀이 발표한 바와 같이, 오픈소스는 다음의 중요성을 가짐
- IRS는 투명성 강화를 통해 공공의 신뢰 형성 및 업무의 독립적 평가가 가능해짐
- 모든 납세자가 자신이 받을 자격이 있는 세금 혜택을 충분히 누릴 수 있도록 소프트웨어가 설계됨을 외부에 입증할 수 있음
- 공개 소프트웨어를 통해 이러한 약속 이행을 기술적으로 보여줄 수 있음
납세자 신뢰와 Direct File의 원칙
납세자 신뢰 구축은 Direct File 설계의 핵심 전략이었음. 이를 위해 아래 요소들이 강조됨
- 가장 정확한 세금 신고 옵션 제공
- 국민 모두가 세금 신고 시스템을 접근 및 활용할 수 있게 함
- 납세자 데이터 보안 원칙을 엄격히 준수
- 직접 코드 공개를 통해 투명성을 실천
개인적 고지
작성자는 2주 전 공식적으로 IRS 근무를 마친 상태임. 현재의 글은 순수 개인 견해임
GitHub 저장소 주소
Hacker News 의견
-
Direct File에 Fact Graph라는 선언적이고 XML 기반의 지식 그래프 데이터 구조가 포함되어 있어서, 부분적으로 작성된 세금 신고서처럼 불완전한 정보에 대해 추론하도록 설계되어 있음. Fact Graph는 Scala로 작성되고, 백엔드에서는 JVM에서 실행되고, 클라이언트에서는 Scala.js를 통해 트랜스파일되어 실행됨. Direct File의 Fact Graph는 특정 도메인에 한정되지 않아서, 세무기관이나 다른 비즈니스 룰 엔진을 구현하는 참고 자료로도 유용하게 활용 가능성
-
fact graph가 어떻게 동작하는지 정의하는 코드는 여기에서 볼 수 있음. 실제 세금 정의와 파생 계산은 이곳에서 확인 가능성. 예시로 기본 공제(Standard Deduction)와 세율 계산이 있음. 이런 정의들은 MeF(Modernized e-File) 스키마 기반이라 생각됨. 시스템이 입력 데이터를 MeF 스키마의 XML로 변환해 MeF 시스템에 전송해야 하기 때문임. 자세한 설명은 IRS 공식 페이지에서 확인 가능성
-
흥미로워서 더 읽어보고 싶은 욕구
-
-
최근 2주 전까지 IRS에서 일했으나, 개인 자격으로 얘기함. 현 행정부가 DirectFile을 없애면서 관련 인력들도 모두 해고해버린 상황이 안타까움
-
슬프게도 이 프로그램이 현재 행정부에 의해 중단되는 상황임. 코드 저장소가 정말 훌륭하고, Scala fact graph 구조도 정말 멋짐. 튜토리얼에도 엄청난 정성이 들어간 것이 보임
-
이 프로젝트에 참여한 사람들은 코드 한 줄 쓰기 전에 이미 운명이 정해져 있다는 걸 알았을 것이라 생각함. 다음에 (R, 공화당) 인사가 집권하면 바로 죽을 프로젝트임을 알았을 것. 소프트웨어를 실제로 공개까지 해낸 점이 대단한 성취지만, 오래가지 않을 것임을 모두 인식하고 있었음. pay-to-file 세금 로비 세력이 너무 강하고 부패되어 있음
-
이 법안은 공화당 소속 Nick Langworthy가 발의했고 William Timmons가 공동발의한 사실이 있음. 잘못된 정보나 가짜 정보를 퍼뜨리지 않길 바람
-
-
Java에서 이런 방식이 일반적인지 질문, 예시 코드 링크 공유
-
이건 Java의 리액티브 프로그래밍 예시임. 작업 완료 시 실행될 콜백을 반환함. Mono<T> 타입이 대표적인 특징임
-
오랜 기간 Java를 사용했지만, 이런 코드는 보기 힘듦. 리액티브 스타일 프로그래밍 (reactor.core.publisher.Mono)에서 비롯된 부분이 많음. 한 화면에 모든 코드를 맞추려고 한 것일 수도 있을 듯. 만약 내가 팀장이라면 더 단순화하라고 요청할 욕구
-
이런 코딩 스타일은 정부 프로젝트에서 평생직장 얻으려거나, 남들이 읽기 힘들면 유리하다고 생각하는 경우 자주 보임. 아니면 초광폭 모니터 판매가 목적인 경우에도 필요함
-
atomics는 어색하지만, reactor를 사용하는 경우 순차적 blocking 동작이 필요하면 전체적으로 코드 구조가 엉망이 되는 점이 있음
-
비슷한 것을 Java는 물론 다른 언어에서도 종종 봄. 선호하는 방식은 아닐 확률이 높음
-
-
IRS가 이를 공개하는 데 있어 소스코드 자체보다는 세수 시스템과의 연동, 그리고 현행 세법 준수 보장 부분이 더 어렵다고 생각함. 설사 소스 코드를 공개한다고 해도, 이 부분은 행정부가 얼마든지 중단 가능성 남음
-
절대적으로 동의함. 저장소 내 설명을 보면, Direct File은 미국 세법(26 USC)을 평이한 질문으로 해석하여, 추가 설명 없이 납세자가 직접 답할 수 있게 했음. 납세자의 답을 표준 세금 양식으로 변환하여, 공인 API인 Modernized e-File(MeF)로 전송함. 이론상으론 당장 쓸 수 있어도, 말씀하신 대로 정책이 바뀌면 무의미해질 위험 있음
-
추가적으로, 어려운 점에는 수십 년간 세금 준비업계 로비가 이익 보호를 위해 활동해온 것도 포함됨. 무료 직접 신고를 허용하는 주가 작년보다 늘어서 현재 25개 주나 DC 포함 25곳이 됐지만, 남은 25개 주에선 왜 안 되는지 불분명함. (본인은 DC 거주자임)
-
맞는 말임. 세금 신고 로비를 위해 일하는 정치인이나 공무원들이 소프트웨어가 쓸모없어지도록 세법을 얼마든지 바꿀 수 있음
-
현재 그런 기능이 있는지 모르겠지만, eFile에 충분한 기능이 갖춰졌다면 종이 신고서도 생성 가능성 있음
-
오히려 사업 기회로도 느껴짐
-
-
Exempted Code 섹션에 보면, Direct File 개발에 사용된 모든 소스코드·문서·메타데이터가 공개 저장소에 포함된 것이 아님. PII, 연방 세금 정보(FTI), 민감하나 비등급(SBU) 데이터, 국가안보시스템(NSS)용 소스코드는 법령에 따라 제외됨. 이런 제한으로 인해 일부 기능은 삭제되거나 재작성됐다는 안내가 있음. 어떤 부분이 제거됐는지 매우 궁금해짐
-
누구나 한 번쯤은 저장소를 진짜 파일로 올리지 않고 서브모듈 포인터만 추가하는 실수 해본 경험 있음. 예시 커밋 링크 참고. 미국에서 온 코드라 그냥 CC0을 쓸 수 없고, 별도로 '공공 도메인임을' 명확히 해야 하는 점도 흥미요소
- 한마디로 표현하자면, Creative Commons(캘리포니아에 본부)가 미국 최대 규모 공공주체의 소프트웨어에 맞는 라이선스를 출판하지 않았다는 뜻임. 덧붙여, 이런 차이에 대해 궁금증도 남음
-
혹시라도 궁금한 사람을 위해 저장소 링크 공유
- 누군가가 해당 저장소를 삭제하기 전에 빠르게 포크해두는 것이 좋을 수 있음. 나중엔 열람만으로도 처벌받을 수 있는 상황까지 갈지 모름
-
코드뿐만 아니라, /docs/design 폴더에 훌륭한 설계 문서와 노트가 가득 있음. 사용자 흐름별 자세한 절차도(실시간 뷰는 안 되고 zip 파일로 제공, flow1.zip과 flow2.zip 참고)도 포함됨
-
지난주(2025년 5월 기준) 관련 논의도 있었음: IRS Direct File - Hacker News(62개 댓글)