フリーソフトウェアユーザーによるコミュニティー支援の方法Beginner's Guide(1/2 ページ)

自分にはパッチ作成やバグフィックスの方法が分からない、そんな自分でも何かの役に立てるのだろうか? と思ったことはないだろうか。プログラマーでない人がFOSS開発への有意義な参加を果たす方法を簡潔にまとめた。

» 2008年09月18日 00時00分 公開
[Drew Ames,SourceForge.JP Magazine]
SourceForge.JP Magazine

 最近のLinuxディストリビューションは、限られた上級ユーザーだけでなくはじめてのコンピュータユーザーにも使いやすいものへと変ぼうを遂げている。しかし、プロプライエタリなソフトウェアやOSとは異なり、GNU/Linuxの開発は、自らの時間と知識を惜しまず無償でプログラムを書く人々の活動に支えられている。そのため、フリー/オープンソースソフトウェア(FOSS:Free and Open Source Software)の成否は、ユーザーからのフィードバックと貢献に大きく左右される。新規のユーザーやプログラミングスキルのないユーザーは、貢献のしかたが分からなかったり、そもそもその必要性を理解していなかったりするだろう。しかし、プログラマーでなくてもFOSSプロジェクトに大いに貢献することは可能であり、そうした活動はほかのユーザーのためだけでなく自分のためにもなるのだ。もちろん、あなたにも協力できる。

 まずは初心者のために簡単に背景を説明しておこう。Linuxカーネル(Linux OSの中核となるGNUソフトウェア)をはじめ、最近のディストリビューションを構成する大多数のソフトウェアドライバやアプリケーションは、フリーソフトウェアである。フリーソフトウェア財団(FSF:Free Software Foundation)では、フリーソフトウェアを次のように定義している。

フリーソフトウェアとは、ユーザーが自由に実行、複製、頒布、研究、変更、改良を行えるソフトウェアである。厳密には、次の4つの自由がユーザーに与えられるソフトウェアを指す。

  • 用途に関係なくプログラムを実行できる自由(第0の自由)
  • プログラムが動作するしくみを解析したり、自らのニーズに合わせてプログラムを改作したりできる自由(第1の自由)。そのための前提条件として、ソースコードが参照可能でなければならない
  • 周囲の人の助けとなるべくプログラムのコピーを再頒布できる自由(第2の自由)
  • コミュニティー全体の利益のために、プログラムを改良してその結果を公開できる自由(第3の自由)。ここでも、ソースコードを参照できることが前提条件となる

 つまり、Linuxとそのアプリケーション(の大部分)は、ソフトウェアの4つの自由すべてに基づいて作られているわけだ。4つの自由のうち2つでは、ソフトウェアの変更と公開ができる点が強調されている。こうした自由から生まれたのが、利用者に開発者となってソフトウェアの変更、改良、再頒布を行うことを促す協調的開発モデルだ。協調的なオープンソース型開発の威力は、LinuxディストリビューションをはじめとするFOSSアプリケーションが、洗練された強力な対抗馬としてプロプライエタリなソフトウェアの存在を脅かしていることからも分かる。

 長年の取り組みを経て、FOSSの開発モデルはきわめて使いやすいLinuxディストリビューションおよびアプリケーションを世に送り出し、多くの新規ユーザーを獲得している。しかし、FOSSの開発についてよく知らないユーザーは、FOSSの使いやすさ、成熟度、機能の完成度についてさまざまな期待を抱いていることが多い。KDE 4.0のリリースに対するユーザーの反応は、ユーザーの期待するものが開発者の想定といかに食い違うか翻訳記事)を示す好例だ。しかし、典型的なFOSSプロジェクトであるKDEは、ユーザーからの貢献を頼りに改良に取り組んでいる。

 「確かに素晴らしい開発の進め方だ。でも自分にはパッチ作成やバグフィックスの方法が分からない。どうすれば役に立てるのだろうか」と思う人もいるだろう。プログラマーでない人がFOSS開発への有意義な参加を果たす方法は幾つかある。特に簡単に参加できて自らにとっても非常にためになる方法として、ユーザーフォーラムへの参加と、開発者への直接フィードバックの2つがある。

ユーザーフォーラムへの参加

 Linuxを使っていると、どこかの時点で問題に遭遇する(それはどのOSでも同じことだ)。ヘルプファイルを参照したりインターネットで検索したりすると、普通は特定のディストリビューションやアプリケーションのWebサポートフォーラムに行き着く。しかし、Webフォーラムの効果は使い方次第で大きく変わってくる。あいまいな質問をして、役に立つかどうかは別にして回答をもらったのにフォローをしない、というのはよろしくない。模範的な利用には少し手間が掛かるが、その方が質問をしたユーザーもコミュニティー全体もずっと大きな恩恵を受けられる。

 少し前であれば、同じような質問をするのにメーリングリストやUsenetニュースグループが利用されていた。Usenetでは、何かの方法や問題解決に関する質問に対して「マニュアルをしっかり読みなさい(RTFM:Read The Friendly Manual)」という答えが返ってくることが多かった。これは、初心者に優しい現在のディストリビューションやWebフォーラムでも通用するアドバイスだ。フォーラムで質問をする前に少し調べれば、より的確な質問ができる。次の2つの例を比べてみよう。

 「力を貸してください! Ubuntuで無線カードが使えません」

 「教えてください! Ubuntu 7.10でD-Link製WNA-2330無線アダプタが動作しません。WebにはMadWifiドライバが必要と書かれていますが、どのように入手し、設定すればよいでしょうか」

 2番目の例には十分な情報が含まれていて、人々から情報をもらいやすい形になっている。

 質問を投稿したら、フォローに備えること。ネットワーク関連の質問をすると、普通はifconfigやlsmodのようなコマンド出力の提示を求めるレスがつく。追加の情報を投稿することで、より熟練したユーザーがその問題を診断して的確な回答をくれる可能性が高まる。

 肝心なのは問題を修正した後だ。最低でも、助けてくれた人々への感謝の気持ちを同じスレッドで伝えておこう。もっといいのは、謝意だけでなく、具体的にどのようにアドバイスに従い、その結果どうなったかを詳しくまとめて報告することだ。こうして結果を報告することには、2つの大きなメリットがある。1つは、自分のハードウェアおよびソフトウェアに特有の問題をどのように解決したかの記録が残ることだ。ファイルに保存するなり印刷するなりしておけば、同じような問題が今後起きても自力で解決できる。もう1つは、同様の問題に見舞われた人が、Webで検索してあなたの投稿を見つけ、その経験を直接生かせることだ。

 ちょっとしたフォローの有無が、その後に大きく響いてくる。当初の問題を解決したことで貴重なトラブルシューティングのスキルが得られるだけでなく、その後ほんの少し手間を掛けるだけでコミュニティー全体に貢献できるわけだ。やがては、自分自身が有益な助言をする側の1人になっていく可能性もある。

       1|2 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ