【第28回】
コラボレーションのススメ
~共同で作られるオンラインソフト~
(01/09/17)
ユーザーと作者のイイ関係
ここ数回のよもやま話では、オンラインソフトをめぐって起きている大小さまざまなトラブルなど、どちらかと言えばマイナスの面について考えてきた。しかし、実際そうしたトラブルが起きるのはごく一部のことで、だからこそ目立ってしまうというのもある。ほとんどのオンラインソフトでは、ユーザーと作者が実にイイ関係を築きながら、よりよいソフトを育もうと日々頑張っているのだ。
今回はそんなイイ関係のひとつ、共同開発について書いてみようと思う。ひと口に共同開発といっても、複数のプログラマーたちが1本のソフトを制作するという狭義の共同開発だけでなく、もっと広い意味で、多くの人が協力してソフト作りに携わるという形態もここでは含めたい。オンラインソフトならではの、いろいろな形の協力によって、例えば作者とユーザーという立場の違いからくる“温度差”をうまく埋め、成功しているソフトも世の中にはたくさんあるのだ。
ソース公開で共同開発
オンラインソフトが主にネットワークを通じて配布されているというのは誰もがご存じの通りだが、ソフトによっては開発もネットワークを通じて共同作業で行われている。もちろんLANを整備したソフトハウスのようなところでファイル共有によって共同作業が行われる、というのは今どき珍しくもない、ごく当たり前のことだろう。そのほかに、個人ベースで開発されるオンラインソフトなどが、インターネットを介して共同作業でプログラミングされているケースがしばしばある。
作者同士はネット上での知り合いというだけでお互いに顔も見たことがない、なんていうこともあるようだ。それぞれが何らかのオンラインソフトを公開していて、一方が要望や不具合報告などのメールを出したことから交流が始まり、やがて意気投合してソフトを一緒に開発することになった、という話を知り合いのフリーソフト作者から聞いたことがある。また、作者が自作ソフトのソースファイルを公開していて、それを見た別の作者が機能追加のアイデアを持ち寄って、共同開発になることもあるようだ。GPLもしくはそれに準じるライセンスにもとづいて配布されるソフトの中にはそうした共同開発も多く、例えばその規模が大きく有名なところでは、オープンソースで開発されたWebブラウザーエンジン“Gecko”を搭載した「Netscape 6」があげられるだろう。
プログラム本体以外にも
1本のソフトを作るためには、プログラミングだけができればいいわけではない。アイコンやウィンドウなどのデザインセンスも必要であるし、特にゲームソフトの分野などソフトによってはBGMや効果音も作成しなければならない。さらにプログラム本体だけでなく、わかりやすいヘルプを作るには文章力も必要だ。そうしたソフト開発の何から何までを個人が一人で担当するのは、自分の好きなように作れる反面、それだけ大変な作業になる。人によって得意な部分と不得意な部分があるのだから、ならば不得意な部分はほかの人にやってもらおう、という発想で共同開発を積極的に採り入れている人たちも多い。
オンラインソフトの場合、その協力者をホームページ上で募集したり、READMEの中で募集していることを書いているのは見たことがある人もいるのではないだろうか。また、同好の人々が集まるチャットで協力者を見つけるというケースもあるようだ。ぼくも以前、メールで交流のあったとあるソフトの作者から、アイコンデザインをやってみないかと誘われたことがある。テキストビューワー系のフリーソフトで、いろいろなアイコンの中から好みのものを選べる機能がついており、そのアイコンの1つを作ってみないかという話だった。もちろんこんな光栄なことはない、とばかりに早速作って作者に送ってみたのだが、あいにく絵心がサッパリだったせいで“前衛芸術”みたいな(?)アイコンになって、結局「申し訳ないけれど…」と断られてボツになった。まぁ今だから話せる苦笑モノのエピソードだが、自分ではそれも楽しい思い出だと思っている。
ヘルプの作成を分担
前回とりあげたヘルプファイルについても、プログラム本体の作者とは別の人物がヘルプを専門に作成しているというオンラインソフトは時々見かける。ぼくが昔から愛用している定番ソフトの中にも、ヘルプの作者は別というソフトはいくつかあるし、熱心なユーザーがWebベースのオンラインヘルプや解説ページをボランティア的に作成している場合もある。ヘルプに専門の作者をおくのは、作業分担という意味で効率的でもあり、少しでもユーザーの視点に近づいてヘルプを編集作成できるという大きな利点もある。非常にいいことだと思うし、まさに作者とユーザーが一緒に作り育てるオンラインソフトならではのものだろう。
ただ、ヘルプ作成を分担する場合、例えば頻繁なバージョンアップを行うようなソフトでは、ヘルプ作者との連絡が密にできなかったり、熱心なユーザーとはいえ作者がよく知らない相手だと改訂を頼むことに気を遣ってしまうといった弊害もないわけではない。また、人に任せるのは心配なのでやはり自分でヘルプも作りたいという作者もいることだろう。いずれにしろ、ソフト作者がいろいろな可能性を探った上で、最適と思われる方法でヘルプを作成してくれることが、ユーザーにとっては一番ありがたいことだと思う。パソコン初心者から上級者までいろいろな層がいるオンラインソフトユーザーにとっては、ヘルプにも十分に気を配るという作者の開発姿勢に大きな意味があるのだ。
アイデア提供やリンクも一種の共同開発
そのほか、共同開発という厳密な意味からは少し外れるが、ユーザーが作者に機能のアイデアを提供するのも、よりよいソフト開発のために協力していることになるだろう。また、使ってみて気に入っているソフトを自分の個人ホームページで紹介してリンクを張ったり、ダウンロードしやすいように転載するといった行為も、広い意味では作者に協力していることになると思う。リンクや転載によって多くの人が知るところになって、ユーザーが増えれば、シェアウェアなら作者の収入につながるし、フリーソフトでも作者の開発意欲が増したり新しい要望や意見と出会う機会が増える。たとえホームページを持っていないユーザーでも、自分が便利だと思ったソフトを「便利だよ」と誰かに伝えることは、作者への還元になり、ひいてはソフト開発に協力していることになるのだ。
オンラインソフトというものが現在のように広まったのは、実はこうした“普及係”を担った個人ユーザーの役割が大きい、と感じているのはぼくだけではないだろう。窓の杜やベクターのようなソフトライブラリやメディアの存在も普及の一端を担っているのは確かだろうが、それ以上に“口コミ”に相当する個人ホームページや掲示板でユーザーが行ってきた普及活動は、結果として多くのオンラインソフトを支えてきたし、全体的な品質向上にもつながっているように思う。
今あなたにできること
さて、窓の杜読者の皆さんの中には、オンラインソフトを作者と共同開発する、なんて聞くと、興味はあってもプログラミングのできない自分には無理だとか、他人事のように思っている人がいるかもしれない。けれど、上記のように直接的なプログラミングでなくても、開発にかかわる方法にはさまざまなものがあるし、方法によっては協力したいと思えば誰でも、今すぐにでもできることはあるのだ。日頃からただなんとなくオンラインソフトを便利に使っているという人も、この機に自分のできる方法を探して、オンラインソフト開発に積極的に参加してみてはいかがだろうか。
(ひぐち たかし)