パスワードを忘れた? アカウント作成
16773 story

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

ストーリー by mhatta
Monotoneもいいっすよ 部門より

初心者なのでAC 曰く、

Mona OS開発者ひげぽん氏のブログ記事で今さらながら知ったのですが、かのリーナス・トーヴァルズが、「Subversionは史上最も無意味なプロジェクト」とこきおろしていたそうです。
元ネタはリーナス氏が半年ほど前にGoogleで行ったgitに関する講演(YouTubeビデオ)で、satologのブログ記事によれば

ぼくの CVS への憎悪が意味するのは、ぼくが Subversion のことを史上最大の無意味なプロジェクトだと見ているということだ。Subversion がしばらくの間スローガンにしていたのに、「ちゃんとした CVS」みたいなのがあったよね。そんなスローガンでスタートしたら、もうどこにも行くところがない。CVS をちゃんとすることなんて不可能だからだ。
と述べていたとのこと。「CVS が好きな人は精神病院に行ったほうがいい」「tarボールとパッチのほうがはるかに優れたソースコード管理方法だ」などと怪気炎を上げていたそうです。ようするに、gitのような分散型でマージのサポートがきちんとしたSCMでなければLinuxカーネルのような大規模ソフトウェア開発では使い物にならない、という趣旨に見えます。タレコミ子はそもそもCVSを使い始めたのがつい最近のことなのですが、やはりgitか、他のSCMの使い方を勉強したほうがよいのでしょうか……。
以前本家/.の記事になっていました。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by NullPointerException (33856) on 2007年12月03日 20時13分 (#1259480)
    大きめのプロジェクトについて調べてみました。

    Mozilla: CVS
    GNOME: Subversion
    KDE: Subversion
    Eclipse: CVS(Subversionからもアクセスできるらしい)
    Apache: Subversion
    X.Org: CVS
    OpenOffice.org: CVS

    意外とCVSが多いようです。もうみんなSubversionに移行したと思ってましたが。
    分散型が流行らないのは移行の難しさもあると思いますが、マージする機会が少ないからかなぁ。
  • by Anonymous Coward on 2007年12月03日 20時54分 (#1259516)
    LinusはSubversion単体で評価するからCVSの焼き直しにしか見えなくて
    こき下ろしてるんだと思うけど、総合的に評価するなら周辺ツール込みで見る
    必要があるんじゃないかな。

    例えば、Windowsでは何よりTortoiseSVNって出来のいいGUIクライアントが
    あるのが非常に大きい。非プログラマのメンバーにも使わせられるのがすごく
    ポイント高いんだ。

    xxは根本的な問題を解決してたって自画自賛する人がいるけど、そういう周辺の
    部分が見えないから限られた人にしか良さが理解されなくて損してるってパターン
    じゃないかなぁ、今回も。
    • by Anonymous Coward on 2007年12月03日 23時42分 (#1259634)
      バージョン管理システムはプログラマだけのものではない、という前提を入れると評価が圧倒的に変わりますよね。
      営業や生産、開発全ての箇所でバージョン管理は当然要るわけで、その要求を満たそうとすると現状Subversion以外に無いんですよ。

      ここらで重要になってくる要求は、情報の量、質が優れていること。クライアントが使いやすいこと。
      バイナリ管理が可能なこと。フリーであること。有料でサポートを受けれること。等です。
      正直アルゴリズムなどはどうでも良いのです。お手軽簡単に使え、万一の時はお金で解決できれば。
      プログラマの皆さんからするとけしからん意見かも知れないんですけどね。

      # しっかしTortoiseIDIFFはもうちょっとマシにならんもんか…
      親コメント
    • by Shankar (13961) on 2007年12月03日 21時48分 (#1259553)
      コード量1GBくらいのプロジェクトを扱ったら 下位ディレクトリまで扱ってくれたりで 非常に使えない印象があります。 ここまででかいプロジェクトになると、 どれを使っても「重い」という印象しかないような。 -- 無駄が多いでかさっては百も承知
      --
      Yuzam
      親コメント
    • by nanja (26525) on 2007年12月04日 2時09分 (#1259721) 日記
      mercurialの方には最近出たみたいです.TortoiseHg.
      http://tortoisehg.sourceforge.net/ [sourceforge.net]
      出たばかりのようですし,さわったわけではありませんので,詳細はわかりません.
      親コメント
    • Windowsシェルに統合されるのが嫌なので、単体クライアントアプリ希望。 ということで、私はRapidSVN派です。 これにも不満はあるけど、所詮個人の小さなプロジェクト管理だから、文句いいながらも使ってるです。 CVSといいSVNといい、ろくなGUIクライアントアプリがない。自作しようかしら。
      親コメント
  • by Anonymous Coward on 2007年12月04日 9時27分 (#1259824)
    # 本当はIDで書きたいのですが、ひじょーにせんしちぶな気がするのでACで

    TortoiseSVNとsvnでWin<->Linux間のデータ同期を学生にやらせてます。

    私が受け持ってる学生達の場合、やったらやりっぱなし(復習なんて考えないし、前回なにやったかもあまり考えてない)というのがかなりいるため、作業は作業コピー内で行わせるようにし、こまめにコミットさせてます。時々
    $ svn update
    $ svn log -v
    でログを見ることで簡単な復習になります。

    コミットする際にコミットメッセージを書かせ、なにをしたか一言でもいいから自分の言葉でわかるようにねと言いきかせているものの、何のためにやってるのかがはっきりつかめてないために苦労してる子が見受けられます。
    それでも後々業務で日報などを作成することを考えたら記録をつける習慣を持たせることが重要だと考えてます。

    ここでsvnを選んだのは、それなりのUIがあること(Win側)で多少は敷居を下げていることと、コマンドベースでの操作練習(UNIX側)になるからです。
    # 実際「これから作業するからここでaddしてcommitしとくんだよ」が多少は通じるようになってる

    できれば早いうち(入学当初)から「記録をとっていくこと」をもっとしっかりやらせてあげたい気がするのは私だけでしょうか。

    ちょっと試した範囲では、NautilusのSubversionスクリプト [scurtescu.com]も必要最低限使えるので、こういうものをもう少しcontribで各自増やしていけば、少しでも導入の敷居を下げられるんじゃないかな...
  • by Anonymous Coward on 2007年12月03日 20時33分 (#1259491)
    らしいです。ただし2年前の話。今はどうなんでしょうか? http://japan.cnet.com/news/ent/story/0,2000056022,20083005,00.htm [cnet.com]
  • mercurial (スコア:2, 興味深い)

    by yazuuchi (17857) on 2007年12月03日 22時12分 (#1259568)
    某プロジェクトでmercurial(hg)を使うようになりましたが、今のところこれが一番良いです。分散SCMで、手軽で、しかも性能や信頼性が高くて気に入ってます。自分のプロジェクトではこれ以外は使うのをやめました。
    • Re:mercurial (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2007年12月04日 2時19分 (#1259724)
      数か月前にこの動画を見たとき、同時にこれ [google.com]も見ました。機材トラブルで可哀想なMercurial開発者さん。あまのじゃくなおいらもMercurialを好んで使ってます。
      親コメント
    • by 130R (31126) on 2007年12月04日 11時35分 (#1259912) 日記
      mercurial使ってます。
      不満はないんですが、一度Windows環境でファイル名の大文字小文字が勝手に切り替わることがありました。
      これはhgのせいじゃなくて別ツールのせいなんですが、気づかずそのままcommitしたら、以後updateもrevertも出来なくなってリポジトリ作り直しました。
      NTFS上で動かしてるときはその辺吸収してほしいなあ。
      親コメント
  • by Anonymous Coward on 2007年12月04日 1時56分 (#1259718)
    分散型のSCMとcvs/svnはかなり使いどころが違う
    個人的にはcvsみたいに集約環境じゃないとやってらんないし、
    cvs使うくらいならsvn使ってるけど
    俺パッチみたいなのを長~く持ってるとか、ある時点でのtrunkからの差分としては
    色々あるんだけど全部のブランチは切ってらんないぞとか、模索的で散漫なのは
    cvs/svnには驚く程噛み合わない

    なんで、linuxのコードの特徴にはcvs/svnは合わなかったので使ってないってだけだろ
    いちいち、自分と違うことをやってる奴は莫迦発言なんてほんとにしたのかな?
  • RCSもCVSもSubversionもgitも使います。

    選択肢は少ないよりは多いほうがいい。
    --
    旅に出ます.(バグを)探さないで下さい.
    • by Anonymous Coward on 2007年12月03日 20時05分 (#1259477)

      用途に合わせて使い分けられるなんてすごいですね。

      それぞれ使い方が全然違うから、覚えるのが面倒臭すぎて僕には無理。 それに並列して使ってると操作を間違えて壊しそうだし。

      親コメント
  • by Anonymous Coward on 2007年12月03日 22時52分 (#1259599)
    Microsoftに金を払ってVisual StudioにVisual SourceSafeを組み合わせて使った。

    1社にOS/言語/開発環境/バージョン管理を全て委ねるのは、非常に問題あるとも思われるが、責任は会社持ちという従業員的立場からすれば楽チンきわまりない。
    オープンソース界隈の「ソフト毎に操作が違う」なんて面倒な事が無くて。
    • Re:一方企業では (スコア:3, 参考になる)

      by kai_kamome (4560) on 2007年12月03日 23時53分 (#1259646) ホームページ 日記
      VSSは実際問題としてディレクトリの共有と排他ロックをしてくれるだけ(差分持ってるけどマージがすべて手動だから意味ない)
      だけだら、管理した気分になって、管理してますというポーズだけ作れて、
      自分達の書いたコードの品質維持に責任持たなくていいなら、すごくお勧め。

      実際なにも管理してないから、品質維持コストゼロ(維持される品質もゼロ)だし。
      --
      wild wild computing
      親コメント
    • ClearCase (スコア:3, 興味深い)

      by jabirinia (30240) on 2007年12月04日 0時17分 (#1259661)
      有償製品だと、IBMのRational ClearCaseってのもあります。

      ClearCaseはITILでいう「ソフトウェア構成管理」を実装し、「変更管理」製品であるRational ClearQuestと連携できます。

      1.OSの認証情報を使うので、PAM/Unix、ActiveDirectory/Windows環境で、認証に煩わされることなく、大規模展開可能(小規模だとActiveDirectory環境の構築が手間)。
      2.プロセスを複数サーバに分散可能(水平拡張の設計思想)。
      3.地理的に離れている場合は、MultiSiteというエディションで、レプリカ機能を提供。
      4.APIとコマンドラインが充実しているのでシェル化が楽。
      5.トリガという機能でコマンド前後にスクリプトを仕込める。
      6.Eclipse Plug-inが存在するので、EclipseベースのIDEと連携可能。
      7.Antタスクにも要素が用意されているので、サーバビルドをするなら、ビルド/リリースの自動化も可能。同一セグメント上にあって、シェルを書けば、だけど。

      一個も出てないのがかわいそうなので、メリットを紹介しました(裏返すとデメリットでもある)。
      IBM系の開発プロジェクトだと、結構使われているんではなかろうか。
      親コメント
      • Re:ClearCase (スコア:2, 興味深い)

        by Anonymous Coward on 2007年12月04日 1時45分 (#1259710)
        IBM社内でもほとんど使われていませんよ。社内なのに月数万円費用がかかるし、
        機能的にもSubversionと対して変わらない(EclipseプラグインはSubversionより劣る)。
        自分のところではSubversionとCVSがほとんどです。Eclipseとの相性がいいので。
        CCがいいと思ったのはClearQuestとの連携くらいですね。

        ボロクソ言ってるけど金の問題さえ何とかすれば使ってもいいと思うんだけどなぁ。
        本当に融通が利かなくて困る。

        # さすがにAC

        親コメント
    • Re:一方企業では (スコア:3, おもしろおかしい)

      by ich84 (33072) on 2007年12月04日 11時36分 (#1259916)
      実際業務ではVSS使ってますが、VSSは確かに楽ちんなことこの上ないです。

      ・VSSはMSDNのライセンスで使えるので追加投資がない(Windowsでそれなりの規模の開発やってれば、MSDNに入っていると思います)
      ・クライアントはGUI、管理もGUI、初めての人でもクライアントインストールしてもらうだけで簡単に使える、しかもインストールも当然GUI
      ・いちおうCUI操作にも対応しているのでバッチファイルとかに組み込める
      ・天下のMicrosft社製。何か困ったことがあっても、これもMSDNのライセンス内のサポートで全部解決してくれる。
      ・致命的な何かが起きてもMicrosoftが悪いといえば「仕方がない」となる。これがOSSだったりしたら、「選定した奴出て来い、何とかしろ!」となる。
      親コメント
    • by haru (2039) on 2007年12月03日 23時34分 (#1259628) ホームページ 日記
      VSSの使いにくさって異常じゃないですか?
      特にチェックアウトするとロックがかかる仕様には殺意を覚えます
      Microsoftの中の人はホントにこれでプロジェクト管理してるのかなぁ

      Visual Studio 2005ではなんちゃらスイートとかって大規模開発用のも有ったと思うんですがあれってどうですか?

      # 職場じゃ未だVS6なので関係なし
      # ってか自分は6.0で止まってるんで最近のを教えて貰いたかったり
      --
      脳味噌腐乱中…
      親コメント
      • by Anonymous Coward on 2007年12月04日 0時07分 (#1259656)
        使いにくいってUIの話かと思ったら、、

        VSSには多重チェックアウトという設定が昔からあります。
        スキルの低い技術者にはマージは高度な機能として
        既定ではやらなくて済む設定になっているだけです。

        上級者はプロジェクトメンバーのスキルを勘案して
        設定を変えるので問題ありません。

        むしろ私は、CVSに排他チェックアウトがないのか散々さがして
        「CVSつかえねー」って思ったクチです。
        まわりのメンバーのスキル的に不安だったので。
        親コメント
      • by Phork (15003) on 2007年12月04日 0時35分 (#1259675)
        原則として他人が編集中のファイルには手をつけない、マージも使わない、というポリシーで運用しているので、問題ないです。
        というか、逆にロックがかかってくれないと困ります。
        親コメント
  • なんで今・・・? (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2007年12月03日 23時50分 (#1259642)
    数ヶ月前の煽りネタだとわかっててなぜわざわざ取り上げる?編集者さんよ。
  • by locate (5848) on 2007年12月04日 1時31分 (#1259702) 日記
    いわゆる老害だよ。

    昔の成功が忘れられなくて、ちょっと突飛な事を言ってまた自分への注目を得ようとする。

    それでかき回される周りの人がいかに迷惑を被っているか。
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...