予言 (別名: Firefox のプラグイン入れるのめんどすぎて妄想が膨らむ)
Firefox や Emacs には Subversion が組み込まれます。
嘘です。でも、カスタマイズ性の高いアプリケーション (プラグインという概念があるもの) は、バージョン管理システム的なものを内包するようになります。
現在の大概のwebブラウザには、お気に入りのエクスポート/インポートする機能がありますが、まずあれが発展していきます。インストール直後の状態から、加えられた変更(プラグインのインストール、設定の変更、etc.)とそのデータを全て維持し、現在の状態までの差分をダンプして出力できるようになります。
これにより環境の移行がすばらしく楽になります。移行元でアプリケーションを立ち上げてダンプを出力して、移行先でダンプから復元するだけ。ボタン一発。
そうすると次の流れとして「アプリそのものをサーバ上に置いておけばいちいちダンプしたデータを持って回らなくてもいいじゃん」という話になります。この時、アプリケーションのデータは、バージョン管理システムの一レポジトリと化します。
ただしこの試みは、すべてのアプリケーションで成功するわけではありません。プラグインが環境に依存する場合があるためです。あるプラグインが別の環境で動かないと、ダンプからの復元中にそこで停止することになります。そのプラグインだけ無視することはできますが、そのプラグインにまた別のプラグインが依存している場合、その後の復元結果が動く保証ができなくなるためです。
しかしそれでも Firefox や Emacs, Vim のような
のアプリケーションは、レポジトリ化していくでしょう。
またこの過程で、現在のバージョン管理システムからスピンアウトした、バージョン管理ライブラリが出現、それなりに広く利用されるようになります。同時に、既存のアプリケーションの変更を監視して、外部から変更を記録していきダンプを作成する汎用のツールも出現します (非汎用では、Firefox のプラグインをダンプするプラグインなんかが既にあるはず)。Emacs や Vim など、大規模でありつつも現在既に普及してしまっているものは、初期の段階ではこの種のツールに頼ることになります。
この流れが加速していくと OS はレポジトリの集合になり、バージョン管理システムを統合した OS が出現します。