1P by neo 8달전 | favorite | 댓글 1개
  • 새로운 버전 관리 시스템, Diversion 소개

    • Sasha와 Egal은 현대적인 클라우드 기반 버전 관리 시스템인 Diversion을 개발 중임.
    • 첫 사용자는 게임 개발자들로, Diversion의 단순성과 확장성을 좋아함.
    • 빠른 데모는 여기서 확인 가능: 데모 링크
  • Git의 한계와 새로운 VCS의 필요성

    • Git은 소프트웨어 개발을 크게 발전시켰지만, 2005년 당시의 환경(느린 네트워크, 작은 프로젝트, 클라우드 미사용)에 맞춰 설계되어 오늘날 모든 이에게 완벽한 도구는 아님.
    • Git의 가장 큰 단점은 저장소 및 파일 크기, 동시 사용자 수에 대한 제한된 확장성임.
    • Google과 Meta가 자체 버전 관리 시스템을 구축한 이유이며, 게임 개발, 반도체, 금융 서비스 등 대기업들이 여전히 SVN과 Perforce와 같은 레거시 도구를 사용하는 이유임.
  • Git의 복잡성 해결과 현대적 기능의 통합

    • Git의 복잡성으로 인해 발생하는 문제를 해결하고자 함.
    • Git의 뛰어난 브랜칭 및 병합 기능은 현대 소프트웨어 개발 방법론에 크게 기여함.
    • 사용이 쉽고, 빠르며, 확장 가능한 버전 관리 시스템을 만들 수 있는지, Git의 브랜칭 기능을 유지하면서 무엇을 개선할 수 있는지 고민함.
  • Diversion의 특징과 사용자 경험

    • Diversion은 분산 스토리지와 데이터베이스 위에 구축되어 REST API를 통해 접근 가능하며, 서버리스 클라우드 인프라에서 실행됨.
    • 모든 저장소 작업은 API 호출을 통해 이루어짐(커밋, 브랜치, 병합 등).
    • 데스크탑 클라이언트는 작업 중인 모든 내용을 실시간으로 클라우드와 동기화함(커밋 전에도).
    • 사용자는 대화형 CLI, 웹 UI, IDE 플러그인(JetBrains 현재 사용 가능, 더 많은 것이 곧 출시 예정)을 통해 Diversion을 사용할 수 있음.
    • 웹 UI를 통해 데스크탑 클라이언트 설치 없이 기본 작업을 수행할 수 있음.
  • Git과의 호환성 및 오픈 소스 계획

    • Diversion은 Git과 호환되며 기존 Git 저장소와 동기화 가능함(새로운 Diversion 커밋은 Git에 반영되고 그 반대의 경우도 마찬가지).
    • 코드 베이스가 성숙하고 웹사이트에 오픈 소스 저장소 디렉토리를 구현하면 오픈 소스로 출시할 계획임(Diversion의 코드는 Diversion에서 관리됨).
  • 오픈 베타와 무료 사용 가능성

    • Diversion은 오픈 베타 상태이며, 여기서 시도해볼 수 있음: Diversion 웹사이트 (Get Started 클릭).
    • 완전히 자가 서비스이며, 소규모 팀에게는 무료임.
  • 개발 중인 기능과 피드백 요청

    • 버전 관리 시스템을 구축하는 것은 어려운 일이며, Diversion은 아직 갈 길이 멀음.
    • 현재 속도 향상, CI 통합, IDE 및 게임 엔진 플러그인 개발, 기타 사용성 개선에 집중하고 있음.
    • 지금까지의 진행 상황에 대한 의견과 피드백을 듣고 싶어함.

GN⁺의 의견

  • Diversion은 현대적인 클라우드 기반의 버전 관리 시스템으로, Git의 확장성 문제와 복잡성을 해결하고자 함이 중요함.
  • 실시간 협업, API 기반의 작업 처리, Git과의 호환성 등은 개발자들에게 매력적인 기능으로 다가갈 수 있음.
  • 오픈 베타와 무료 사용 제공은 많은 개발자들이 새로운 도구를 시험해볼 수 있는 좋은 기회를 제공하며, 이는 Diversion의 빠른 성장과 개선에 도움이 될 것임.
Hacker News 의견
  • Cloud-Native Git Alternative

    • 클라우드 네이티브는 구현 세부사항이며, 새로운 버전 관리 시스템(VCS)을 서비스가 아닌 패키지 소프트웨어로 판매할 계획이 아니라면 중요하지 않음.
    • 클라우드 네이티브가 Git 사용자의 일상적인 문제를 어떻게 해결하는지 불분명함.
  • The biggest drawback of Git is its limited scalability

    • Git의 확장성 문제를 겪는 사용자 비율에 대한 궁금증.
    • 수백에서 수만 명의 엔지니어를 보유한 회사에서 근무했지만, 개인적으로 Git의 확장성 문제를 겪어본 적 없음.
    • 모노레포(monorepo) 사용이 확장성 문제를 일으킬 수 있으나, 모노레포 자체가 논란의 여지가 있음.
  • Diversion is built on top of distributed storage and databases, accessible via REST API, and runs on serverless cloud infrastructure. Every repository operation is an API call (commit, branch, merge etc.).

    • 사용자 입장에서 내부 프로토콜에 대한 관심 부족.
    • CLI나 UI 사용 시 내부 프로토콜이 중요하지 않음.
    • 추상 구문 트리(AST) 기반의 VCS에 대한 호기심.
  • most notably in games development, semiconductors and financial services are still using legacy tools like SVN and Perforce

    • Git의 복잡성보다는 대규모 바이너리 자산을 처리하는 데 Git이 적합하지 않다는 점에 초점을 맞출 것.
    • Git이 대규모 파일을 잘 처리하지 못한다는 리누스 토발즈의 인용.
  • it was built for a very different world in 2005 (slow networks, much smaller projects, no cloud)

    • 느린 네트워크, 작은 프로젝트, 클라우드가 없던 2005년과는 다른 환경에서 Git이 설계됨.
    • Git은 분산형이므로 클라우드 환경에서도 잘 작동해야 함.
    • 데이터 과학자가 잘못된 Git 명령어로 한 달 치 작업을 파괴한 것은 구성 문제로 보임.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command

    • Git에 대한 비판보다는 자체 제품에 초점을 맞출 것.
    • Git은 분산형 VCS이며, 백업 없이 중앙 집중식으로 사용하려는 시도가 문제임.
  • git is bad we're better

    • 게임 개발자로서 제시된 제안에 대한 흥미 부족.
    • Git LFS를 사용한 현대적인 워크플로우가 원활하게 작동함.
    • 클라우드 네이티브가 특징으로 제시되었으나, 온프레미스 및 자체 호스팅된 프라이빗 클라우드 지원에 대한 세부사항 누락.
    • 파일 잠금 기능에 대한 아티스트의 선호도와 P4 스트림 및 브랜치 사용으로 인한 잠금 사용의 어려움.
  • File locking across branches - coming soon!

    • 파일 잠금 기능이 곧 출시될 예정이지만, 제안에 대한 개선 필요성.
  • Git cli UX made be not great, but the git datastructure of representing commits, branches, trees and blobs as immutable pointers and merkle trees is a phenomenal invention.

    • Git의 데이터 구조는 놀라운 발명품이지만, 모든 명령어가 REST API를 통해 이루어지는 것에 대한 동의 부족.
    • Git의 강력한 점은 오프라인에서도 부분적인 클론으로 작업하고 온라인 상태가 되면 커밋을 동기화할 수 있다는 것.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command.

    • Git의 사용성 개선 필요성 인정, 그러나 발생한 문제는 개발 운영 실패로 보임.
    • 비코더들에게 소스 컨트롤의 이점을 소개하면서 고급 기능을 유지할 수 있는 더 쉬운 학습 곡선 필요.
  • The world needs a git alternative.

    • Git 대안의 필요성.
    • 여러 명이 매일 동일한 저장소에 커밋할 때 Git의 한계.
    • Git이 리베이스를 더 잘 처리할 수 있다면 소프트웨어 개발 팀의 작업 속도가 20% 향상될 것으로 예상.
  • I get that enterprises will buy anything with "Cloud" or "AI" in the name, but VCS doesn't have anything to do with the cloud.

    • 기업이 "클라우드"나 "AI"가 이름에 포함된 모든 것을 구매할 것이라는 인식.
    • 기술보다 문제 해결에 초점을 맞추는 것이 중요함.
    • 사용자 경험이 좋지 않다면 기술적 세부사항은 의미가 없음.
    • 개발 시간을 단축하고 오류를 줄이며 협업을 개선하는 경험을 제공하는 제품에 대한 판매 전략 필요.