Kritaを支援する方法:バグの分類
この記事はKritaを少しでも支援したいという皆さんが実際にKritaの発展に寄与できる方法についての記事シリーズの一番目です。Kritaを支援する方法はプログラミングからチュートリアルを作ったり、フォーラムでユーザーの質問に答えたり、寄付をしたりなどいろいろありますが、今回はその中でも非常に重要なものを見ていきましょう。すなわち、バグの分類です。
現在何十万人ものKritaユーザーがおり、多くのバグが報告されています。そしてそのバグの多くがバグ報告者のシステムに特有のもの、あるいはそう考えられるものです。バグの中には特定のハードウェア、OS、その他インストールされているソフトウェアの組み合わせでしか発生しないものもあります。また誰にも起こるがその機能があまり使われないため非常に稀なものや、我々も人間ですからミスによって意図せず発生したバグというものもあります。
そして全てのバグ報告は、できるならば数人、以下のことを確認してもいい人に読んでもらう必要があります。
- 自分でもバグを再現できた―この場合は報告が正しいと確定です
- 報告の意味がよくわからない、あるいは報告が不完全と考えられる―この場合はさらなる情報を求めることになります
- 以前報告された既存のバグだった場合は、以前報告されたバグと同じものとしてそのバグ報告をクローズすることになります
我々はKritaのバグを探すのにKDEのbugzillaを使用しています。実のところbugzillaがウェブアプリケーションとしては時代遅れのデカブツであることは残念ながら認めざるを得ないのですが、今のところ我々にはこれしかありません。これが我々の役に立つようにしなければならないのです!皆さんがオープンなKritaのバグを探そうとしたとき、現れる画面はこんな感じです。
うむむ、320個のオープンなバグがありますね…ここで重要な情報は以下のものです。
- Vers(Version/バージョン):報告したユーザーが使用していたKritaのバージョンです。
- Sev(Severity/深刻度):バグ報告がクラッシュか、小さな問題かあるいは要請であるかです。
- Status(状態):UNCOは不明(Unconfirmed)の略で、まだ誰もバグを再現しようとしていないかできていないかのどちらかを意味しています
- Summary(要約):発生した問題の短い説明です。
- Reporter(報告者):バグを報告した人です
- OS:報告したユーザーの使っているOSです。Windows(しばしば間違ってWindows CEと報告されていることがあります)、Linux、OSXのどれかです。
ご覧の様に、我々は本当に皆さんの支援を必要としています!我々、この文章を書き、またこのプロジェクトのメンテナで、開発及び管理も行っているBoudewijnはWoltheraさんと一緒に報告されているすべてのバグを分類しようとしていますが、時間通りに返事をするのは無理があります。そこで皆さんの協力が必要なのです!皆さんがある程度Kritaを使い慣れていて、支援してもいいという心づもりがあるなら、以下がその準備をする方法です!
Bugzillaのアカウントを取得する
https://bugs.kde.orgにアクセスして「Create new Account」(新規アカウント作成)をクリックして下さい
登録フォームに必要な情報を入力して、送られてきたメールの確認リンクをクリックして下さい(私はEメールを読むのにテキストモードのクライアントであるAlpineを使っています。まあ別にこれを使ってもらわなきゃいけないわけではありませんが)
Email通知の設定
bugzillaにログインして一番上のPreferencesのリンクをクリックして、「Email Preferences」を開いてください。Bugzillaは皆さんに大量のメールを送付する場合があります。ですが安心してください、バグ報告のメールを特別なメールボックスに簡単にフィルター出来るたくさんの特別ヘッダがあります。基本的にこれは大きく二つに分けられて、一つは普通のメール設定
そしてもう一つが重要で、 Kritaに関連する全てのバグについてちゃんとEメールを受け取れるようにする設定です。User Watchingのユーザー一覧にユーザー「krita-bugs-null@kde.org」を追加してください。
これで Kritaのバグに何か進展がある度Eメールが届くようになります。bugzillaの特別ヘッダを使って、全メールを取り扱いやすいように分類しておくことも可能です。
- X-Bugzilla-Reason: None
- X-Bugzilla-Type: new
- X-Bugzilla-Watch-Reason: AssignedTo krita-bugs-null@kde.org
- X-Bugzilla-Product: krita
- X-Bugzilla-Component: tablet support
- X-Bugzilla-Version: 2.9.11
- X-Bugzilla-Keywords:
- X-Bugzilla-Severity: normal
- X-Bugzilla-Who: boudewijnrempt@gmail.com
- X-Bugzilla-Status: UNCONFIRMED
- X-Bugzilla-Priority: NOR
- X-Bugzilla-Assigned-To: krita-bugs-null@kde.org
- X-Bugzilla-Target-Milestone: —
- X-Bugzilla-Flags:
- X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter
例えば、私はバグ報告メールを新しいもの、変更されたもの、新しい要望、さらなる情報を求める質問への返事に分けています。
バグを分類する
さてバグ報告がが皆さんのメールボックスに届きました。これをbugzillaで開き、分類することになります。ここではいくつかの段階を踏むことになります。
- 深刻度が「wish」(要望)の場合はそのままにしておいてください。要望バグ報告は特別なものです。
- そのバグが既存のものであるかを確認してください。もしそうだった場合は、報告をクローズしましょう。
- バグの件名がちゃんと意味が分かるもので、ちゃんとバグの内容を一言で説明できているかを確認してください。もしそうである場合はちゃんとしたものに変更してください。
- OSが正しいかチェックしてください。例えばWindowsでのバグがWindows CEでのバグとして報告されている場合がしばしばあります(訳注:これはWindows Embedded Compactというマイクロソフトが開発した携帯情報端末用のOSを意味し、通常のWindows OSとは異なるものです。当然このOSにKritaは対応していません)これはMS Windowsに変更しておく必要があります。
- バージョンが古すぎないかを確認してください。今のところ、我々は2.8で起こっていたバグについては修正するつもりはありません。そして3.0リリース後には2.9で報告されたバグはNEEDSINFO(情報不足)として報告したユーザーはその問題が3.0でも再現してみて欲しいと要請されることになります。
- バグ報告をしてくれたユーザーに感謝の言葉を送りましょう。バグの報告というのは、とりわけKritaを初めて使ったユーザーにとってはかなり不快なものでありかつかなりの労力を伴うものであることを心の片隅に留めておく必要があります。バグを報告してくれた人もまたすばらしい開発への貢献者なのです!
これで最初の部分は終了です。ここから本当の仕事が始まります。そのバグを再現できるか試してみるのです。初めのうちはバグにクローズすることはできないでしょう。ですのでまず最初に皆さんができることはバグ報告にコメントを追加することです。数回にわたってバグを再現できたら、その時にはもう皆さんはそのシステムがどう働くかを理解し、新しいバグに挑戦したくなっているでしょう。そうなったら私Boudewijn(boud@kde.org、irc.freenode.orgのチャンネル#kritaではboud)にさらなる支援を求めて要請を送る番です。
- 簡単に再現できる:どうやってその問題を再現するか、そして皆さんの使っているOS、Kritaのバージョン、ハードウェアをコメントで追加し、そのバグをCONFIRMED(存在確認)に切り替えておいてください。
- そのバグを再現するには情報が不足している:そのバグをNEEDSINFO(情報不足)に切り替え、そのバグを報告した人にさらなる情報を求めてください。
- バグ報告に不備はないにもかかわらずそのバグを再現できなかった場合は以下のステップを踏んでください:まずコメントで自分はこのバグを再現できなかったこと及びそのバグの報告者へ今一度このバグを再現できるか訊いてください。そしてそのバグをNEEDSINFO(情報不足)に切り替え返事を待ちます。もし報告者が自分も再現できなかったと報告してきた場合はWORKSFORME(再現しない)としてそのバグ報告をクローズしてください。
- バグを再現できなかったがそれは恐らく既に修正済みだったからと推測できる場合:そのバグにコメントを付けてください。ただしStatus(状態)はまだ変えないでください。
- 報告者が、例えば16 bits linear light RGBで絵を描いてPNGファイルにプロファイル無しで保存しようとしているなど、単にKritaを間違った方法で使っていたことに気付いていないだけと考えられる場合は、その報告者にマニュアルを提示し、その報告をNEEDSINFO(情報不足)に切り替えてください。報告者が皆さんの指摘した通りだったと返信して来たら、そのバグ報告をクローズすることができます。
- そのバグがペンタブレットについての問題だった場合は、そのユーザーにペンタブレットのログをアップロードしてくれるよう要請してください。
以上で本当に全部です。皆さんもぜひバグ分類に参加してみましょう。バグ分類への支援はKritaにとって本当に大きな貢献となるものなのです。