企業,あるいは個人でオープンソース・ソフトを「導入」したことがある人は多いだろう。しかし,オープンソース・ソフトの開発になんらかの形で「貢献」したことがある人は,どれほどいるのだろうか。オープンソース・ソフトの開発プロジェクトにはさまざまな問題が潜んでいる。いわゆる「貢献問題」もその一つだ。
世の中には,数多くのオープンソースの開発モデルを用いたプロジェクトがある。できあがったプロジェクトの成果物は,例えばGPL(GNU Public License)に基づいて公開され,誰でも利用できる。多くの場合,無償だ。ここまでは良い。
問題は,多くのオープンソース・ソフトウエアの開発プロジェクトで,「開発→利用」という矢印が一方向だけを向いている場合が多いことだ。
Wikipediaは「利用者=開発者」
オープンソース型の開発モデルを採用したプロジェクトの成功例が,百科事典作成プロジェクト「Wikipedia」(ウィキペディア)だろう。米Alexa Internet社によると,全世界のアクセス数ランキングにおいて17位を占めるほど成功している。Wikipediaは多言語プロジェクトであり,世界120の言語にそれぞれの版がある。各言語版の内容は,他の言語版からの翻訳もしくは独自の項目からなる。もちろん,日本語版も存在する。
Wikipediaが他の多くのオープンソース・プロジェクトと異なる点は,誰もが貢献できることだ。百科事典の文章について,利用者=開発者という等式が成り立つ。
Wikipedia自体はプログラムのソースコードを作り上げるプロジェクトではないため,プログラムに適用されるGPLの代わりに,文章に適用されるライセンス「GFDL(GNU Free Documentation License)」に則っている。事典を閲覧しながら,誰でも誤字脱字の修正が可能である。
人物伝や事物の説明を一から投稿することもできる。敷居が低いが,実際に書き込むのはその分野についての知識を持っている人である。このため,バグフィックス,仕様追加要求といったフィードバックがうまく働いている。パッチを比較検討する開発者が必要なく,各記事が独立しているため,バグの報告,パッチの適用が完全に分散できる。いわば理想的な開発・貢献モデルともいえるだろう。
もっとも,副作用もある。敷居が低すぎるために「ゴミ」が紛れ込むことだ。しかし,Wikipediaには執筆履歴を厳密に管理する機能が埋め込まれており,誰でも参照できる。ほとんどの場合,ゴミを発見した利用者がすぐさま取り除いてしまう。
初心者参加はバク取りの負担を増やす
こうしたWikipediaと同じスタイルを,オープンソース・ソフトの開発に生かすことはできるだろうか。誰でも簡単に自分が欲しいと思ったり,自分が開発したソフトウエアの追加コードを書き込む。バグが見つかれば,誰かが直してくれる。一見,良さそうに思える。
しかし,筆者は,Linuxカーネルやオフィス・ソフトウエアの開発で,Wikipediaと同じ開発方式を採ることは極めて困難だと考える。むしろ,百害あって一利なしだろう。
なぜなら,ソフトの開発に初心者を参加させると,バグ取りが大変になるからである。オープンソース・ソフトの利用者の多くは一般に,ソースコードを改良する能力がない。Wikipediaと同じ感覚で,いろいろな人に「ソースコード」を追記させるのは,逆効果である。
Linuxカーネルをはじめ,広く利用されているオープンソース・ソフトウエアの場合,バグの指摘,さらにバグを回避するためのパッチの提供量は現状でもあまりに多く,開発者側でのコントロールが難しくなっている。バグを解消するコードが新たにバグを生まないかどうか,他のコードに影響を与えないかどうかを検証する作業は,かなりのコストを必要とする。しかも,本来の開発と並行して,これらの作業をこなさなければならないからだ。
ドキュメント類の追記なら可能性あり
しかしながら,Wikipediaのようなスタイルをオープンソース・ソフト開発に生かせる場面はある。それは,「インストール・ガイド」などのドキュメント類である。
ソフトウエアを開発する多くのオープンソース・プロジェクトには,さまざまなドキュメントが必要になる。ソースコードに精通していなければ記述できないドキュメントもあるものの,利用方法など利用者が関与できる部分は多い。
オープンソース・ソフトの導入方法や設定方法などは,ユーザー環境ごとに様々である。開発者が「こんな感じでインストールすればよい」とドキュメントに記述しても,利用者からすると「自分の環境では,その通りにできない」といったケースが非常に多い。こうしたユーザー環境ごとの導入方法や設定方法など,それぞれの環境ごとの「専門的知識」を,利用者自身がドキュメントとして,Wikipedia方式で追記するというのはどうだろうか。それでも立派に開発に貢献したことになる。
幸い,Wikipediaを構成するソフトウエアは,PHPで作成されたWikiクローン「MediaWiki」を含め,そのまま無償で利用できる。