RubyGems.org는 수년간 Ruby 커뮤니티의 필요에 따라 유기적으로 발전해왔습니다.
RubyGems.org의 탄생과 초기 운영
-
2003년 Ruby 오픈 소스 프로젝트를 위한 RubyForge가 설립되었고 Ruby Central이 호스팅 비용을 지원했습니다. RubyGems 패키지 관리 프레임워크는 2004년 첫 버전을 발표했으며, 2007년 Ruby 1.9.0부터 Ruby에 포함되었습니다.
-
RubyForge의 성능 문제로 2009년 RubyGems.org가 제안되었고, Ruby Central의 지원을 받아 새로운 gem 호스팅 서비스로 자리 잡았습니다. 2014년 RubyForge 폐쇄 이후 RubyGems.org의 운영과 개발은 전적으로 자원봉사자들에 의해 이루어졌습니다.
Bundler의 영향과 인프라 개선
-
Ruby 애플리케이션의 복잡한 의존성 관리를 위해 2008년 Bundler 프로젝트가 시작되었고, 2018년 Ruby 2.6.0부터 기본 gem으로 포함되었습니다.
-
Bundler의 급속한 채택은 RubyGems.org에 막대한 트래픽 부하를 주었습니다. 초기에는 모든 gem 목록을 요청하여 서버 과부하를 일으켰고, 2012년에는 사실상 DDoS 공격과 같은 상황으로 서버가 다운되기도 했습니다.
-
이 문제를 해결하기 위해 RubyGems.org는 새로운 API를 개발했고, Bundler 팀은 별도의 의존성 API 웹 애플리케이션을 구축하여 트래픽 문제를 효과적으로 해결했습니다.
Ruby Together의 설립과 Ruby Central로의 통합
-
RubyGems.org의 인프라 및 개발 작업은 자원봉사자들의 헌신으로 이루어졌습니다. 2015년 Ruby Together는 핵심 인프라 개발 및 유지보수를 위한 자금 조달을 목표로 비영리 단체로 설립되었습니다.
-
하지만 Ruby Together는 회원사 유치와 재정 확보에 어려움을 겪으며, 수입보다 지출이 많아 자원봉사자들의 번아웃 문제가 대두되는 “공유지의 비극”을 겪었습니다.
-
재정적 어려움이 지속되자, 2021년 Ruby Central은 합병을 발표하며 Ruby Together는 해산되었습니다. Ruby Central은 RubyGems, Bundler, RubyGems.org의 운영 및 호스팅 비용 지원을 담당하게 되었고, 2023년 OSS 위원회를 구성하여 공식적인 프로세스 확립을 추진했습니다. 이는 자원봉사자 주도로 운영되던 핵심 인프라가 Ruby Central의 중앙화된 관리 체제로 전환되는 계기가 되었습니다.