- Ubuntu의 Rust 도입은 기술 채택 주기에서 Rust가 얼리 어답터에서 캐즘을 넘어 주류 단계로 이동하고 있음을 보여줌
- Canonical은 Rust를 새로운 기반 소프트웨어의 기본 언어로 채택하여 C, C++, 일부 Python 사용을 대체하고 있으며, 메모리 안전 유틸리티 개발에 재정·명성 양면으로 투자 중
- 초기 다수(Early Majority) 사용자는 "업계 표준"과 기존 워크플로와의 호환성을 원하기 때문에, 드롭인 방식의 유틸리티 교체가 캐즘을 넘는 핵심 전략
- Rust의 표준 라이브러리 확장 문제가 다시 부상했으며, 2016년 거부된 "Rust Platform" 개념이 초기 다수에게는 오히려 적합할 수 있다는 재평가
- 채택 확대를 투자로 연결하는 구조와 오픈소스 커뮤니티의 공감(empathy) 기반 포용력이 Rust의 다음 단계 성장에 필수적임
Rust의 '캐즘 넘기'는 영역마다 다름
- Rust가 Technology Adoption Life Cycle에서 캐즘을 넘었는지는 영역에 따라 다름
- Amazon 내부에서는 대규모 데이터 플레인이나 리소스 인식 에이전트 구축에 Rust가 확고히 자리 잡았지만, 일반 개발에는 여전히 과하다는 인식 존재
-
Safety Critical Software 영역에서는 성공 사례가 있지만 대부분의 업계는 "관망 모드"에 머무는 상태
"레퍼런스 고객"의 중요성
- 캐즘을 넘기 위한 핵심은 레퍼런스 고객(reference customers) 확보
- 초기 채택자는 "변화의 주체(change agent)"를 구매하지만, 초기 다수는 기존 운영의 생산성 향상을 원하며 불연속성을 최소화하려 함
- 자신과 비슷한 조직이 성공한 사례를 보는 것이 새로운 기술 도입에 가장 설득력 있는 요인
- S3 팀의 Rust 성공이 대규모 서비스 팀에는 설득력이 있지만, CRUD 서비스 팀에게는 직접적 설득력이 부족한 것이 그 예시
Ubuntu(Canonical)의 Rust 도입 전략
- Rust Nation에서 Canonical VP of Engineering Jon Seager가 "Rust Adoption At Scale with Ubuntu" 키노트 발표
- Canonical은 자체 개발 언어를 Python, C/C++, Go로 한정해왔으나 최근 Rust를 추가하여 새로운 기반 작업의 기본 언어로 채택
- Lars Bergstrom의 Google 내 Rust 채택 키노트와 유사하게, 비전과 실용성을 동시에 갖춘 접근 방식
- 이는 초기 채택자에서 초기 다수로 전환하는 데 필요한 정확한 특성
메모리 안전 유틸리티에 대한 투자
- Jon Seager는 Ubuntu가 메모리 안전 기반 유틸리티 구축을 "pay it forward" 차원에서 지원해야 한다고 언급
- Canonical은 Trifecta Tech Foundation의 sudo-rs, ntpd-rs 개발과 uutils의 coreutils 작업을 재정 지원 중
- Ubuntu가 새로운 것을 먼저 시도하고 검증한 뒤 다른 배포판이 혜택을 받을 수 있도록 하는 구조
- 기존 워크플로에 그대로 들어가는 드롭인 유틸리티가 초기 다수의 "불연속성 최소화" 요구에 부합
새로운 채택자의 요구: 표준 라이브러리 확장
- 만찬 자리에서 Jon Seager는 Rust의 작은 표준 라이브러리 정책을 재검토해야 한다고 발언
- 이는 수년간 반복되어 온 요구이며, 단순히 큰 표준 라이브러리를 제공하는 것이 아니라 "Battery Packs" 이라는 프로젝트 형태의 대안을 구상 중
- 2016년 제안된 Rust Platform(특정 crate를 확장 표준 라이브러리로 인정하는 개념)은 당시 초기 채택자들에게 거부되었으나, 초기 다수에게는 적합할 수 있다는 재평가
- 당시에는 Cargo.toml에 의존성을 추가하면 충분하다는 의견이 우세했음
성장을 위한 변화의 필요성
- 초기 채택자에서 초기 다수로 전환하려면 "최첨단(state-of-the-art)"이 아닌 "업계 표준(industry standard)" 이라는 메시지가 필요
- Rust는 업계 인지도 확보에는 성공했으며, 이제 "될 수 있는 것"이 아닌 "실제로 무엇인지" 를 기준으로 최선의 선택이 되어야 함
- 이 두 가지가 때로 긴장 관계에 있을 수 있음
- 실용주의자에게 마케팅하려면 인내심, 해당 산업 이슈에 대한 이해, 업계 컨퍼런스 참석 등이 필요
채택을 투자로 연결하는 구조
- Rust 채택 확대는 Rust 프로젝트와 생태계에 대한 요구 증가를 수반
- Canonical 같은 오픈소스 조직에는 $$보다 조직 간 관계 구축과 기여가 더 중요
- Rust for Linux 개발자들이 초기에는 Rust 메인테이너의 도움을 받았지만, 점차 직접 버그를 수정하고 메인테이너는 멘토 역할로 전환
- 흥미로운 추세로, 자금은 Rust를 이미 도입한 기업보다 도입을 검토 중인 기업에서 나오는 경우가 많음
- 내부의 초기 채택자 개인이 조직 도입을 추진하며 "테이블 스테이크" 기능 개발에 예산을 배정
- Rust Foundation Silver Member Directory의 Alexandru Radovici에 따르면, 다수의 안전 필수 소프트웨어 기업이 Rust의 갭을 메우기 위한 자금은 있지만 사용 방법을 모르는 상황
오픈소스의 역할과 공감의 중요성
- 오픈소스는 캐즘을 넘기 위한 훌륭한 플랫폼이지만, 파벌(cliques)과 "구전 전통(oral traditions)" 이 진입 장벽이 될 수 있음
- 잘못된 용어 사용으로 아이디어가 거부되거나, 무례한 응답 하나가 새로운 기여자를 떠나게 만들 수 있음
- Rust의 다음 성장 단계에 가장 필요한 것은 오픈소스에서의 공감(Empathy in Open Source)
- Rust가 사람들을 도울 수 있는 곳을 찾아가서 지원하고 역량을 부여하는 것이 핵심