YAML의 노르웨이 문제, 2026년에도 지속
원제: YAML? That's Norway problem
왜 중요한가
널리 사용되는 설정 파일 형식의 근본적 설계 결함이 여전히 해결되지 않아 개발 생산성에 영향
데이터 직렬화 언어 YAML에서 노르웨이 국가코드 'NO'가 false로 파싱되는 문제가 Python의 PyYAML 6.0.3 라이브러리에서 여전히 발생한다고 LAB174가 12일 보고했다. 이는 YAML v1.0부터 인간 친화적 설계로 도입된 불린값 표현이 원인이다.
LAB174는 YAML의 노르웨이 문제에 대한 상세 분석을 발표했다. 이 문제는 노르웨이 ISO 국가코드 'NO'가 YAML 파서에서 false 불린값으로 잘못 해석되는 현상이다. Python의 가장 인기있는 YAML 라이브러리인 PyYAML 6.0.3에서 테스트한 결과, 국가코드 목록 ['DE', 'FR', 'NO', 'PL', 'RO']가 ['DE', 'FR', false, 'PL', 'RO']로 파싱되었다. 이 문제는 YAML이 인간 친화적 설정 파일을 목표로 'yes', 'no' 같은 자연어 불린값을 지원하면서 시작됐다. 해결책으로는 'NO'를 따옴표로 감싸는 방법이 있지만, 많은 개발자들이 이 함정을 모르고 있다. Stack Overflow 2025 조사에 따르면 Python은 세계 4위 인기 프로그래밍 언어이며, PyYAML은 월간 다운로드 기준 Python 상위 20개 라이브러리에 포함된다.