나는 jj에서 미래를 본다

12 hours ago 1

  • 새로운 버전 관리 시스템 jj는 Rust로 작성된 프로젝트로, 기존 Git의 한계를 보완하며 점진적 도입이 가능한 구조를 지닌 도구임
  • 저자는 과거 Rust의 성장 가능성을 분석했던 경험을 바탕으로, jj 역시 시장 적합성·전문 팀·사용자 기반 측면에서 유사한 잠재력을 지닌다고 평가함
  • jj는 Git 저장소와 호환되면서도 더 단순한 워크플로를 제공해, 특히 Git 내부 구조에 익숙하지 않은 개발자에게 접근성이 높음
  • Google과 Oxide 등에서 실제 사용이 확산되고 있으며, 열정적인 커뮤니티와 헌신적인 개발팀이 형성되고 있음
  • 저자는 jj 기반 협업 플랫폼을 개발하는 ERSC에 합류하며, Rust 초기 시절처럼 jj 생태계의 성장을 직접 이끌 계획임

Rust를 선택했던 이유

  • 저자는 2012년 크리스마스에 Hacker News에서 “Rust 0.5 released” 소식을 보고 언어에 관심을 갖게 됨
    • 당시 Ruby on Rails 개발자였지만, 대학 시절부터 컴파일러와 시스템 프로그래밍에 흥미가 있었음
  • Rust의 성공 가능성을 판단할 때 세 가지 요소를 고려함: 시장 적합성, 개발팀, 사용자 기반
    • C/C++을 대체할 신뢰할 만한 언어가 없었고, Rust는 가비지 컬렉션 없이 메모리 안전성을 제공하는 혁신적 접근을 제시함
    • Mozilla가 후원하며 Firefox에 Rust를 도입하려는 계획이 있었기에, 실사용 기반 확보 가능성이 높다고 판단함
  • Rust 커뮤니티의 친절하고 협력적인 분위기도 매력적 요인으로 작용
    • 이후 저자는 “Rust for Rubyists” 튜토리얼을 작성하고, 공식 문서 공동 저자로 참여하게 됨

jj의 등장

  • jj(Jujutsu) 는 프로그래밍 언어가 아닌 새로운 버전 관리 시스템(VCS) 으로, Rust로 구현됨
    • Git과 호환되며, 기존 저장소를 그대로 사용하면서 점진적으로 도입 가능
  • 저자는 기술적 취향이 비슷한 개발자 Rain의 추천을 계기로 jj를 탐색하기 시작함
    • Rain은 Meta의 소스 관리팀 출신으로, 그녀의 추천은 신뢰할 만한 신호로 받아들여짐
  • 주말에 jj를 직접 실험하며 튜토리얼 작성 프로젝트를 시작함
    • Rust 학습 때와 마찬가지로, 글을 쓰며 개념을 정리하는 방식으로 접근
    • 결과적으로 튜토리얼이 커뮤니티에서 긍정적 반응을 얻음

jj의 미래 전망

  • 저자는 jj에서 Rust 초기와 유사한 성장 패턴을 봄
    • 시장 적합성, 팀 역량, 사용자 확산 가능성 모두 긍정적임
  • 시장 적합성 측면에서 Git이 절대적 우위를 점하고 있지만, jj는 Git 저장소를 그대로 다룰 수 있어 부분적 도입이 가능함
    • Oxide 내부에서도 Rain을 시작으로 사용이 확산되어 전용 채널이 생길 정도로 관심이 높음
  • Google 내부에서도 jj가 사용되고 있으며, 이는 Mozilla가 Rust를 채택했던 것과 유사한 신호로 해석됨
    • Google의 대규모 모노레포(Piper 백엔드 기반)에서도 일부 프로젝트가 jj를 활용 중이며, 이는 사회적 신뢰 증거(social proof) 로 작용
  • 학습 곡선은 존재하지만, Git 내부 구조에 익숙하지 않은 사용자에게는 오히려 더 직관적이고 간단한 사용성을 제공
    • Git 전문가일수록 새로운 개념에 적응이 필요하지만, 일반 개발자는 빠르게 익숙해짐
  • jj 커뮤니티는 열정적이고 친근한 분위기로 성장 중이며, 이는 초기 Rust 커뮤니티를 연상시킴

jj 팀과 커뮤니티

  • 창시자 Martin은 jj 개발에 오랜 기간 헌신해왔으며, 최근에는 개인 계정에서 공식 조직 계정으로 이전하고 거버넌스를 정비함
  • 팀 구성원들은 소스 제어 도구 개발 경험이 풍부한 전문가들로, 기술적 방향성과 품질 관리에 강점을 보임
  • 커뮤니티는 활발한 피드백과 협업을 통해 빠르게 성장 중이며, 초기 Rust 커뮤니티의 긍정적 에너지를 재현하고 있음

새로운 도전: ERSC 합류

  • 저자는 Oxide를 떠나 jj 기반 협업 플랫폼을 개발하는 스타트업 ERSC에 합류하기로 결정함
    • Oxide는 훌륭한 직장이었지만, jj 생태계에 더 깊이 참여하고자 하는 열망이 결정적 요인이 됨
  • ERSC는 jj 위에 개발자 협업 플랫폼을 구축할 예정이며, GitHub가 Logical Awesome이라는 법인명으로 출발했던 사례를 언급하며 비슷한 초기 단계를 설명함
  • 저자는 Oxide에서의 업무를 마무리한 뒤 휴식을 취하고, 이후 jj 커뮤니티 활동과 튜토리얼 완성에 전념할 계획임
    • Discord에서의 활동 확대, 블로그 연재, 커뮤니티 기여 등을 예고함
  • 2025년을 새로운 전환점으로 평가하며, 자신이 진정으로 열정을 느끼는 프로젝트에 도전할 수 있음에 감사함을 표현

결론

  • 저자는 jj가 Rust의 성장 궤적을 재현할 잠재력을 지닌다고 확신함
    • Git과의 호환성, 점진적 도입 가능성, 헌신적인 팀, 그리고 활발한 커뮤니티가 그 근거임
  • jj는 단순한 도구를 넘어, 개발자 협업 방식의 혁신 플랫폼으로 발전할 가능성을 보여줌
  • Rust에서 시작된 저자의 여정은 이제 jj와 함께 새로운 장으로 이어지고 있음

Read Entire Article