HN🔥 59
💬 46

爆速化に期待!RustでGitをフルスクラッチした「Grit」が熱い

cbrewster
3日前

ディスカッション (11件)

0
cbrewsterOP👍 59
3日前

GitをRustで再構築するプロジェクト「Grit」が登場しました。最大の特徴は、AIエージェントを活用したコードベースの変換やリファクタリングを念頭に置いて設計されている点です。Rustのパフォーマンスと安全性、そして現代的なAI開発ツールとの親和性を高めるアプローチとして、今後の動向が非常に注目されます。

1
heyts
3日前

個人的には逆のパターンに興味があるな。結局こういうプロジェクトの大半は実験みたいなものだし。どれもAIのおかげでコストが下がったからって「パフォーマンス」を理由に書き直してるだけに見えるんだよね。PythonでQuake IIIを動かしたり、PerlでKubernetesを実装したり、RailsをPythonで動かすくらい突拍子もないことが見てみたいよ、すごく面白そうじゃない?

2
Philpax
3日前

LLMが生成したコードを確認したところ、特に実装をライブラリ化してメモリセーフにするために必要だった大規模かつ広範囲なアーキテクチャの変更を考慮すると、我々のコードベースはGPLライセンスを継承しなければならない派生著作物ではないと判断し、MITライセンスで公開することにした。

ふむ。これは面白くなってきたね。

3
gdgghhhhh
3日前

つまり「派生著作物ではない」と自分たちで「決定」したから、GPLじゃなくてMITライセンスにできるってことか……。

4
ianm218
3日前

自分も他の領域で同じ課題に取り組んでいるよ。究極の目標はNginxをRustで書き直すことなんだけど、ゼロから実装するんじゃなくて、rustls(モダンでメモリセーフなOpenSSL)、Tokio(非同期ランタイム)、h2(HTTP/2実装)といった強力なRustエコシステムを活用しながら、上流のテストをできるだけ多くパスさせることを目指してる。最初はLuaから始めて、次にValkeyへの移植、今はNginxに取り組んでるところ。一番複雑な部分をやる前に、まずは仕組みを隅々まで理解したかったからね。

[1]. https://github.com/ianm199/lua-rs/tree/main Lua
[2]. https://github.com/ianm199/valdr Valkey/ Redis
[3]. https://github.com/ianm199/nginx-rs-port Nginx

アプローチについての質問は大歓迎!数週間前に始めた時は、テストハーネス単体だと「メタハーネス」みたいなものがないとあまり進められなかったんだけど、Claude WorkloadsやMythosのおかげでその状況も大きく変わりつつある。作業の多くは、このプロセスを加速させるためのカスタムツールの開発だね。

5
dabedee
3日前

これGitHubの共同創業者がやってることだよね。GPLが何のためにあるか一番よく知ってるはずの人だよ。法的な是非はともかく、GPL3のプロジェクトの完全なテストスイートを基盤にして、それをMITで再ライセンスするなんて、元の作者に対して誠実じゃない。正直言って不快だし、GitButlerには関わりたくないと思わせるには十分だ。

6
Aperocky
3日前

かなり楽しい実験だし、コミュニティ全体にとって本当に有益な形にできると思う。

前半には同意。みんなで実験を楽しめばいい。

リンク可能でリエントラントなライブラリではなく、単純なコマンドをつなぎ合わせる「Unix」哲学に基づいており、すべてにfork/execのオーバーヘッドがかかるため、長時間実行されるプロセスで使うのは難しい。

おっと、ここで記事中唯一の「なぜ」に関わる部分で哲学的な意見の相違が出たな。Unixの哲学は一つの特徴であって、現代においてはむしろより重要と言えるんじゃないかな:https://aperocky.com/blog/post.html?slug=unix-philosophy-age...

8
dabedee
3日前

「GPLライセンスを引き継がない」という決定をすることで、他人のコードやライセンスをどう扱っているかを自ら証明しておきながら、ユーザーに信頼してコードベースやIPをツールに預けてくれと言っているようなものだよね。

9
squidsoup
3日前

LLMのクローンなら派生著作物じゃないと誰でも判断できるようになった今、ソフトウェアライセンスなんて何の意味もなくなっちゃったのかもね。

10
anonova
3日前

Gritっていうのは、昔あったGitのRuby実装の名前だね:https://github.com/mojombo/grit/ 。GitHubはその上に構築されていたはずだよ。