やっぱりSubversionしかないだろう

リーナスのおっさんが、また無駄に攻撃的な意見をぶちかまして議論を呼んでいる。

Linus曰く「Subversionは史上最も無意味なプロジェクト」

Linuxカーネルみたいな特異な開発環境にそぐわないからといって、CVSSubversionをコキ下ろすのは視野狭窄としか言いようがない。しかし、この発言についての議論から、世の技術者がどんなSCMを選び、どのように付き合っているかがわかって面白い。今の自分にモデレート権が無いのが惜しいなぁ。
このストーリーで挙げられたSCMの中で、個人的に興味を持ったのはMercurial。軽く触ってみたが、Subversionからいろいろ学んだのか操作や概念が似ていて使いやすい。

しかし現在のところ、新しいプロジェクトで使うSCMを選ぶとなれば、Subversionが最有力候補になると思っている。

主な理由。

  • 無償。
  • セットアップ簡単。
  • 資料たくさん。
  • ツール多し。特にTortoiseSVNが使いやすすぎる。
  • バイナリファイルを効率よく管理できる。
  • バージョンも重ねて安定している。

特にツールの充実が重要。非エンジニアをバージョン管理に巻き込むことを考えると、TortoiseSVNの存在はあまりに大きい。彼らからすれば、他のSCMは扱いが難しすぎる(ように見える)。

CVSは同じ条件をほぼ満たしているが(TortoiseCVSがあるし)、そもそもSubversionCVSを改善したものなので、あえてCVSを選ぶ理由がない。CVSユーザが多いから学習コストを安くするため選ぶこともあるかもしれないが、Subversionは操作も似ていて簡単に習得できるので、大したアドバンテージにならない。

それでもCVSでいいとか、ファイル名に日付つけて残しておけば十分なのでSCM自体不要、という人もいるようだ。しかし、「それ、○○でもできるからいらないよ」系の発言で新しいツールを否定する人は、おそらく利便性を理解できていないだけである。大変もったいない。そもそも、「もっと便利になる」という話をしているのに対して「不便でもできる」というのは反対意見になっていない。