フリーソフトウェアの公開、その心構えオープンソースソフトウェアの育て方

プロジェクトが人に見せられる状態になったら、それを全世界に向けて公開しましょう。最低限、しっかりした設計ドキュメントか何らかのコード基盤は必要ですが、実際に動くコードであるかどうかはまた別の話です。

» 2009年08月19日 14時47分 公開
[Karl Fogel, ]

広報

 プロジェクトが人に見せられる状態(完全なものではなく、単に取りあえず見せられる程度)になったら、それを全世界に向けて公開しましょう。これは、実際には非常に簡単なことです。まずfreshmeat.netに行ってナビゲーションバーのSubmitをクリックし、フォームに内容を入力しさえすれば新しいプロジェクトを宣伝できるのです。Freshmeatは、新しいプロジェクトが気になる数多くの人が見ているところです。あなたのプロジェクトに関するニュースがその中の何人かの目にとまれば、後は口コミでその情報が広まっていくでしょう。

 あなたのプロジェクトに関するお知らせを投稿するのに適したメーリングリストやニューズグループがあるのなら、そこに投稿するのもいいでしょう。しかし、投稿するのはそれぞれの場所で一度ずつだけにしておきましょう。その後の議論は、(Reply-toヘッダを設定して)自分のプロジェクトの会議室で続ければいいのです。投稿内容は、要点をまとめた短いものにしなければなりません。

To:discuss@lists.example.org

Subject:[ANN]Scanley全文インデックス化プロジェクト

Reply-to:dev@scanley.org


Scanleyプロジェクトが立ち上がったことをお知らせします。

これはオープンソースの全文インデックス作成器およびサーチエンジンで、

豊富なAPIを持っています。プログラマーは、大きなテキストファイルを

対象とした全文検索機能を自分のプログラムに組み込めるようになります。

Scanleyはようやくまともに動くようになった状態のもので、現在も活発に

開発が進められています。開発やテストに参加してくださる方を募集しています。


ホームページ:http://www.scanley.org/


機能:

-プレーンテキスト、HTMLおよびXMLの検索

-単語あるいはフレーズによる検索

-(予定)あいまい検索

-(予定)インデックスの差分更新

-(予定)リモートのWebサイトのインデックス化


Requirements:

-Python2.2以降

-インデックス作成用のディスク領域

(元のデータの約2倍の大きさ)


詳細な情報は、scanley.orgをご覧ください。


それでは。

-J.Random

(公開のお知らせやプロジェクトのイベントに関するお知らせの詳細については、章6.コミュニケーション宣伝・広報項をご覧ください)

 フリーソフトウェアの公開を開始する時期について、ある程度動くものができあがった時点で公開すべきなのか、あるいは設計段階から公開すべきなのかについての議論は、まだ結論が出ていません。わたしは、これまでは「実際に動くコードがあること」が最も重要だと考えていました。それこそが成功するプロジェクトと単なるおもちゃとを区別するものだと思ったからです。そして、具体的に動くものがないとほかの開発者をひきつけられないと思っていたのです。

 最近、この考えが変わってきました。Subversionプロジェクトを開始したときにあったのは、設計ドキュメントと何人かの気心の知れた開発者、そして大げさなファンファーレだけでした。実際に動くコードは一切なかったのです。驚いたことに、このプロジェクトは開始当初からアクティブな参加者を獲得することに成功しました。そして実際に動くものができはじめたころには、かなり多くのボランティア開発者がコードの内部まで深く知り尽くしている状態になっていました。Subversionだけが例外的な存在だというわけではありません。Mozillaプロジェクトも実際に動くものがない状態から始まりました。そして今や人気のあるWebブラウザとして大成功を収めています。

 これらの事例を前にして、わたしは「実際に動くコードこそがプロジェクトの立ち上げに必要だ」という主張を曲げざるを得なくなりました。動くコードがあることは成功の1つの要素です。そして、経験上は、動くものが出来上がるまではプロジェクトの公開を控えた方がよいと思います。しかし、取りあえず先に公開してしまった方がいいこともあります。最低限、しっかりした設計ドキュメントか何らかのコード基盤は必要です――もちろん、これは公開後のフィードバックを受けて改版することになるでしょう。しかし、それだけではなく何か具体的なもの、実際に触って試せるものが必要です。

 プロジェクトを公開したからといって、大量のボランティアがすぐにプロジェクトに参加したがるとは思わないでください。普通は、公開した後の反応といえばもっとおとなしいものです。何人かはたいしたことのない問い合わせをくれるでしょう。何人かはメーリングリストに参加してくれるかもしれません。しかし、それ以外の大半の人たちにとっては、そのプロジェクトが公開されたことなんて気にもしていないでしょう。しかし時間がたつにつれて、開発者として参加してくれる人や実際にソフトウェアを利用してくれる人が徐々に増えていくことに気づくでしょう。

 公開の発表は、種まきのようなものです。そのニュースが広まるには、長い時間が掛かります。プロジェクトに参加した人たちが何らかの利益を得ることになると、ニュースがより広まるようになります。自分が見つけた素晴らしいものを、周りにも知らせてあげようという気持ちが働くからです。すべてがうまくいけば、そのプロジェクトは指数関数的に大きくなり、複雑なコミュニティーに成長するでしょう。そこまで来れば、もはや個々のメンバーの名前を知っている必要もなくなります。また、メンバー間の会話の内容をすべて追いかけることも不可能となります。次の章では、このような環境を運営する方法を説明します。

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


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


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

注目のテーマ