Jujutsuについて
このポッドキャストは、ギークな2人が興味がある技術や熱中していることについて語り合う番組です。
ZOEです。 おくです。
はい。今回は、まあ軽く触れるだけにしようかなと思うので、まあそんなものもあるんだなぁくらいな
感じで聞いてもらえればなぁと思ってるんですが。 おくさんにはちょっとね、あの
話したりはしたんですけど、Jujutsuっていうソフトウェアの話をしようかなと思ってます。
Jujutsuっていうのは、Googleが開発している バージョン管理用のソフトですね。
エンジニアじゃない人にバージョン管理ソフトって何?って説明するのはめちゃむずいんですけど。
そうですね。 ソフトウェアの開発をする上で、まあチームで一人で開発する分には別に
そう、なんかそんな重大じゃないですけど、まあでも一般の人でもそのエクセルとかの更新とかする時に日付変えたりとか
なんか修正1、2、3とか。
そっちらかるじゃないですか。 最新版2とかね。
そういうことがソフトウェアの開発で、しかもエクセルみたいに一人で編集してるわけじゃなくて、チームで開発してると
どっちらかっちゃうんで、それを管理するためのソフトウェアを使うのがまあ一般的なんですけれども、
まあ今、基本的に
デファクトスタンダード、どこの現場に行っても使われているのはGitっていうバージョン管理システム、システムというかまあソフトウェア
なんですけど、まあそのそれのまあなんか次世代を担いたいみたいな感じの
呪術っていう名前のバージョン管理のソフトウェアがあるので それの話っていう感じですね
まあ何がっ なんでこの話をするのかというとまあ今僕らが使ってるGitっていうシステムよりも
かなりシンプルに バージョン管理とかができるっていうのがコンセプトになっている
のとGit自体もまあなんだかんだ結構歴史が長いんですよね その中で結構その
いろんな機能があって なんかこの使いこなせるか?みたいな大きなものになっている
実際そのなんか
意外とっていうか普通に使ってない機能はたくさんあると思うんですよね 私もあると思ってますし特に
それこそバージョン管理するだけのソフトを 語弊が含みつつ言いますけど
Gitの操作だけの本ありますからね ここそこの厚さで
しかもその さっきのExcelの話あったみたいに
やろうとしていることは結構複雑なんですよね どれが最新だとかいやじゃあ同時に編集したらどうなんだみたいなところとか
やっぱりこっちに戻したいねみたいなことをやるのに 意外と
Gitは複雑な操作が必要だったり する
っていうところがあるのでまぁそこをもうちょっとシンプルに するっていうようなコンセプトがあるのでまぁちょっと
面白いかなぁみたいな 感じですね
GitとJujutsuの比較
の専門的な話になるんですけど 現状はそのGitの
ラッパー みたいな感じの仕様感
今なってるんですけどまぁ通常の開発 まああのブランチを
リモートリポジトリをクローンしてきて開発してコミットしてリモートにプッシュ してっていうような一連の流れ
とかその変更を フェッチしてきてマージしてとかっていう一連の流れはもうできる状態
なんで
もう別に使おうと思えば通常の開発 に導入できるような
べきには今現状になってるっていう形ですね 今話しているGitっていうソフトウェア自体も
開発開発 技術自体はソフトウェアなんでもちろんバージョン管理されてるんですけど
そのバージョン管理自体に技術を使っている らしいですね
ある意味こうGitのラッパーとして動いていることを考えると 早々にできてたのかもしれないですね
そうですねそのなんかGitのシステムをなんかストレージとして扱うみたいな 作りになってるみたいです
でまあその この技術っていうバージョン管理システムが普及するのかどうかみたいなのが
まあ1個の観点としてあるかなと思うんですけど まあ今話した通り別にGit単体の機能は網羅している
最低限の機能は網羅しているんで 別にバージョン管理自体は技術でやってもまあ何も問題ないんですけど
問題ないので現時点だとまあ結構使うか使わないかは好みのレベルにはなっているかなとは
思ってますね
ただその デファクタースタンダードというか技術をみんなが使うという状況になるためには
なんかGitがどうこうどういう機能が技術に足りないかっていうよりかは まあそのどっちかというとGitHubとか
GitLabっていうような存在があるかどうかっていうのがまあ一番大きいかなとは思ってますね
なんか僕らが今さっき歴史が長くて全部使い込ませてないGitをなんで僕らが使えてるかっていうと
GitめっちゃいいんすよってわけじゃなくてGitHubを使うために正直使ってると思うん ですよね
GitHubを使うと何でいいのかっていうとある程度セキュリティが担保された空間に ソースコードがあるので
まあその共有がしやすいとかっていうのももちろんあるんですけど
今だと多分GitHub Actions使ってCIとかCDそのかもうちょっと噛み砕いてると自動でテストしてくれたりとか
自動でテスト用の環境を作ってくれるっていうことができるっていう点が今現時点でGitを僕らが使う理由だと思うので
うんうん
なんか現状その呪術版のGitHubに相当するものがないと なかなか呪術に移行するっていうのは難しいんじゃないかなっていうのが今のところの見解ではありますね
そうですね かにこうGitHubが呪術版GitHubじゃない方法論を今パッと考えたんですけど
呪術をMSが買うぐらいしか思いつかないので
Googleから開発してるんでなかなか難しい
GitHubの重要性と呪術版GitHubの可能性
そうですよね これは考えにくいですよね
なんかバージョン管理ってGitに対抗するものって歴史的には確かサブバージョンとかありましたっけ
まあどうですかGitに対抗するかというとそうではないですね サブバージョンがちょっとあんまり微妙だったんでGitの方が
Gitにみんな乗り換えたっていうのがまあ経緯ですかね Git以降にもバージョン管理に出てきたものがあったりしますね
私は逆にGitしか使ったことがないんで 逆にその対抗できるものがどのぐらいいたかわかんないんですけど
結構そのGitHubがいることとかGitLabがいることが大きいよね のポイントとして大きいのが
CACDもそうなんですけど パブリックなソースコードの管理とそれが結びついていることだと思うんですよね
公開されたウェブサイトとして コード管理とそこが結びついていることがポイントなんじゃないかなと思ってて
どっかのバージョン管理の ちょっと名前忘れちゃいましたけど
ある程度閉じた組織とか 開発上バージョン管理するシステムって確かあったと思うんですけど
やっぱりそこのスケールとインターネット上にいろんな開発者がいっぱいいて パブリックに公開してみんなでやりとりができる形
GitHubが取ったのが大きいんじゃないかなって気もするんですよね
ある意味GitHubはSNSじゃないですか
SNSよりかは掲示板とかに近い気がしますね インターネット掲示板
そうですね イシューとかのシステム的にはどっちかと確かに掲示板 そっちの方が寄ってるかもしれないですね
やっぱりそこに星がつけられたりとか 通知が来るようにフォローも確かできるはずですけど
あれいつからついてるか知らないですけど やっぱりそういう相互のやりとりっていうものを
プロジェクトだけじゃないもの プロジェクトのものとして閉じなかったのがポイントなのかなって感じはしますよね
そうですね
JuJu2の開発者たちがね どう考えてるかがわかんないですけど
GitHubとの共存もなくはないかなと思っていて
結局別物になるのかGitHubも使えるようにするのか 専用の
JuJu2ハブなのかJuJu2構成を作るのかわかんないですけど
今後どうなるかなっていうのはちょっと 固めに見ときたいかなっていうような
ものかなとは思っています