Subversion と DeltaV

当初の WebDAV 標準は幅広く成功をおさめました。現在利用されている コンピュータのオペレーティングシステムは一般的な WebDAV クライアント を組み込みで持っています(詳しくは後述します)、また良く知られたさまざまな スタンドアロンのアプリケーションも WebDAV を話すことができます— 例をあげれば Microsoft Office, Dreamweave, Photoshop などがあります。 サーバ側では Apache ウェブサーバが 1998 年以降 WebDAV の機能を提供できる ようになり事実上のオープンソース標準と考えられています。他にもさまざまな 商用の WebDAV サーバが利用可能であり、それには Microsoft 自身の IIS も 含まれます。

しかし不幸にも DeltaV の方はそれほど成功をおさめていません。DeltaV の クライアントやサーバの実装をみつけるのはとても困難なことです。 わずかに存在するものは比較的知られていない商用製品ですし、そのため 相互運用性をテストするのも非常に困難です。人によっては、それは単に 仕様が複雑すぎるからだと言いますし、別の人は WebDAV の機能は大衆受け する(最小限度の技術的な知識しか持っていないユーザでもネットワークの ファイル共有は喜んで利用します)のに対して、多くの人にとってバージョン 制御機能は興味がないか、あるいは不要であるのが理由だと言います。 さらに最後の意見として、DeltaV はそれを実装しているオープンソースの サーバ製品がまだ存在しないから人気がないのだと言うものもあります。

Subversion がまだ設計段階にあったとき Apache httpd を主要なネットワーク サーバとして利用するというのは素晴らしいアイディアに思えました。 それはすでに WebDAV サービスを提供するモジュールを持っていたからです。 DeltaV は比較的新しい仕様でした。Subversion のサーバモジュール (mod_dav_svn) は最終的にはオープンソースの DeltaV の標準的な実装に 進化できるのではないかという期待がありました。しかし不幸なことに DeltaV は非常に特殊なバージョンモデルであり Subversion のモデルとは それほど親和性が良いとは言えません。概念的には対応させることが可能だと 言う人もいますし、いやダメだという人もいます。

結論としては

  1. Subversion クライアントは完全な DeltaV クライアントを実装している わけではない。

    クライアントは DeltaV では提供することのできないようなサーバからある種の情報 を得る必要があり、そのため Subversion 特有の REPORT に幅広く依存していて、それはmod_dav_svn にしか理解できないような性質のものである。

  2. mod_dav_svn は DeltaV サーバの完全な実装ではない。

    DeltaV 仕様の多くの部分は Subversion には無関係であり実装され ずに放置されている。

このような状況にきちんと対応すべきかどうかについては開発者の間でまだ 議論があります。Subversion の設計を DeltaV に合うように変更することは およそ現実的ではないので、おそらくクライアントは一般的な DeltaV サーバ から必要なすべての情報を得ることはできないでしょう。いっぽう mod_dav_svn はすべての DeltaV を実装ためにさらに開発を進めるかも 知れませんが、本当にそうしようと言う強い動機は見当たらないのが現状です — それと協調して動作する DeltaV クライアントがほとんどひとつも存在 していないのですから。