小飼弾のアルファギークに逢いたい♥

#22 Gitメンテナ 濱野 純

この記事を読むのに必要な時間:およそ 4 分

GitHub

弾:GitHub注3ってありますよね。あれはGitと組織的なつながりはあるんですか?Gitコミュニティがエンドース(支持,承認)してやってるのではなくて,Git好きの人がやってる?

濱:あれはちょっと複雑な立場なんです。もともとGitHubを始めた人たちは,Gitコミュニティの人が知らなかったような人たち。あの人たちって基本的にRubyの人ですよね。RubyコミュニティでGitを使っていたのはRailsがGitを採用したとかの流れがあったんだろうけども,GitHubは最初,あれだけ流行る前にインビテーションベースでテスト運用をしていたらしいんですが,そのときにもGitコミュニティの主要メンバーに誰にもインビテーションが来なかった。ボクはあんまり気にしないんだけど,中にはそれでコマーシャルベースにのせてなんかやってるっていうのでカチンときた人もいたみたいで,結構長いことあんまり仲良くなかったんです。

弾:そうだったんだ,GitとGitHub(笑)。あんまり相手のことを見てなくて。

濱:見ないで走ってたというところがあって,たとえばもともとのGitとGitHubが動かしているGitデーモンとではちょっとバージョンが違うのかな。手を入れてなんかやってるとか。あまり隠れたところで非公式なものを作られると困るから。

弾:それは大いに困りますね。

濱:で,去年,第1回のGit togetherっていうイベントがありまして,Googleが場所を提供してくれて,3日くらいやったんですけど,そのときGitHubの人たちもGitコミュニティの主要メンバーということでやってきて,これからどんなふうにしていこうかねって話をしたりして,今はそんなに悪い感じではなくなってます。実際,GitHubのヘルプコンテンツとかって結構いいでしょ。そうやって,ドキュメンテーションとかユーザサポートとか,自分たちの得意分野でやってくれる人たちがいるんだったらいいことじゃない。

弾:何の過去もない人たちがいきなりGitHubから始められるわけですよね。確かにあれは世界が変わると思いますよ。最初から世界に向けてソースコードを単に公開するんではなくて…。

濱:みんなでなんかやっている,マージし合っているという,あの構造はすごくいいですね。

画像

弾:僕もあれがなければGit何それ? のままずーっときてたと思います。

濱:あれは非常に斬新だった。細かいところで注文はつけたい部分はあるけれど,GitHubがGitの普及に果たした功績ってすごく大きかったですね。

弾:あれを見てやっと,なんでLinusが今までのバージョン管理システムにケチを付けているのかも実感できた。マージできねえじゃんと。結局,Linuxカーネルほどばかでかいプロジェクトだと確かに,どっちのコードを入れてどっちを捨てるというのも大問題になるけど,普通は入れるか入れないかですし,メンテナは各プロジェクトで1人で済んでいて,1人では間に合わなくなったらプロジェクトをサブプロジェクトに分割してっていうやり方を今までしてきて,それでほとんどのものは間に合ってきたじゃないですか。確かにありがたみがわかりませんよね。GitHubだと使っている人たちが,こりゃあちょっとマージしないとやばいよなというのは嫌でもわかるようになりますよね。あれはすばらしいですよ。

注3)
Ruby on Railsで作られたGitのプロジェクトホスティングサービス。

優れたエンジニアの資質

弾:「優れたエンジニア」とはどんな人だと思いますか?

濱:Gitのメンテナを引き継ぐときにLinus君に,スターエンジニアには3つの資質があるって言われたんです。一番重要なのは,何か1つのことをずっと続けていけること。そういう意味ではアルファギークではいけないわけ。尖鋭(せんえい)的で,新しいものにすぐ飛びつく,までは構わないけど,すぐ飽きちゃダメ。ちなみにボクは尖鋭的でも新しもの好きでも飽きっぽくもないので,およそアルファギークではありません。

弾:なるほど。すぐ飽きちゃダメ。続ける力。

濱:2つめは審美眼というのかな。センスがいい,いいテイストを持っているっていう言い方をLinus君はするんだけど,これは確かにそう思うんですよね。センスがいいっていうのはどういうことかっていうと,何か1つ問題があったときに,実際に全部解いてみなくてもだいたいこういう方向に行ったら最終的にうまい解決に導けそうだなっていうのを最初になんとなく見て感じ取れる能力。3つめはコミュニケーション能力。それも,ただ自分がこうしますということを言うためにコミュニケーションするんじゃなくて,その1つ先の,私はこういう目標にたどりつきたい,この目標がいいことだと思うでしょ? って聞いてる人を納得させることができて,それに至る道筋として私は今はこれをやるんだよっていうのを説明できる。自分の目標を明確に相手に伝えられる人。それはすごく重要だと思います。Gitのプロジェクトを見ていても,すごく良くできる子が7,8人はいるんだけど,その中で3つともそろっている人っていうのはすごく少ない。

弾:僕も審美眼に対してはLinusに言いたいこといっぱいある(笑)。ただ,Linusにこう言ったらこう言い返すだろうっていうのもわかるので。でもその3つのうち,2つでもあれば本当に食いっぱぐれないような気がしますよね。1つでもあれば仕事は成り立ちますし,2つあればでかい顔ができますよね。

濱:そうかもしれませんね。彼はそういう順番で言ったんだけど,今までGitのコミュニティを見ていて,3つのうち1つしかない人でもコミュニケーション能力を磨いたら,きっと自分のしたいことができるようになるだろうなと思いますね。コミュニケーション能力は,自分ができなくてもこれが目標って言えばオープンソースの世界ではほかの人が手伝ってくれますから。目標を明確に示すことができたら自分がやらなくてもいいわけ。

弾:僕はオープンソースという言葉がないころから,オープンソース的というと誤解されちゃうかな,要はフリーソフトウェアの世界にいたんですけど,コミュニケーション能力という点では,ベースラインがものすごい上がっていますね。たとえば10年前と今と比べると,今の若い人たちのコミュニケーション能力ってすごいですよ,ライトニングトークってあるじゃないですか,5分でプレゼンするっていう。昔だったら30分くらいかけてだらだら話してたことがちゃんと5分に収まるというのを彼らは証明しちゃいましたからね。実際にコミュニケートする場も,昔はオープンにする前にワーキングプロダクトを持ってきて,これでどうよだったんだけど,今は逆に実装がなくても,こんなふうがいい,あんなふうがいいってやっていけるようになったじゃないですか。ツールが良くなったっていうのはすごい大きなことだと思うんですよね。ネットが速くなった,ネットで動くプラットフォームも良くなったっていうのはすごい大きなことだと思うんです。「近ごろの若いものは」,っていうセリフがあるじゃないですか。僕は「すごい」,なんですよ。むしろ連中についていける俺のほうを褒めてあげたいみたいな感じがしますもんね(笑)。今は半年そのプロジェクト見てないとついていけないってなっちゃうもん。Gitが難しいと思うのも,僕が老化したせいなのかもしれないって(笑)。

40代以降のエンジニアに伝えたいこと

弾:40代以降のエンジニアに伝えたいことはありますか?40代のエンジニアが,そろそろ若人たちについて行くのがたいへんだなと思ったときにどう振る舞うか。20代の若いころはコード書いてりゃいいじゃんみたいなところがありますが。

濱:どんなふうに若い人のお手本になれるかってのを考え出すと,かなりたいへんだと思いますよ。

弾:とりあえず1つだけ,これは答えでいいんじゃないかなって思うのは,自らが楽しく仕事をしていることだと思います。苦虫を噛み潰したような顔だったらそんなのうまくいくわけないじゃんって。苦労話もおもしろいものはおもしろいんだけど,自分や自分の先輩がすごかったという証拠にしてほしくないんですよね。なんだ,しょぼい道具しかなかったじゃん,あんたらって言い切っていいと思うんです。そういう中にあって,実はGitのメンテナというのは…。あ,そうだおいくつなんですか?

濱:内緒です(笑)。

弾:少なくとも20代,30代ではないですよね。なかなかいけてるなって思いますよ。バージョン管理システムの中ではGitは一番若くて,メインのシステムになってるわけじゃないですか。

濱:そうですね。

弾:若いプロダクトを若い人がやっているとは限らないというのがすごくよいことだと思います。

画像

著者プロフィール

小飼弾(こがいだん)

ブロガー/オープンソースプログラマー/投資家などなど。ディーエイエヌ(有)代表取締役。1999~2001年(株)オン・ザ・エッヂ(現(株)ライブドア)取締役最高技術責任者(CTO)。プログラミング言語Perlでは,標準添付最大のモジュールEncodeのメンテナンス担当。著書に『アルファギークに逢ってきた』(2008年5月,技術評論社)。ブログは『404 Blog Not Found』

URLhttp://blog.livedoor.jp/dankogai/

コメント

コメントの記入