- Microsoft는 WSL 전체를 오픈소스로 전환했다고 발표했으며, 이는 Microsoft/WSL 저장소의 첫 번째 이슈였던 “오픈소스가 될까요?”에 대한 응답이기도 함
- GitHub의 Microsoft/WSL에서 소스를 내려받고 직접 빌드하거나 기능을 추가하고 버그를 수정할 수 있음
- 공개된 코드는 커맨드라인 도구, 서비스, Linux용 데몬, Plan9 기반 파일 공유 서버까지 포함함
- WSL은 Windows 실행부와 리눅스 가상머신(VM) 내에서 동작하는 여러 컴포넌트로 구성됨
- CLI 도구:
wsl.exe,wslconfig.exe,wslg.exe - WSL 서비스: VM 부팅, 배포판 실행, 파일 공유 등을 담당하는
wslservice.exe - Linux 데몬:
init,gns,localhost등 네트워크 및 포트 포워딩 기능 수행 - Plan9 서버: Windows와 Linux 간 파일 공유 역할
- CLI 도구:
- 기존에 오픈소스로 공개된 구성요소
- WSLg: Wayland 및 X 서버를 지원하는 그래픽 환경 관련 구성요소
- WSL2-Linux-Kernel: 리눅스 커널 소스
- 아직 오픈되지 않은 구성요소
Lxcore.sys: WSL1의 핵심 드라이버P9rdr.sys,p9np.dll: Windows에서\\wsl.localhost경로를 지원하는 파일 리다이렉션 시스템
오픈소스 전환 배경과 WSL의 역사
- WSL은 2016년 BUILD에서 처음 발표되어 Windows 10 Anniversary Update에 포함됨
- WSL1은 Windows 커널 내에서 Linux syscalls를 처리하는
lxcore.sys기반의 구조였음 - WSL2는 2019년 처음 발표되었고, 실제 리눅스 커널을 활용해 호환성과 기능을 개선함
- 이후 GPU 지원, GUI 앱 실행(wslg),
systemd지원 등 기능이 추가되며 성장함 - 2021년부터는 Windows에서 분리된 독립 패키지로 Microsoft Store를 통해 제공됨
- 첫 릴리스는 0.47.1 (프리뷰), 이후 2022년 1.0.0에서 Windows 10까지 지원 확대
- Windows 11 24H2부터는 기존 내장 WSL에서 새로운 패키지 기반 WSL로 전환됨
wsl.exe는 그대로 남겨 사용자 전환을 지원함
최신 버전 및 기능
- 최신 릴리스는 WSL 2.5.7, 4년간 약 9페이지 분량의 GitHub 릴리스를 통해 개선되어 옴
- 주요 개선점에는 미러 네트워킹, DNS 터널링, Session 0, 프록시/방화벽 지원 등이 포함됨
커뮤니티의 기여
- 수년간 커뮤니티는 버그 리포팅, 기능 제안, 비공식 분석 등으로 WSL 개선에 기여해 옴
- 소스 코드 공개 이전에도 실질적인 기여가 활발했고, 이제는 직접적인 코드 기여가 가능해짐
- Microsoft는 이 커뮤니티의 지원에 감사하며, 앞으로도 WSL의 발전에 더 큰 시너지를 기대하고 있음
기여 방법
- 소스 구조나 기능 구현이 궁금하거나 개선하고 싶은 점이 있다면
- microsoft/WSL 저장소에서 참여 가능함
- 직접 빌드, PR 제출, 이슈 리포팅 등 다양한 방식으로 기여 가능함