FLOSSプロジェクトが継続して成長していくための鍵のひとつが、問題報告を迅速に、そして効率的に行い、開発に反映させることにある。ユーザと開発者の間でシームレスかつ効果的な情報交換が実践されることでプロダクトの継続した開発が可能になる。またこういった活動に対してユーザが取り組みやすい環境を整えることは、将来的にユーザから開発者を創出することにもつながる。FLOSSプロジェクトにおいて重要なポイントだ。
FLOSSプロジェクト継続成長の鍵はコミュニティと問題報告
FreeBSDにおける開発要求や問題報告はPRシステムを通じて実施される。FreeBSDではGNATSシステムでバグ情報を管理している。GNATSはデータベースが簡素でメールからでも報告できる手軽さが魅力だ。システムの作りがシンプルで応用しやすいという特徴もあり、要求の取り込みやテストベッドとしても活用されている。このGNATSを通じてPR報告を出す90%以上は開発者ではなくユーザといわれている。PRを積極的に活用するユーザコミュニティの存在はFreeBSDの発展に欠かせないものだ。ユーザが扱いやすいPRシステムへと改善していくことが問題解決を推し進め、ひいてはFreeBSDの安定性向上につながる。
PRが処理されないと、報告したユーザやほかに同PR内容に不満を覚えているユーザをがっかりさせることになる。ユーザからの問題報告を継続して得るには、こうした不満を解消していく必要があるわけだ。また、FLOSSプロジェクトに対してバグ報告を実施しようとして報告サイトを開いたものの、報告フォームの意味不明さに閉口して報告をやめた経験を持つユーザは少なくないだろう。こうした問題点を解決していく必要があるとMark Linimon氏は説明する。
カテゴリからタグへ、初心者ユーザ向け報告UIを
同氏はFreeBSD PRの例を挙げながら改善案を説明した。まずPRで提出する問題報告書は、それがどの問題であるかを指定するカテゴリを持っているが、これが報告するユーザを混乱させる原因にもなっているという。どのカテゴリが適切であるかよくわからない分野が多く、現在のカテゴリが必ずしも適切ではないからだ。これに対しては、カテゴリというよりもタグを導入しようという取り組みが検討されている。当初のタグとしては、オンラインマニュアルの名称がタグとして導入されることになるようだ。しかしそのままではタグが多すぎるため、現在提出されているPRを分析し、より大枠で使える代表的なタグも用意することになるようだ。
カテゴリもそうだが、現在のGNATSで提供している検索機能はあまり使いやすいとはいえない。このためユーザは、自分が報告しようとしている問題がすでに報告されているかどうか調べることが難しく、さらに開発者も報告されている問題が自分の担当分野か把握するのが面倒なことになっている。そもそも初心者はオンラインマニュアルのキーワードには慣れておらず、どういった症状が現れたかで問題を認識する。タグを用意しても開発者やアドバンストユーザにとって便利になるだけで初心者にとってはそれほど状況が変わらないわけだ。Linimon氏はこの問題に対し、ウィザード形式の問題報告システムを用意することがこうしたユーザによる効率的な問題報告の実現につながるのではないかと説明している。きわめて簡素なUIだがプロトタイプを使って報告する例も実演された。
報告みならず開発者への連絡経路や手順も改善
また報告されている問題を開発者に通知する方法だが、「これも現在よりも扱いやすい機能を用意した方が効率が良いだろう」と同氏は説明する。どの開発者もフィルタリングがかかっていないPRリストをチェックしたいとは考えないからだ。開発者が迅速に自分の担当すべき問題を知ることができるようにすることが大切ということだ。またPRを使って問題が報告されてから、問題を分類して適切な担当者へ報告する流れを現在よりもより細かく効果的なものへ変更し、より効率よく問題対応を実現する方法を模索していることが説明された。
同氏が進めているPRシステムの分析とその改善案は、FreeBSDのみならずほかのFLOSSプロジェクトにとっても参考になるものだ。現在大規模FLOSSプロジェクトで採用されているバグ報告システムでは、大なり小なり似たような問題を抱えている。同氏の取り組みはそういった状況を改善する根本的な取り組みとして注目される。FreeBSD PRの改善の実施内容を見て、ほかのFLOSSプロジェクトに適用する方法も有益だろう。Linimon氏の取り組みには今後も注目しておきたい。