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