PervasiveVersioning
http://martinfowler.com/bliki/PervasiveVersioning.html
最近Apple社が発表したTime Machineは、全てのファイルの過去の時点の代替にアクセスできる。削除されたファイルも含めて。熱心なコンピュータおたくにとって、これは特別新しい機能ではない。私もご多分に漏れず、私の作業ディレクトリ全体をバージョン管理システムに突っ込んでいる。元々ははCVSを使っていたが今はsubversionだ。このようにすることで、全ての変更点を簡単に見ることができる。MoreVersionControlでも書いているが、もっとバージョン管理が使われたらいいのにと思ってきた私にとって、こんなに便利な機能はなく、Time Machineも私の考える方向に一歩近づいた動きの一つと考えられるかもしれない。
Time Machineは自動バックアップシステムの一種と考えていいだろう。これはバージョン管理システムと違って、コミットという考えはサポートしていないようだ。これは、少なくとも初期段階においては、ベストの選択だと思う。普通の人々は、このような(コミットのないバックアップの)やりかたになじんでいる。時間軸に沿ったブラウジング機能も面白いし。バージョン管理システムもユーザインタフェイスは考え直す必要があるなあ。それについて、apple社の右に出るものなどいるかな?
様々なアプリケーションの開発者に、このような(バックアップの)機能を持たせることは重要な一歩だと私は思う。MoreVersionControlでも言ったことだが、差分とマージをどのように取るかを考えていないアプリケーションがたくさんある。もしかしたら、Time Machineが人々にこのことについて考えさせるきっかけになるかもしれない。そうすればバージョン管理はもっと手軽なものになる。
バージョン管理は単独のデスクトップ環境でも便利ではある。でも、使った人は分かると思うが、’真の’便利さは共同作業の点にある。ソフトウェア開発プロジェクトはバージョン管理システムを共同作業ツールとして使って大きな便益を得ている。また、プレゼンテーションやホワイトペーパーやエクセルのモデルといった作業においても、バージョン管理された共同作業ツールの恩恵を受けられる(繰り返すが、賢い差分とマージの機能が欠けていることが大きな障壁である)。私の個人利用ですらMultipleDesktopsで書いたように、大きな恩恵を受けている。
そういうわけで、私の希望はTime Machineが、バージョニングに気づき、バージョニングの利点を生かし、次々により効果的な共同作業にシフトするようなアプリケーション開発を促進することである。とにかく、私は強くこのように取り組むことをあなたにも強く勧めたい。subversionは無料で簡単にセットアップできる。アプリケーションが差分やマージを上手く取れない場合でも、他の人とバージョン管理されたリポジトリを共有して共同作業をすることで得られる便益には価値がある。メールで送られたドキュメントをたどったり、バージョン管理されていない共有ドライブを使うより、ずっと良いのだから。