1 ポイント 投稿者 GN⁺ 2024-01-23 | 1件のコメント | WhatsAppで共有
  • 新しいバージョン管理システム、Diversionの紹介

    • SashaとEgalは、モダンなクラウドベースのバージョン管理システムであるDiversionを開発中。
    • 最初のユーザーはゲーム開発者で、Diversionのシンプルさと拡張性を気に入っている。
    • 短いデモはこちら: デモリンク
  • Gitの限界と新しいVCSの必要性

    • Gitはソフトウェア開発を大きく前進させたが、2005年当時の環境(遅いネットワーク、小規模なプロジェクト、クラウド未使用)に合わせて設計されており、今日では誰にとっても完璧なツールではない。
    • Gitの最大の欠点は、リポジトリおよびファイルサイズ、同時ユーザー数に対する拡張性が限られていること。
    • そのためGoogleやMetaは独自のバージョン管理システムを構築しており、ゲーム開発、半導体、金融サービスなどの大企業が今なおSVNやPerforceのようなレガシーツールを使っている理由でもある。
  • Gitの複雑さの解消とモダンな機能の統合

    • Gitの複雑さによって生じる問題を解決しようとしている。
    • Gitの優れたブランチングとマージ機能は、モダンなソフトウェア開発手法に大きく貢献してきた。
    • 使いやすく、高速で、スケーラブルなバージョン管理システムを作れるのか、Gitのブランチング機能を維持しながら何を改善できるのかを模索している。
  • Diversionの特徴とユーザー体験

    • Diversionは分散ストレージとデータベースの上に構築され、REST API経由でアクセスでき、サーバーレスのクラウドインフラ上で動作する。
    • すべてのリポジトリ操作はAPI呼び出しによって行われる(コミット、ブランチ、マージなど)。
    • デスクトップクライアントは、作業中のあらゆる内容をリアルタイムでクラウドと同期する(コミット前でも)。
    • ユーザーは対話型CLI、Web UI、IDEプラグイン(現在はJetBrainsに対応、今後さらに追加予定)を通じてDiversionを利用できる。
    • Web UIを通じて、デスクトップクライアントをインストールしなくても基本的な作業を行える。
  • Gitとの互換性とオープンソース化の計画

    • DiversionはGitと互換性があり、既存のGitリポジトリと同期できる(新しいDiversionのコミットはGitに反映され、その逆も同様)。
    • コードベースが成熟し、Webサイト上にオープンソースのリポジトリディレクトリを実装したら、オープンソースとして公開する計画(DiversionのコードはDiversionで管理されている)。
  • オープンベータと無料利用

    • Diversionはオープンベータ段階にあり、こちらから試せる: Diversionウェブサイト (Get Startedをクリック)。
    • 完全なセルフサービスで、小規模チームには無料。
  • 開発中の機能とフィードバックの募集

    • バージョン管理システムの構築は難しく、Diversionにはまだ長い道のりがある。
    • 現在は速度向上、CI統合、IDEおよびゲームエンジンプラグインの開発、そのほかのユーザビリティ改善に注力している。
    • これまでの進捗についての意見やフィードバックを求めている。

GN⁺の見解

  • Diversionは、Gitの拡張性の問題と複雑さを解決しようとする、モダンなクラウドベースのバージョン管理システムである点が重要。
  • リアルタイムコラボレーション、APIベースの操作処理、Gitとの互換性などは、開発者にとって魅力的な機能になりうる。
  • オープンベータと無料提供により、多くの開発者が新しいツールを試せる良い機会が生まれ、Diversionの迅速な成長と改善にも役立つだろう。

1件のコメント

 
GN⁺ 2024-01-23
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)

    • Gitは、低速なネットワーク、小規模なプロジェクト、クラウドが存在しなかった2005年とは異なる世界向けに設計された。
    • Gitは分散型なので、クラウド環境でもうまく動作すべき。
    • データサイエンティストが誤ったGitコマンドで1か月分の作業を破壊した件は、構成上の問題に見える。
  • 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がrebaseをもっとうまく扱えれば、ソフトウェア開発チームの作業速度は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.

    • 企業は名前に"Cloud"や"AI"が入っていれば何でも買う、という認識。
    • 技術そのものより、問題解決に焦点を当てることが重要。
    • ユーザー体験が良くなければ、技術的な詳細には意味がない。
    • 開発時間を短縮し、エラーを減らし、協業を改善する体験を提供する製品として売る戦略が必要。