バグ報告でKiCadをより良く

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    :christmas_tree: KiCad Advent Calendar 2015 の10日目は qa65000 さんでした。
    この記事は11日目の投稿です。


    はじめに

    KiCadを使っている時に、突然落ちてしまったり、処理がおかしくなったりしたらどうしていますか?また、こんなことができたら、という改善案を思い付いたらどうしますか?

    フォーラムに書き込むとか、twitterでつぶやくというのもありますが、公式な形で確実に開発チームに声を届けるならバグ報告が一番です。

    KiCadはみんなで作り上げているオープンソースのプロジェクトです。開発者だけでなくユーザもプロジェクトの参加者です。オープンソースのプロジェクトでは成果物に関与することを貢献と言いますが、ソースコードを書くことだけが貢献ではありません。ユーザとして利用して問題を報告することもプロジェクトへの貢献です。

    この記事ではKiCadをより良くするための、バグ報告の方法についてお話します。

    バグ報告システム Bugs にアクセス

    KiCadのバグ報告は launchpad の Bugs で受け付けています:
    https://bugs.launchpad.net/kicad

    20151208-10.png

    個人的な感想ですが、launchpad の Bugs はちょっと使い方がわかりにくいです。しかも全部英語です。これがバグ報告の敷居を上げていると感じていて、それがこの記事を書く動機になりました。

    Bugsにバグ報告を投稿するにはアカウント登録が必要です。
    Bugsの右上の「Log in / Register」のリンクから登録できます。

    KiCadバグ報告の流れ

    KiCadのバグ報告の流れを順を追って説明します。

    バグを報告する

    1. バグ報告するには、Bugs画面右上の Report a bug をクリックします。

    2. 問題をいくつかの単語で記述してくださいという画面になるので、問題を表現する単語を入力して Next をクリックします。
      20151208-2.png

    3. すると入力した単語に関係しそうな登録済みのバグが一覧されます。同様のバグ報告が重複してなされないよう、確認が求められているわけです。同様のバグがないことを確認の上、一番下の No, I need to report a new bug
      20151208-3.png
      をクリックします。

    4. 画面は次のようになります。ここにバグ報告を入力します。
      20151208-4.png
      Summary: は、このバグ報告のタイトルとなります。
      Further information: は、バグ報告の詳細を記入するテキストエリアです。ここには次のような情報を簡潔に記入しましょう。

      • バージョン情報 version KiCadの "ヘルプ→バージョン情報をコピー" で得られるテキスト情報
      • 動作環境 platform Windows7 64bit、OS X、Ubuntu 15.10、等
      • 問題の説明 description
      • 再現方法 how to reproduce
      • 添付ファイル、タグ情報 Tags 問題を説明するスクリーンショットやログファイルを添付したい場合、画面下の Extra options をクリックしてファイルを添付できます。タグ情報もここで入力できます。タグには対象のプログラム名を設定するのが一般的だと思います。 20151208-5.png
    5. 入力した内容を読み返してみてOKだったら Submit Bug Report をクリックしましょう。これでバグ報告は完了です。

    以下は入力例です。バグ報告のテキストエリアはフリーフォーマットなので自分なりに整理して入力するのがよいでしょう。

    - description :
       eeschema generates invalid netlist.
       ...
    
    - how to reproduce :
       When I use component xyz in the eeschema, I get always this issue.
       ...
       I attached the project files that can reproduce this bug.
    
    - platform :
      Windows7 64bit, OS X and Ubuntu 15.10
    
    - KiCad version info :
    Application: kicad
    Version: 4.0.0-stable release build
    wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1009,GCC 5.2.0,wx containers,compatible with 2.8)
    Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
    Boost version: 1.57.0
             USE_WX_GRAPHICS_CONTEXT=OFF
             USE_WX_OVERLAY=OFF
             KICAD_SCRIPTING=ON
             KICAD_SCRIPTING_MODULES=ON
             KICAD_SCRIPTING_WXPYTHON=ON
             USE_FP_LIB_TABLE=HARD_CODED_ON
             BUILD_GITHUB_PLUGIN=ON
    
    

    簡潔に読み易く書きましょう。
    長大なログ等はバグ報告の本文中には貼らずに、別サイトに保管してリンクを貼るようにした方が読み易くなると思います。

    バグ報告では、問題の説明と同じくらいに再現方法を説明することが重要です。再現方法が書かれていないと開発チームが問題を確認することができないからです。再現するための手順を箇条書きにしたり、再現するデータを提供できればベストです。

    バグ報告を通したやり取り

    開発チームがバグ報告を認識して、なんらかの対応がなされたらバグ報告にコメントが付きます。自分の報告したバグならメール通知もされます。
    可能であれば、修正された結果がOKだとか、残念ながらNGだ、という確認結果の報告をコメント欄を使って行いましょう。
    コメントは、該当のバグのページの一番下の Add comment から入力できます。

    既存のバグ報告への参加

    他の人が報告した問題の被害を自分も被っている場合、「自分にも影響あります」と名乗りを上げることができます。

    バグ報告の上部に Does this bug affect you? のリンクがあります。
    20151208-16.png

    ここをクリックして、"Yes, it affects me" をクリックするとこのバグの影響を受けている人数が+1されます。
    20151208-7.png

    影響を受けている人が多いと対応が優先される、かもしれません。
    またこの人数は "Bug heat" (炎のアイコン) に4ポイント加算されるようです。

    影響を受けていることを宣言したバグ報告は、Bugs一覧画面の右側にある " Bugs affecting me" リンクから参照できるようになります。
    20151208-11.png

    Bugsの便利な使い方

    いくつかBugsのTipsをご紹介します。

    バグ報告を検索

    Search で既存のバグ報告を検索できます。問題に出くわしたらまずは検索してみるのが良いと思います。
    20151208-1.png

    バグ一覧の表示項目を変更する

    "Order by:" の左の歯車アイコンをクリックすると、バグ一覧の表示項目が選べます。
    20151208-8.png

    新着順にバグ報告を並べる

    デフォルトでは Importance 順に表示されています。Numberをクリックして降順(▼)で表示すると、新着順でバグ報告を表示させることができます。
    20151208-9.png

    Importance、Status の意味

    最初にBugsを見て思ったのは、ImportanceとStatusがどういう意味で使われていて、どんな基準なのか?でした。以下はこれまでBugsを眺めてきたり、dev-MLを読んだりしてきてなんとなく「こうかな?」というのをまとめてみたものです。

    Importance は優先度です。

    Importance 意味
    CRITICAL クラッシュに至るバグはこれになります
    HIGH, MEDIUM, LOW 優先度の高、中、低
    UNDECIDED 優先度としては低未満?
    WISHLIST 改善要望はこれになります(後述)

    Status は対応状況です。

    Status 意味
    NEW 新規のバグ報告はこれで登録されます
    CONFIRMED バグ報告の現象を確認できたらこれになります
    INCOMPLETE 状況のよく判らないのがこれになる?
    TRIAGED バグ報告のImportanceを選別したらこれ(多分)
    IN PROGRESS 対応中
    FIX COMMITED 修正がコードベースにコミットされた
    FIX RELEASED 修正をリリース済(バグ報告のクローズの扱い)

    デフォルトでは、クローズ扱いの "FIX RELEASED" は表示対象から外されています。全てのバグ報告を一覧に表示したければ、検索ボタン(Search)の右の Advanced search で Status のチェックボックスを全てチェックする必要があります。

    改善要望としてのバグ報告

    Bugsという名前ですが、バグ報告だけでなく改善要望も出すことができます。

    前述のように開発チームが改善要望だと認識したら Importance が WISHLIST に設定されるでしょう。テキストエリアで「これは改善のリクエストです」と宣言しつつ、Tags に wishlist か feature.request を設定しておくと、より早くWISHLISTとして選別してくれると思います。

    改善要望の場合はバグの報告と違って、要望する内容をわかりやすく具体的に記載するのが良いでしょう。必ず対応してもらえると保証はできませんが、要望された内容に賛同する人が多く、開発チームの方針と合致すれば取り入れられる可能性があります。

    おわりに

    KiCadを使うということには、ユーザとしてオープンソースのプロジェクトに参加しているという側面もあり、バグ報告を通してKiCadを改善しつつプロジェクトに貢献もできますよ、というお話でした。

    KiCadをより良くする活動にあなたも参加してみませんか。


    以上、KiCad Advent Calendar 2015 の11日目の投稿でした。
    12日目は asakura さんです。お楽しみに :laughing: