Zed ShawがFossilを使う理由
http://sheddingbikes.com/posts/1276624594.html
mongrelと「Ruby is Ghetto」で有名なハッカーZed ShawはバージョンコントロールにFossilというSCMを使っている。
http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki
とりあえず使ってみたい人はここを見るといいでしょう: http://d.hatena.ne.jp/Jxck/20100714
テングはgitを使っているので、新しいscmの話とかあまり関心ないが、sqliteの作者Chris Newmanが作ったものであるのなると興味がわく。
fossilを一言で言うと「誰でも簡単にホスティングできるプロジェクト管理ソリューション」だろう。githubやbitbucketのようなSCMのフルサービスが提供している重要な機能を、第三者に頼ることなく自前で提供できる。
テングの理解するところのその機能は:
- バージョンコントロール
- バグ管理
- wiki
- 分散型: 上記のデータをノード間でシェア
- 組込まれたHTTPによるネットワークサポート
- CGIにより上記にアプリケーションを簡単に公開できる
- これらの全ての機能がたった一つのコマンドで実現される (さすがNewman氏!)
mercurialやgitはバージョンコントロール・エンジンだけで、プロジェクト管理に必要なその他のツールは外部サービスに頼らなくてはいけないのをfossilは一つのコマンドでこなす。
プロジェクト参加者はfossilをインストールするだけで、プロジェクト管理にフルに参加できる。
さてZedのfossilの好きな理由にもどると
会社の売り買いが前提のスタートアップ文化でgithubやbitbucketのようなサービスが
いつ消えないという保証もない。Etherpadのように、、
- fossilだと組込まれたウェブサーバで簡単に公開できる
- Cによるネーティブプログラムなので、inetdからでも走らせることができる。
- メモリ消費量もすくなく、小さなスライスからでも楽に稼働
- 上記の限られた環境でもHackerNews, Reddit, Slashdot(effect)からの膨大なトラフィックを
チューニングもキャッシュも無しにこなすパフォーマンス
- プロジェクト管理ソフトの管理をするんじゃなくて、コーディングに専念したいのでfossilがいい。
- fossilの御陰で最近プロジェクとがガンガン出せるようになった
「もし『fossilのCSSがかっこわるいから、貴方のプロジェクトには貢献できない』とかいうやつがいても心配はない。そんなやつとはプロジェクトやりたくないから」とZedらしく括っている。