리누스 토발즈 "러스트 병합, 리눅스 6.1부터"

컴퓨팅입력 :2022/09/23 11:49    수정: 2022/09/23 13:16

리눅스 커널의 러스트 병합 시점이 6.1 버전으로 확정됐다.

지난 19일 미국지디넷에 따르면, 리누스 토발즈는 최근 이메일 대화에서 "이상한 일이 발생하지 않는 한 6.1을 러스트로 만들 것"이라고 밝혔다.

리눅스커널의 최신 버전은 5.9다. 다음으로 예정된 6.0 버전을 지나야 러스트 병합이 시작된다.

 

러스트는 C언어의 문제점을 해결하기 위해 개발된 최신 프로그래밍 언어다. 2020년 리눅스 플럼버 컨퍼런스에서 커널 개발자들이 러스트 언어를 리눅스에 사용하는 것을 검토하기 시작했다. 리눅스에 기반하는 안드로이드 OS를 위한 러스트를 지원해온 구글은 2021년 4월 리눅스커널의 인라인 코드에 러스트 투입을 추진했다.

리누스 토발즈

당시 구글 안드로이팀의 웨슨 알메이다 필료는 "러스트는 이제 커널을 구현하는 실용적 언어로 C에 합류할 준비가 됐다고 생각한다"며 "이는 권한있는 코드에서 잠재적 버그와 보안 취약점의 수를 줄이는데 도움을 주며, 핵심 커널과 잘 작동하고 성능 특성을 유지한다"고 말했었다.

상위 리눅스커널 개발자들은 러스트에 조심스러웠다. 리눅스 작동에 필요한 비표준적인 러스트 확장이 너무 많이 필요하다는 우려였다. 예를 들어, 최신 러스트 리눅스 NVMe 드라이버의 경우 러스트 작동에 70개 이상의 비표준 확장이 필요했다.

이에 대해 리누스 토발즈는 한 인터뷰에서 "우리는 수십년동안 표준 C에 예외를 사용해왔다"며 비표준 확장 사용 여부를 크게 문제 삼지 않는 입장을 밝혔었다.

러스트 확장 문제는 최근 열린 리눅스 커널 메인테이너 서밋에서도 중요한 이슈였다. 서밋 종료 후 프론트엔드용 C언어 컴파일러인 Clang에서 러스트를 충분히 잘 지원하고 있어 러스트 병합을 추진하기로 결론내렸다. 앞서 토발즈는 "Clang이 작동하므로 러스트를 병합하면 커널을 손상시키지 않고 도움이 될 것"이라고 말했었다.

회의에서 리누스 토발즈는 "메인테이너 서밋에서 토론이 있었지만, 실제로 대부분 컴파일러 버전 문제에 관한 것이었다"며 "이것은 러스트에 새롭지 않다"고 밝혔다.

리눅스커널과 러스트 개발자인 미겔 오헤다의 획기적 작업이 '러스트온리눅스'를 훨씬 더 성숙하게 만든 것도 중요한 계기로 작용했다. 또, 웨스턴디지털 수석엔지니어인 안드레아스 힌드보르그는 2022 리눅스 플럼버 서밋에서 러스트를 활용해 리눅스용 SSD NVMe 드라이버의 일등급 드라이버를 만들 수 있다는 것을 증명했다.

리눅스 메인테이너들은 이제 리눅스에서 러스트를 사용할 때라고 확신했다. '러스트온리눅스' 작동이 준비됐다는데 동의한 것이다.

관련기사

단 토발즈는 "첫번째 릴리스에서 러스트는 핵심 인프라만 가질 것"이라고 경고했다.

스티븐보간 니콜스는 "그러나 여전히 러스트와 리눅스에 중요한 첫번째 단계"라고 평가했다.