네덜란드 정부의 NixOS 워크플레이스 — 디지털 주권은 OS 선택인가, 운영 능력인가

정부가 마이크로소프트에서 벗어난다는 것은 설치할 소프트웨어를 바꾸는 일인가, 아니면 조달하고 운영하는 방식 자체를 바꾸는 일인가?

도입

2026년 9월 25일 해커뉴스 1면에 「Dutch governments builds alternative for Microsoft based on NixOS」라는 제목의 글이 올라와 1021점을 받았다. 링크는 dawo.community로 연결된다. DAWO는 네덜란드어 Digitaal Autonome Werkomgeving Overheid의 약자로, 같은 날 이 소식을 정리한 It’s FOSS에 따르면 「정부를 위한 디지털 자율 업무 환경」이라는 뜻이다. 정작 공식 사이트 첫 화면에는 이 약자의 풀이가 없어서, 해커뉴스에서는 「What DAWO stands for」라는 제목 아래 약자 설명 대신 다섯 가지 목표만 나열되어 있다는 지적이 여러 번 나왔다.

사이트가 내세우는 문장은 간결하다. 정부, 산업, 시민사회가 함께 네덜란드 정부의 디지털 자율 업무 환경을 만드는 열린 커뮤니티라는 것, 그리고 하나의 제품이 아니라 각각 검사하고 교체할 수 있는 구성 요소의 조합이라는 것이다. 운영체제 층의 중심에는 DAWO-NixOS가 있다.

이 소식이 1000점을 넘긴 이유는 두 가지가 겹쳤기 때문으로 보인다. 하나는 「정부가 마이크로소프트를 떠난다」는 오래된 이야기이고, 다른 하나는 그 선택지가 Ubuntu나 Fedora가 아니라 NixOS라는 점이다. 전자에는 뮌헨 LiMux라는 유명한 실패 사례가 붙어 다니고, 후자에는 「사무직 공무원이 Nix 언어를 견딜 수 있겠느냐」는 회의가 붙어 다닌다. 이 글은 두 질문을 하나로 묶어 본다. 디지털 주권은 어떤 OS를 고르느냐의 문제인가, 아니면 수만 대의 단말을 누가 어떻게 운영하느냐의 문제인가.

무엇이 발표되었나 — DAWO의 실체

먼저 확인된 사실부터 정리한다. 공식 사이트(dawo.community)는 DAWO를 네 개의 구성 요소로 나눈다. AI, 운영체제, 클라우드, 협업 소프트웨어다. 운영체제 항목은 「재현 가능한 워크플레이스를 위한 DAWO-NixOS와 설치 구성 요소」로 설명되고, 협업 항목에는 Mijn Bureau와 Nextcloud가 연결되어 있다. 모바일은 「개발 중」으로 표시되어 있다. 기술 페이지는 선언형 구성이 워크플레이스의 상태를 기술하고, 검증하고, 다시 빌드할 수 있게 해 준다고 설명하며, 최신 안정판은 2026년 8월 15일의 0.1.2라고 밝힌다(10월 18일 열람 기준). 버전 번호만 봐도 이것은 완성품 발표가 아니라 초기 단계의 공개다.

지원 기관 목록에는 내무·왕국관계부(BZK), 네덜란드 지방자치단체 협회(VNG), Tata Consultancy Services, mosa.cloud, DIVD Academy, DIVD.Works, Realiz-IT, BB Open이 올라 있다. 정부 부처와 지자체 협회, 그리고 인도계 대형 SI와 소규모 네덜란드 업체가 한 목록에 섞여 있다는 점이 눈에 띈다. 사이트는 「커뮤니티를 위한 것이 아니라 커뮤니티와 함께」라는 문구로 공공과 민간이 같은 청사진을 만든다고 강조한다.

배경과 일정은 공식 사이트보다 언론 보도에 더 자세하다. It’s FOSS(9월 25일)에 따르면 계기는 2025년 초 미국 정부의 국제형사재판소(ICC) 제재였다. 제재로 ICC 수석검사가 이메일을 포함한 마이크로소프트 서비스에 접근할 수 없게 되었고, 네덜란드 정부는 필수 서비스에 대한 접근이 미국의 결정에 달려 있다는 사실을 직접 목격했다는 것이다. 같은 기사는 올해 7월 정부 업무운영 부처간위원회(ICBR)가 표준화된 주권형 디지털 업무 환경에 대한 지침을 내리면서 DAWO가 공식 과제가 되었고, 중앙정부의 3대 IT 서비스 조직인 SSC-ICT, DICTU, DUO-ICT가 실행을 맡으며, 개발은 BZK와 연계된 팀이 담당한다고 전한다. 이름이 거론된 인물은 Victor Gevers, Rutger Putter, Bram Buijs다. 현재 VNG를 통해 8개 지자체가 시범 운영 중이고, 첫 안정판은 내년을 목표로 한다. It’s FOSS와 Tom’s Hardware는 모두 네덜란드 매체 Tweakers의 리뷰 기사를 원 출처로 인용하는데, 이 원문은 동의 화면에 막혀 직접 확인하지 못했다. 따라서 이 단락의 일정과 인물 정보는 2차 보도에 기댄 것이다.

코드는 실제로 공개되어 있다. code.overheid.nl의 MinBZK/DAWO-NixOS 리포 README는 「DAWO 인프라의 핵심 NixOS 구성」이며 flake 기반 빌드 시스템을 쓴다고 설명하고, 커뮤니티 협업을 위해 본체를 Codeberg의 DAWO/DAWO-Core로 옮겼으며 code.overheid.nl과 GitHub에는 백업 사본을 둔다고 적는다. 해커뉴스에서 @vanschelven은 처음엔 「3개월 전」 표시를 보고 프로젝트가 멈춘 줄 알았지만 한 번만 더 클릭하면 실제 코드가 있다고 적었다(직접 인용은 아니고, 코멘트의 요지를 요약).

해커뉴스 반응은 크게 세 갈래였다. 첫째, 유럽 각국의 유사 프로젝트를 연결하는 코멘트다. @solarkraft는 독일 정부가 시작한 openDesk와 프랑스의 La Suite를 함께 보라고 했고, @hashar는 프랑스 정부가 몇 달 전 NixOS 기반의 강화 OS인 securix와 이를 활용한 사무 환경 예제 bureautix를 공개했다고 짚었다(직접 인용은 아니고, 코멘트의 요지를 요약). NixOS를 정부 단말의 기반으로 고른 것이 네덜란드만의 기행이 아니라는 뜻이다. 둘째, 오피스 스위트에 대한 회의다. @fbn79는 가장 큰 문제는 오피스이며 LibreOffice나 Collabora가 Microsoft 365를 마찰 없이 대체할 수 있다고 믿지 않는다고 했고, 답글에서 @tombert는 LibreOffice의 스프레드시트는 Excel 2024가 아니라 Excel 2003과 경쟁하는 수준이라고 평했다(직접 인용은 아니고, 코멘트의 요지를 요약). 셋째, 관리 도구에 대한 질문이다. @sneak은 SSO는 대체로 해결됐지만 기업이 Windows를 쓰는 진짜 이유는 관리 가능성이며, 리눅스에서 MDM과 그룹 정책을 누가 하고 있느냐고 물었다(직접 인용은 아니고, 코멘트의 요지를 요약). 이 세 번째 질문이 이 글의 중심축이 된다.

왜 NixOS인가 — 선언형 구성이 「함대 운영」에서 의미하는 것

It’s FOSS가 전하는 선택 이유는 두 층으로 나뉜다. 기술적 이유는 재현성이다. Nix 패키지 관리자는 각 패키지를 불변의 서명된 내용으로 격리된 디렉터리에 설치하므로, 하나의 작동하는 설정을 여러 기계에서 그대로 재현할 수 있다. Rutger Putter는 배포 간 구성의 약 80~90%가 그대로 이어진다고 추정했다고 한다. 정치적 이유는 소유 구조다. 같은 기사에 따르면 NixOS는 네덜란드에서 출발한 프로젝트이고 어느 기업도 개발을 소유하거나 통제하지 않는다는 점이 결정적이었으며, 후보였던 openSUSE와 Fedora는 각각 SUSE, 그리고 미국 IBM 소유의 Red Hat과의 상업적 관계 때문에 탈락했다. 이 두 번째 기준은 흔히 보는 기술 비교표에는 없는 항목이다. 「누가 이 배포판의 방향을 바꿀 수 있는가」를 조달 요건으로 삼은 것이다.

그러나 재현성이라는 단어는 너무 추상적이어서, 실제로 무엇을 사는 것인지 흐리게 만든다. 리포의 architecture.md(10월 18일 열람 기준)를 읽으면 더 구체적인 그림이 나온다. 이 문서는 핵심 리포가 완성된 이미지가 아니라 블록의 라이브러리라고 설명한다. 각 기능은 dawo.<block>.enable로 켜는 모듈이고, 의무 보안 설정은 lib.mkForce로 강제해 소비자가 조용히 약화시킬 수 없게 하며, 권장 기본값은 lib.mkDefault로 둔다. 비워 두면 단말을 망가뜨리는 옵션, 예컨대 빈 NTP 목록은 조용히 실패하는 대신 빌드 시점에 assert로 멈춘다. 개념을 단순화하면 이런 모양이다.

# 설명용 예시 (DAWO 리포의 실제 코드가 아님)
{ lib, ... }: {
  # 의무: 하위 조직의 일반적인 대입으로는 덮어쓸 수 없다
  services.openssh.settings.PasswordAuthentication = lib.mkForce false;
  # 권장: 하위 조직이 자기 사정에 맞게 바꿀 수 있다
  services.printing.enable = lib.mkDefault true;
}

여기에 3층 구조가 얹힌다. 첫째 층은 DAWO-NixOS 자체로, 블록과 두 개의 등급(의무 기준선인 profiles-dawo-core와 선택형 profiles-dawo-hardened)만 갖고 브랜딩이나 사용자 계정은 없다. 둘째 층은 DAWO-NixOS-BZK, DAWO-NixOS-VNG 같은 조직별 리포로, 코어를 flake 입력으로 받아 자기 블록을 더한다. 셋째 층은 DAWO-Gem-Zaanstad 같은 구체적인 단말 구성으로, 하드웨어와 디스크 배치를 고정한다. 문서는 이렇게 해서 의무 사항을 한 곳에 두고 각 조직이 코어를 포크하지 않고도 자기 선택을 얹을 수 있다고 설명한다.

이것이 @sneak의 질문에 대한 DAWO 쪽의 답에 가깝다. Windows 세계에서 그룹 정책은 중앙 서버가 단말에 규칙을 밀어 넣고, 단말이 그것을 적용했는지는 별도의 보고 체계로 확인한다. NixOS 세계에서는 정책이 곧 시스템 정의다. 해커뉴스에서 @ndriscoll은 Nix라면 새 세대(generation)를 단말에 밀어 넣으면 그만이며 이것이 아마 가장 쉬운 단말 관리 방법일 것이라고 답했다(직접 인용은 아니고, 코멘트의 요지를 요약). 다만 관리자가 기대하는 것은 코드만이 아니다. @kevinrineer는 DAWO 커뮤니티 블로그에 소개된 Sextant, 즉 Bram Buijs가 만드는 Intune 대안 격의 NixOS 관리 GUI에 주목하며, 웹 인터페이스로 관리하는 시스템 관리자가 IaC를 쓰는 DevOps 인력보다 많다는 점에서 좋은 다리가 될 수 있다고 봤다. @yearolinuxdsktp는 DAWO-Core의 이슈를 근거로 sextantfleet.org를 통한 osquery가 쓰이는 것으로 보이며 모든 「정책」은 NixOS로 처리하는 구조라고 정리했다(두 코멘트 모두 직접 인용은 아니고, 요지를 요약). Sextant의 실제 기능은 이 글에서 직접 확인하지 못했다.

흥미로운 것은 리포가 자기 약점을 숨기지 않는다는 점이다. architecture.md는 이전에 주장했지만 실제로는 제공하지 못한 두 가지를 바로잡는다고 명시한다. usbguard는 일부러 선택형으로 두었는데, 기본값으로 USB 메모리를 거부하는 단말은 그것을 손에 든 사람에게 고장 난 기계로 보이기 때문이다. auditd는 nixpkgs 26.05의 상류 auditctl 버그 때문에 모듈이 사실상 아무 일도 하지 않으므로 보류했고, 이를 지원한다고 적는 것은 커버리지를 가장하는 일이라고 썼다. docs/pitfalls.md는 더 노골적이다. 성공을 보고하면서 실제로는 틀려 있는 상황들의 목록이다. 한 사례에서는 tarball이 404가 된 뒤에도 러너의 Nix 스토어에 이미 경로가 있어서 CI는 녹색인데 새 기계에서는 main이 평가조차 되지 않았다. 「같은 커밋, 다른 답, 코드가 아니라 러너의 스토어가 결정」이라는 문장이 그대로 적혀 있다. 또 다른 사례에서는 풀 기반 배포 도구 comin이 nix와 다른 자격 증명으로 리포를 클론하는 탓에, 폴링 실패를 에러 로그에 남기고 다시 잠들기만 해서 단말들이 6주 동안 옛 세대에 머물러 있었다고 한다.

이 기록이 중요한 이유는 NixOS의 약속과 현실 사이 간극을 정확히 보여 주기 때문이다. 선언형 구성은 「무엇이 설치되어야 하는가」를 확정해 주지만, 「모든 단말이 실제로 그 상태에 도달했는가」는 별도의 관측 문제로 남는다. 6주간 조용히 멈춰 있던 함대는 정책 정의의 실패가 아니라 배포 파이프라인 관측의 실패다. 정부 단말 수만 대 규모에서 디지털 주권은 결국 이런 실패를 스스로 발견하고 고칠 수 있는 내부 역량의 문제가 된다. 공급사가 있었다면 공급사의 지원 창구가 떠안았을 일이다. 덧붙여 해커뉴스에서 @yencabulator는 pitfalls 문서의 문체 등을 근거로 이 리포가 Claude로 개발되는 것으로 보인다고 지적했다(직접 인용은 아니고, 코멘트의 요지를 요약). 사실이라면 이는 미국 기업에 대한 의존을 줄이려는 프로젝트가 개발 도구에서는 다른 미국 기업에 기대고 있다는 뜻이 되는데, 공식 확인은 찾지 못했다.

LiMux 이후 20년 — 무엇이 다르고 무엇이 같은가

해커뉴스에서 가장 자주 소환된 이름은 뮌헨이었다. Wikipedia의 LiMux 항목을 기준으로 사실관계를 정리하면 이렇다. 뮌헨시는 2004년 데스크톱을 Windows에서 리눅스 기반 자유 소프트웨어로 옮기는 프로젝트를 시작했고, 2012년까지 15,500대 중 12,600대를 이전했다. 오피스 문서의 서식과 템플릿을 관리하기 위해 WollMux라는 도구까지 자체 개발했다. 그러나 2014년 시장과 부시장이 생산성 문제를 이유로 Windows 복귀를 검토했고, 당시 시의회 대변인은 문제의 상당수가 OpenOffice 호환성에서 나온다고 설명했다. 2016년 마이크로소프트가 독일 본사를 뮌헨으로 옮겼고, 2017년 11월 시의회는 2020년까지 Windows로 되돌아가기로 결정했다. 시장은 본사 이전에 대한 보답이라는 의혹을 부인했다. 같은 항목은 Accenture 보고서가 가장 중요한 문제를 조직적인 것으로 봤다고 적고 있지만, 이 문장에는 출처 요청 표시가 붙어 있다. 이후 2020년 새 연정은 가능한 곳에서 오픈소스를 우선하기로 했고, 2024년 10월에는 오픈소스 프로그램 오피스를 설립했다.

이 경과에서 읽히는 실패 요인은 OS 자체가 아니라 그 주변이다. 오피스 호환성, 사용자 불만, 그리고 정치 지형의 변화다. 해커뉴스의 회의론도 정확히 같은 지점을 겨눈다. @aliasxneo는 일반 사무직이 Windows에서 NixOS로 옮겨 행복해질 가능성은 매우 낮으며 해커뉴스가 이 생태계의 결점을 얼버무린다고 했고, @carefree-bob은 이런 기사를 매년 십여 개씩 보는데 정말 보고 싶은 것은 5년 뒤의 후속 보도라고 했다. @ta20240528은 의무가 아니라면 부처마다 예외 신청서를 쓰고 그것이 늘 승인되어 결국 연극이 된다고 썼다(세 코멘트 모두 직접 인용은 아니고, 요지를 요약).

그렇다면 무엇이 다른가. 확인된 자료만으로 말할 수 있는 차이는 세 가지다. 첫째, 동기가 비용이 아니라 접근권이다. It’s FOSS는 ICC 사건이 이번 시도를 다른 정부 오픈소스 추진과 구별 짓는다고 쓴다. 라이선스 비용 절감은 다음 예산 협상에서 뒤집힐 수 있는 논리지만, 「외국 정부의 결정으로 이메일이 끊길 수 있다」는 위험은 정권이 바뀌어도 사라지지 않는 논리다. 둘째, 단위가 한 도시가 아니다. 7월의 부처간 지침, 중앙정부 3대 IT 조직의 실행, VNG를 통한 지자체 시범이라는 구조는, 한 시장의 판단으로 되돌릴 수 있었던 뮌헨과 거버넌스의 층위가 다르다. 다만 이 구조가 실제로 예외 신청을 막을 만큼 구속력이 있는지는 공개 자료로 확인되지 않는다. 셋째, 혼자가 아니다. 독일의 openDesk, 프랑스의 La Suite와 securix, It’s FOSS가 언급한 독일 슐레스비히홀슈타인과 덴마크, 프랑스의 움직임이 동시에 진행 중이다. LiMux는 고립된 섬이었기 때문에 호환성 문제를 혼자 떠안아야 했지만, 지금은 적어도 문서 포맷과 협업 도구의 압력을 나눠 질 동료가 있다.

반대로 같은 것도 분명하다. 오피스 스위트 문제는 20년 전과 본질적으로 같고, DAWO는 OS 층에서는 독자적인 답을 내놓았지만 협업 층에서는 Mijn Bureau와 Nextcloud를 연결해 두었을 뿐이다. 그리고 앞 절에서 본 것처럼 NixOS는 운영팀에 고유한 숙련을 요구한다. 해커뉴스 @bialyalibaba는 unbound의 CVE 패치가 nixpkgs에 병합되기까지 이틀을 기다려야 했다고 불평했고, 답글들은 직접 빌드하거나 overlay를 쓰라고 조언했다(직접 인용은 아니고, 코멘트의 요지를 요약). 개인에게는 사소한 조언이지만 정부 입장에서는 「상류보다 빨리 패치를 적용할 내부 역량」이 조달 요건에 들어가야 한다는 뜻이다. 공급사에 맡기던 일을 내부로 가져오는 것, 그것이 주권의 실제 비용이다.

(9월 29일 추기: 나흘 뒤 Tom’s Hardware 기사 「US sanctions force The Netherlands off Microsoft and toward alternative NixOS」가 해커뉴스에 올라 388점을 받았다. 기사는 It’s FOSS를 거쳐 Tweakers를 인용하며 8개 지자체 시범과 2027년 말 첫 안정판 예정을 전했다. 해당 스레드에서 @p-e-w는 다음 선거 뒤 마이크로소프트가 현지 본사를 약속하면 뮌헨에서 그랬듯 두 배 비용으로 Windows로 되돌아갈 것이라고 비꼬았고, @danielsamuels는 데스크톱 OS를 바꾸는 것이 이메일과 결제 서비스 접근 유지에 어떻게 도움이 되느냐고 물었다. @PorciiVorbesc는 EU가 이미 가진 SUSE로 표준화하지 않는 이유를 물었다(세 코멘트 모두 직접 인용은 아니고, 요지를 요약). 마지막 질문에는 앞서 본 openSUSE 탈락 사유가 답의 일부가 된다.)

@danielsamuels의 질문은 정곡을 찌른다. ICC 사건에서 끊긴 것은 데스크톱 OS가 아니라 클라우드 이메일이었다. DAWO가 OS 하나가 아니라 AI, 클라우드, 협업을 포함한 네 층으로 설계된 이유가 여기에 있다고 볼 수 있지만, 지금 가장 구체적인 코드가 나와 있는 층은 OS다. 앞으로 지켜볼 지표는 클라우드와 협업 층이 OS 층만큼의 공개 리포와 공개 실패 기록을 갖게 되는가이다.

결론

DAWO의 공개 자료를 읽고 나면 이 프로젝트는 「NixOS로 Windows를 대체한다」는 제목보다 훨씬 좁고, 동시에 훨씬 진지하다. 좁다는 것은 0.1.2 버전, 8개 지자체 시범, 내년 첫 안정판이라는 일정이 아직 초기 단계라는 뜻이다. 진지하다는 것은 의무 보안 설정을 mkForce로 고정하고, 조직별 리포를 층으로 얹고, 6주간 멈춰 있던 함대의 원인을 공개 문서에 적어 두는 방식이 「OS를 바꾼다」가 아니라 「운영 방식을 바꾼다」에 가깝다는 뜻이다.

처음의 질문으로 돌아가자. 디지털 주권은 OS 선택인가, 운영 능력인가. 네덜란드의 선택 기준 자체가 답을 암시한다. openSUSE와 Fedora가 탈락한 이유는 기술이 아니라 소유 구조였다. 즉 그들은 「가장 좋은 배포판」이 아니라 「누구도 방향을 빼앗을 수 없는 배포판」을 골랐다. 그러나 그 대가로, 패치 속도와 배포 관측과 사용자 지원을 떠맡아 줄 공급사도 함께 포기했다. LiMux가 무너진 곳은 기술이 아니라 조직이었다는 평가가 맞다면, DAWO의 성패도 Nix 언어가 아니라 SSC-ICT, DICTU, DUO-ICT가 그 운영 역량을 실제로 갖추느냐에서 갈릴 것이다.

해커뉴스의 한 이용자가 원했던 5년 뒤 후속 보도가 나온다면, 그때 볼 숫자는 마이그레이션한 단말 수가 아니라 예외 신청 건수와, 실패를 스스로 발견하기까지 걸린 시간일 것이다.


출처: