バージョン管理システムが分かる13のキーワード:オープンソースソフトウェアの育て方(3/3 ページ)
開発者同士のコミュニケーション、リリース管理、バグ管理、コードの安定性の確保、安心して新機能を実験できる環境、各開発者の権限の管理など、あらゆる場面でバージョン管理システムが利用されています。本稿では、どのバージョン管理システムでも共通に使われる13の用語を紹介します。
バージョン管理システムの選択
本書の執筆時点では、フリーソフトウェアの世界で最もよく使われているバージョン管理システムはConcurrent Versions System(CVS)とSubversion(SVN)の2つです。
CVSには長い歴史があります。ベテランの開発者はすでにCVSはよくご存知でしょう。これまでにもCVSがいろいろな場面で役に立ってきたはずです。CVSの時代があまりにも長く続いてきたので、本当にそれが最適な選択肢だったのかどうかなんて聞くだけやぼでしょう。
しかし、CVSには欠点もあります。まず、複数のファイルを一括して変更したときに、それを追いかける簡単な手段がありません。また、バージョン管理下にあるファイルの名前を変えたりコピーしたりできません(プロジェクトをいったん開始した後でコードツリーの構成を変更したい場合は、泣きながら大変な作業をこなすことになるでしょう)。そして、マージ機能はかなりお粗末なものです。巨大なファイルやバイナリファイルの扱いも不得意です。そして、大量のファイルを一括して操作しようとすると非常に時間が掛かることがあります。
CVSのこれらの欠点は決して致命的なものではありませんが、無視できるものでもありません。ここ数年、新たに立ち上げられたプロジェクトではSubversionを採用することが多くなってきました*1。これから新たにプロジェクトを立ち上げるのなら、Subversionをお勧めします。
一方、わたしがSubversionプロジェクトにかかわっていることもあり、わたしの意見の客観性に疑問を持たれる方もいるかもしれません。ここ数年、新たなオープンソースのバージョン管理システムが幾つか登場しています。付録 A. フリーなバージョン管理システムに、わたしが知っているものを挙げておきます。
このリストを見ても分かるように、どのバージョン管理システムを採用するかを決めるには、下手をすると一生掛かってしまうかもしれません。もしかしたら、あなたには選択の余地がないかもしれません。というのは、ホスティングサイトを使用する場合はホスティングサイト側でバージョン管理システムが設定されているかもしれないからです。もしあなたが自分で選択しなければならない立場になったのなら、まず周りの意見をよく聞いてからどれか1つを選択し、そして動かしてみましょう。最近のバージョン管理システムは、どれもそれなりに機能します。どれを選んだとしても、致命的な被害を受けることはないでしょう。もしまだ迷っているのなら、Subversionを使ってみましょう。これは簡単に習得でき、少なくとも今後数年は標準的に使われることでしょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
[1] その証拠としてはVersion Control Systemsやsubversion:Security Space Survey of Public Subversion DAV Serverがあります。
著者:Fogel Karl
翻訳者:高木 正弘
翻訳者:Takaoka Yoshinari(a.k.a mumumu)
製作著作 © 2005, 2006, 2007, 2008, 2009 Karl Fogel, 高木正弘, Yoshinari Takaoka(a.k.a mumumu), under a CreativeCommons Attribution-ShareAlike (表示・継承) license (3.0, 2.1-jp)
よいフリーソフトウェアを作ることは本質的に価値のある目標です。その方法を模索している読者の皆さんが、本連載「オープンソースソフトウェアの育て方」で何かのヒントを得てくだされば幸いです。
関連記事
- メーリングリストを120%活用するテクニック
メーリングリストは、プロジェクト内でのコミュニケーションに必要不可欠なものです。本稿では、メーリングリストを徹底的に活用し尽くすためのテクニックを余すところなく紹介します。 - コミュニケーションを促進する技術的な仕組み
フリーソフトウェアプロジェクトを運営していくには、さまざまな情報を取捨選択する技術が必要です。本稿では、ソフトウェアを用いていかにプロジェクト内のコミュニケーションを円滑にするかを考えます。 - フリーソフトウェアの公開、その心構え
プロジェクトが人に見せられる状態になったら、それを全世界に向けて公開しましょう。最低限、しっかりした設計ドキュメントか何らかのコード基盤は必要ですが、実際に動くコードであるかどうかはまた別の話です。 - フリーソフトウェアプロジェクトはなぜ失敗するのか
これからオープンソースプロジェクトを始めようと思っている、あるいは始めてはみたもののどうすればいいのか分からないソフトウェア開発者や管理者必読の本連載。オープンソースそしてフリーソフトウェアプロジェクトについて余すところなく解説します。 - 今日のフリーソフトウェア文化の始まった背景を知る
- 「フリー」と「オープンソース」の違い
- 新しいフリーソフトウェアプロジェクトをスタートさせる方法――概論
新しいフリーソフトウェアプロジェクトをスタートさせる方法は、保健機関が薬を配布するときの方法と似ています。フリーソフトウェアプロジェクトの立ち上げ時の注意点を解説します。 - 新しいフリーソフトウェアプロジェクトをスタートさせる方法――各論
- OSSライセンスの選択と適用――クイックスタート
- OSS開発、“はじめの一歩”で抑えておくべきポイント
オープンソースの開発で最も困難なのが、はじめの一歩です。なぜなら、今後の方向性に関する先例もなければ今後どのようになっていくのかもまだはっきり分からないからです。ここでは、プロジェクト開始時に抑えておくべきポイントについてまとめました。
content on this article is licensed under a Creative Commons License.