OpenFATE/Documentation
openFATE とは、SUSE Linux のフィーチャー(特徴、目玉、ウリ)のデータベースとつながるコミュニティ側からのインターフェイスです。SUSE Linux に対する一般的なコードベースのフィーチャーをリクエストしたいと思う方は皆、この openFATE を使って、評価、企画立案に向けてフィーチャーを提案し、登録していくようにしてください。そのフィーチャーが対象となるリリースで採用されると承認された場合、FATE を通じてそのフィーチャーの開発とテスト過程を追跡していくことができます。
FAQ も合わせてお読みください。
目次
openFATE を使う
フィーチャーとは何か?
IEEE (Institute of Electrical and Electronics Engineers) では、フィーチャーとは「ソフトウェアの要素のうちの、(たとえば、パフォーマンス、移植性、機能性といった)際立った特徴」であると定義されています。[1]
簡単に言ってしまうと、openSUSE にとってフィーチャーとは、これまでのバージョンには取り込まれていなかった重要な要素で、開発中のバージョンに追加されるべきもののことです。それが一握りの人たちだけでなく、多くの人のニーズに応えるものであればベストだと言えるでしょう。 もちろん、こういったフィーチャーのいくつかはリソースや要望や好みの問題ですから、もしあなたの挙げたフィーチャーが採り上げられなかったとしてもがっかりはしないでください。そうなることを避けるためには、フィーチャーのリクエストを挙げる時は、できるだけ分かり易く記述し、そのアイデアを取り込むとどのような恩恵がユーザにもたらされるのかを説明するようにしてください。
フィーチャーとバグとを混同しないでください。バグとは、既に世に出ているプロダクトで見つかる不具合のことです。つまり、既に世に出ているプロダクトで採用されているソフトウェアが期待通りに/説明通りに動いてくれないということです。バグについては、openSUSE Bugzilla へ行ってバグとして公開し、問題を解決していくようにしてください。 機能拡張要望 (enhancements) とちょっと似ていますが、機能拡張要望 (enhancements) とは、以下のような場合に挙げるべき要望のことを指しています。
- 既存のプロダクトに採用されているあるソフトウェアがとりあえずは使えているが、その役割をより良く果たすため、あるいはそのパフォーマンスを向上させるためには改善が必要とされる。
フィーチャーの作成
openSUSE のアカウントを持っている方であればどなたでも、フィーチャーを作成する権利が与えられています。作成する際は、以下の手順に従ってください(訳注: 事実上英語での入力が必須となりますので、以下の記入例等については英文のまま紹介します):
- https://features.opensuse.org/ へ行って、「Create」をクリックする。
- Adjust Colors of the Default Desktop Wallpaper といったような、短いタイトルを入力する。
- プロダクト(Product)を選択する。例: openSUSE-11.1
- Priority については、特にいじる必要はありません。
- 簡潔な記述を追加する。例:
In GNOME, the color of the default desktop theme and the colors of the default wallpaper do not fit. Especially look at the title bar of the active window.
- フィーチャーの種類によっては、「Add a Usecase」や「Add a Testcase」をクリックして、使用事例(Usecase)やテスト・ケースを追加する。
- 最後に「Save feature」をクリックする。
フィーチャー・プロセスってどのように機能する?
通常は、フィーチャーを作成することが最初のステップとなります。そこから、議論と、採用するかどうかを判断するラウンドがスタートします。そのトピックに対してインプットを提供できるすべての人には、コメントを追加することが求められます。たとえば技術的な詳細や開発に要する時間の見積りを追加できるチーム・リーダーや開発者は、重要な人たちだということになります。興味を持った人は、自分自身をその輪の中に加えることができます。Fate で、そういった全ての役割に関することが見えるようになります。
議論及びフィーチャーの修正フェイズは、そのプロダクトのプロダクト・マネージャーやテクニカル・プロジェクト・マネージャーといった責任者たちに、そのフィーチャーについて良い決定を下すための基礎を提供することを目的としています。彼らによる決定の結果として、いわゆる優先度(priority)が提示されることになります。
提示される優先度は、以下の通りです:
- Desirable (望ましい)
- もし簡単に実現できるのであれば、そのフィーチャーはプロダクトにとりこまれるべきである。
- Important (重要)
- そのフィーチャーがないと、プロダクトは重要な機能性を失うことになる。
- Mandatory (必須)
- そのフィーチャーが実現できないと、致命的な問題となる。
- Neutral (中立)
- 何らかの理由により意見なし。
そのフィーチャーがプロセスの中で現在どのようなステータスにあるか知ることができる、ステータス欄というものがあります。フィーチャーはまず、新規(NEW) もしくは 未確認(UNCONFIRMNED) というステータスで開始され、その件についての責任者たちが割り当てられて評価中(evaluation)ステータスに移行されるのを待つことになります。評価中ステータスになると、どうすべきか決定するための時間がとられることになります。最終的に、そのフィーチャーは、了解され、作業が継続することを意味する "候補(Candidate)"、もしくは、そのフィーチャーを当該プロダクト用としては考慮しないということを意味する "不採用(Rejected)" のいずれかのステータスとなります。
優先度とステータスはプロダクトベースで設定される、ということを理解することが重要です。 それはつまり、あるフィーチャーがプロダクト A では不採用であっても、プロダクト B では再び取り上げられるかもしれない、ということを意味しています。これは、これらのリクエストを追跡していく Bugzilla のような他のメソッドと比較しての、Fate の持つ大きなメリットだと言えます。
どのようにプロセスが開始されるか?
フィーチャーの中心となるデータ、議論及びステータスがどうなっているかは、閲覧可能です。openSUSE のアカウントでログインすれば、誰でもコメントを追加することができます。
openSUSE 用として挙げられるフィーチャーは、パートナーと呼ばれる、フィーチャーのデータ内の特別なフィールドによって他のフィーチャーと区別されます。そのフィールドは、openFATE により自動的に openSUSE として設定されます。
フィーチャーデータベースの閲覧とコメント
フィーチャーを検索する
- https://features.opensuse.org/ に行って、Browse をクリックしてください。
- 検索の基準を指定する。たとえば、"color" といったキーワードを Title/Description contains フィールドに入れる。あるいは、もしあなたがあるプロダクトに対する全ての完了したフィーチャーについて興味を持っているなら、たとえば、Product(s) の一覧から "openSUSE-11.2" を選択し、さらに Status フィールドで "done" を選択してください。
- Search をクリックしてください。
もしそのフィーチャーの ID を知っているなら、右上のフィールドにその ID を入力して、虫眼鏡アイコンをクリックしてください。
そして興味の持てるフィーチャーを見つけたら、その内容を読んでコメントを追加してみてください。
フィーチャーへのコメント
Discussion の下にある "add comment" をクリックしてテキスト編集ボックスを開いてください。書き込みが終了したら、最後に Save feature (ページの上部に表示されます)をクリックしてあなたのコメントをフィーチャーのデータベースに保存してください。
何かコメントが書き込まれている場合、reply をクリックすれば直接そのコメントに対するコメントを付けることもできます。
フィーチャーに対する投票
各フィーチャーのページの右上にマウスカーソルを持っていくと、投票用のウィジットが表示されます。ここではそのフィーチャーが現在得ている得票数を見ることができますし、"toggle statistics" をクリックして展開すれば、投票の履歴を見ることもできます。投票するには、まずログインしてください。すると、投票アプレット上に "down"、"neutral"、"up" という3つのオプションが浮かび上がるのを見ることができると思います。そのフィーチャーが気に入ったということを表明するためでしたらこの投票を使うようにして、賛成、反対を表明する目的でコメント欄に記入するようなことはしないでください。それをしてしまうと、フィーチャーの見通しが悪くなり、混乱の元となってしまいます。
フィーチャーの属性についての詳細定義
フィーチャーはいくつかの属性により記述されています。各属性の持つ意味と、それらがどのように割り当てられるのか、以下に記します。
Title(タイトル) そのフィーチャー・リクエストについての、端的に一行にまとめた記述。 (例: "Improved argument handling for zypper")
Tags(タグ) タグとは、フィーチャーに関連したキーワードのことです(参照: http://en.wikipedia.org/wiki/Tag_(metadata)) 。すべてのフィーチャーに付けられたタグからタグ・クラウドが作成され、そのタグがたくさん使われていればいるほど、タグ・クラウドの中で大きく表示されることになります。
Products(プロダクト) そのフィーチャーを取り込んでもらいたいとリクエストされた一つ以上のプロダクト。対象プロダクトが異なればそれぞれ別個のものとして扱われ、追跡されることになります。ですから、例えば 11.2 に向けて挙げた要望が却下されたとしても、11.3 では実装されるかもしれない、ということになります。
Priority(優先度) 対応する関係者(Actors)へそのフィーチャーの優先度が伝わるように特定します。
- Mandatory(必須): このフィーチャーは絶対に必要なものです。このフィーチャーが実装されないままプロダクトがリリースされることがあってはなりません。
- Important(重要): このフィーチャーは明らかに恩恵をもたらすものであり、可能であるならば実装されるべきものです。
- Desirable(望ましい): このフィーチャーはプロダクトの価値を高めるものではありますが、場合によっては要求リストから落とされたり、もっと後のリリース用として扱われることもあります。
- Neutral(中立): このフィーチャーの優先度は高くありません。
ただし、あるフィーチャー・リクエストに高い優先度が付けられたからといって、プロダクトの次期リリースでそのフィーチャーを実装すると openSUSE が保証した、というわけではないことはご承知置きください。
Actors(関係者)
- Requester(発案者): そのフィーチャー・リクエストについての更なる詳細や説明が必要となる場合の、openSUSE からの問い合わせ先になる人のことです。新しいフィーチャーを作成すると、発案者は自動的に認証済みユーザとして設定されます。
- Interested Person(興味を持った人): そのフィーチャーを watchlist に加えたいと思ったら、あなた自身を "Interested Person" に追加してください。
- Developer(開発者): Developer は、そのフィーチャーが実装されることに対しての責任者です。Novell の人間が担当することもありますし、外部コミュニティの方が担当することもあります。
Description(説明)
可能な限りそのフィーチャー・リクエストについて詳細に記述して、追加の状況説明がなくてもそのリクエストの主旨が理解できるようにしてください。
また、できれば短い実用例のシナリオを追加してください。
複数のページにまたがるような仕様、コードの断片、kernel のパッチなどは、ここに入れないようにしてください。そのようなデータを見せたい場合は、別のサイトにアップロードして、そこの URL を紹介するようにすると良いでしょう。
そのリクエストが既にどこかで実装されていることをご存知だったり、パッチを提供することができるようでしたらここに記述してください。
Stakeholder benefit(利害関係者にもたらされる恩恵)
このフィーチャーを実装することで、関係する者にどのような恩恵がもたらされるか。
リッチテキスト
Description、Comment、Usecase フィールドにデータを入力する際は、リッチテキストで入力することができます。openFATE では、以下のリッチテキスト要素がサポートされています:
<p>...</p> 新しい段落
<pre>...</pre> 整形済みテキスト この中にあるすべてのテキストは、そのまま表示されます
<h3>...</h3> 見出し
<ul>...</ul> 黒丸から始まる(順序付けられていない)リスト <li>...</li> 要素を含む必要があります
<ol>...</ol> 順序付けられたリスト <li>...</li> 要素を含む必要があります
<a href="http://host.domain/path/">...</a> インターネット上の他のリソースへのハイパーリンク
<b>...</b> 太字
<em>...</em> イタリック体
<tt>...</tt> タイプライター風のフォントで表示