기타 Lobsters · 2일 전

"안전한 언어 쓰겠다며 러스트 강제 도입"... 개발자들 CI 터지고 깃허브 난리 난 사건

핵심 요약
  • 파이썬 필수 암호화 라이브러리인 cryptography가 러스트(Rust)를 필수 의존성으로 추가하면서 다수 아키텍처 및 배포판에서 빌드가 중단되는 사태가 발생했습니다.
  • 출근하자마자 빌드 파이프라인이 터진 개발자들의 원성이 쏟아졌으나, 메인테이너는 'C 언어보다 안전한 언어로 바꾸기 위한 조치'라며 롤백 불가 입장을 고수했습니다.
  • 이에 반발한 개발자들이 "이러면 프로젝트를 포크할 수밖에 없다"고 맞서며 깃허브에서 격렬한 충돌이 벌어졌습니다.
요약 파이썬 생태계의 핵심 패키지 중 하나인 'cryptography'가 러스트(Rust)를 필수 의존성으로 도입하면서 오픈소스 커뮤니티가 발칵 뒤집혔습니다. 젠투(Gentoo) 리눅스 패키징 기여자인 mgorny는 깃허브 이슈를 통해, 러스트 의존성이 추가되면서 기존에 지원되던 다수의 플랫폼(alpha, hppa, ia64, m68k, s390 등)에서 더 이상 cryptography 패키징이 불가능해졌다고 토로했습니다. 그는 기존 C 코드를 비주류 아키텍처에 맞추는 비용보다 러스트 전체를 포팅하는 비용이 훨씬 크며, 자원봉사자들에게 cryptography 하나 때문에 러스트 전체를 포팅하라고 요구할 수는 없는 노릇이라고 비판했습니다. 이 변경사항이 배포되자마자 수많은 개발자들의 불만이 쏟아졌습니다. 한 개발자는 아침에 출근하자마자 CI/CD 파이프라인이 전부 터져버렸다고 호소했고, 또 다른 개발자는 알파인(Alpine) 리눅스 환경에서도 빌드가 불가능해졌다며 러스트 의존성을 즉각 제거해달라고 요청했습니다. 하지만 cryptography 핵심 메인테이너(tiran)의 입장은 단호했습니다. 알파인 리눅스는 러스트 최신 버전으로 업데이트하면 해결되며, 러스트 도입 철회는 절대 없을 것이라고 못 박았습니다. C 코드를 실제로 안전한 언어로 대체하는 작업이며, 3.4.x 버전에서는 임시로 러스트 연동을 비활성화할 수 있지만 3.5 버전부터는 러스트가 필수 조건이 될 것이라 선을 그었습니다. 이에 대해 개발자들은 "안전한 언어를 쓴답시고 시스템을 터뜨리는 게 진정한 보안이냐", "이러면 결국 패키지를 포크(fork)해서 원본을 무력화할 수밖에 없다"며 거세게 반발하는 등 격한 논쟁이 벌어졌습니다.
해외 반응 번역
오늘 아침에 내 CI/CD 파이프라인 다 박살 났음 😆
알파인 리눅스에서도 빌드가 아예 안 됩니다. 제발 이 의존성 당장 제거해 주세요.
(메인테이너 답변) 최신 알파인으로 업데이트하세요. 그리고 의존성 제거는 절대 안 일어납니다. C 코드를 안전한 언어로 교체하기 위해 러스트는 유지됩니다. 3.4에선 끌 수 있지만 3.5부턴 필수입니다.
Sponsored · 광고