開発プロジェクトを支える名脇役たちオープンソースソフトウェアの育て方(3/3 ページ)

» 2009年09月15日 08時00分 公開
[Karl Fogel, ]
前のページへ 1|2|3       

Webサイト

 技術的な観点からプロジェクトのWebサイトを立ち上げることについては、それほど語ることはありません。Webサーバを起動し、Webページを書くことはかなり単純な仕事ですし、ページの配置や設計に関して重要なことはほとんど以前の章で述べました。Webサイトの主な機能は、明快にプロジェクトの概要を提供し、(バージョン管理システム、バグ追跡システムなどの)ほかのツールをWebサイトと結びつけることです。たとえあなたにWebサーバを設定して起動する技量がなくても、その作業を喜んでやってくれる人を探すことは普通難しくありません。とはいえ、時間と労力を節約するために、プロジェクトを運営するためのツールが一通りそろっているホスティングサイトがよく好んで使われます。

ツールが一通りそろったホスティングサイト

 一通りのものがそろったホスティングサイトには、主に2つの利点があります。1つ目は、サーバのディスク容量とネットワーク帯域の太さです。つまり、超高速なネットワーク上に、複数のサーバマシンが巨大なラックに収納されているのです。プロジェクトがどれだけ成功しても、ディスク容量を使い切ったり、ネットワーク接続が使い物にならなくなることはないでしょう。2つ目は、サイトの維持が簡単なことです。ホスティングサイトは、バグ追跡システム、バージョン管理システム、メーリングリスト管理システム、アーカイバや、プロジェクトのWebサイトを運営するのに必要ものをすべて選んでくれています。また、それらは既に設定済みであり、蓄積されるすべてのデータのバックアップにも注意を払ってくれます。多くの決断をする必要はありません。フォームに入力し、ボタンを押しさえすればよいのです。そうすれば巨大なプロジェクト用Webサイトが突然手に入ることでしょう。

 これらはとても重要な利点です。もちろん、ほかのツールでよいものがあったとしても、ホスティングサイトが選択したツールや設定を受け入れなければならないという欠点があります。ホスティングサイトは、設定できるパラメータの範囲を普通狭くしているので柔軟性がありません。自前でWebサイトを立ち上げてサーバへの完全な管理権限を持っていた場合にできる、きめの細かい制御は決してできないでしょう。

 このことのよい例が、自動生成されるファイルの扱いです。あるプロジェクトのWebページは、自動生成されたファイルかもしれません――例えば、FAQのデータを編集しやすいマスターフォーマットに保存し、それからHTMLやPDF、その他表示用のフォーマットを生成するシステムがあるとします。この章のすべてをバージョン管理する項で説明したとおり、あなたは自動生成されたフォーマットではなく、マスターファイルだけをバージョン管理したいと考えるでしょう。しかしWebサイトが他人のサーバに置いてある場合は、マスターファイルが変更された場合にFAQのHTML版を再生成するカスタムフックを設定できないかもしれません。唯一の回避策は、Webサイトで表示できるように自動生成されたフォーマットもバージョン管理することです。

 もっと大きな影響があるかもしれません。あなたが望むほどWebサイトの見た目を変える権限がないかもしれません。ホスティングサイトの中には、Webページをカスタマイズすることを許可してはいますが、結局はデフォルトの配置がうんざりするようなやり方で表示されてしまうものもあります。例えば、SourceForgeがホスティングしているプロジェクトの中には、完全にカスタマイズしたホームページがあるけれども、詳しい情報を参照させるために“Sourceforge上のページ”に開発者を誘導しているものがあります。

 SourceForgeのページは、プロジェクトのホームページになるはずのものでしたが、ユーザーに自前のホームページを使わせないようにしています。SourceForgeのページには、バグ追跡システムやCVSリポジトリ、ダウンロードサイトへのリンクなどがあります。不幸なことに、SourceForgeのページにはたくさんのプロジェクトとは無関係なリンクも含まれているのです。ページの一番上部にはバナー広告がありますが、アニメーション画像であることもよくあります。左側にはプロジェクトに興味がある人にはほとんど関係がないリンクが垂直に配置されています。右側には別の広告がよく配置されています。ページの中央部分だけが本当にプロジェクトに特有の事項に専用の場所になっていますが、これらも分かりにくい方法で配置されているので、訪問者が次にどこをクリックしたらいいのか分からなくなってしまうことがよくあります。

 SourceForgeのページ設計の裏には、きっと――広告のように、SourceForgeの立場からすればもっともな理由があるのでしょう。しかし、プロジェクトの立場から見れば、その結果が理想のWebページとはかけ離れたものになるかもしれません。わたしはSourceForgeを非難するつもりで言っているのではありません。似たような懸念は多くのホスティングサイトにも当てはまります。重要なのは、トレードオフが存在するということです。プロジェクトのWebサイトを維持するための技術的な重荷から解放されますが、他人のやり方を受け入れることとひきかえにはじめて恩恵を受けられるのです。

 ホスティングサイトがプロジェクトに最適かどうかを決められるのはあなただけです。仮にホスティングサイトを選んだ場合、プロジェクトの“ホームとなるURL”に自前のドメインを使うことで、自前のサーバに移行する余地を残しておくようにしましょう。自前のURLをホスティングサイトに転送することもできますし、公開されているURLに完全に手を加えたホームページを置くことで、ユーザーを洗練された機能を持ったホスティングサイトに誘導することもできます。Webサイトのホスティングについて後に別の解を選んだとしても、プロジェクトのURLは変えないように確実に準備をしておくようにしましょう。

  • ホスティングサイトを選ぶ

 最も規模が大きく、有名なホスティングサイトはSourceForgeです。ほかには、savannah.gnu.orgBerliOS.deの2つがSourceForgeと同様または類似のサービスを提供しています。Apache Software FoundationTigris.org*5のような組織は、自分たちの任務と既にあるプロジェクトのコミュニティーにうまく合っているオープンソースプロジェクトを無料でホスティングしています。

  • 匿名性とプロジェクト参加

 厳密にはホスティングサイトに限った問題ではないのですが、ホスティングサイトで最もよく見られるのが、ユーザーログインの機能に関する苦情です。ログイン機能自体は十分単純です。Webサイトでは、訪問者が自分のユーザー名とパスワードを登録することができるのです。登録するとユーザーのプロフィールが保存され、プロジェクトの管理者は、ユーザーにリポジトリへのコミット権限のような特定の権限を与えることができます。

 この機能は非常に有用で、ホスティングサイトの主な利点の1つです。問題は、未登録のユーザーにも許可されるべきタスク、特にバグ追跡システム内のファイルアップロードや、既存の問題にコメントをつけるときに、往々にしてログインが必要になってしまっている点にあります。こうしたタスクにログインを必要としてしまうと、本来迅速で便利であるべきタスクに参加するハードルが高くなってしまいます。もちろん、バグ追跡システムにデータを登録した人に連絡を取りたい人もいますが、その場合は(本人が望んだ場合に)電子メールアドレスを入力できるフィールドを設けておけば十分です。新しいユーザーがバグを発見して報告したいと思ったとして、バグ追跡システムに入力する前にアカウント作成フォームを入力しないといけないと分かればうんざりするでしょう。そのユーザーは結局バグを登録しないかもしれません。

 ユーザーを管理する利点は、通常は欠点に勝るものです。しかしユーザーを匿名で行動させる選択肢があるなら、すべての読み取り専用のアクションだけでなく、特にバグ追跡システムや、持っているならWikiページのデータ入力についても、ログインしていないユーザーに許可するようにしましょう。

[5] 注意: わたしはTigris.orgに出資しているCollabNetで働いており、普段Tigrisを使っています。


著者: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)


よいフリーソフトウェアを作ることは本質的に価値のある目標です。その方法を模索している読者の皆さんが、本連載「オープンソースソフトウェアの育て方」で何かのヒントを得てくだされば幸いです。


前のページへ 1|2|3       

content on this article is licensed under a Creative Commons License.

注目のテーマ