そこの君、 バグ報告から始める mozillaへのcontributeのやり方...

41
そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい saneyuki_s

Upload: tetsuharu-ohzeki

Post on 25-May-2015

1.994 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

そこの君、バグ報告から始める

Mozillaへのcontributeのやり方教えてあげるからちょっと来なさい

saneyuki_s

Page 2: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

About Me

• saneyuki_s• とんかつ好き• 動いてる場所• Firefoxのフロントエンド• ドキュメント翻訳• アドオン開発

Page 3: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

お品書き

1.バグ報告というOSS contribute

2. Firefoxにおけるバグの修正ステップ

Page 4: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

バグの報告丁寧にできてますか?

Page 5: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

バッドパターン

Page 6: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

なぜbadなのか?

Page 7: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

なぜbadなのか

•前提となる状況(環境)がわからない•再現手順がわからない•「どうしてほしいのか?」が不明瞭

Page 8: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

必要な情報

•再現環境(絞り込めた方がよい)•再現手順(絞り込めた方がよい)•本来望まれる結果(具体的に)

Page 9: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

必要な情報(Firefoxの場合)• 再現環境• OS, CPUアーキテクチャ、ビルド元• アドオンも最小限度に。セーフモードで絞り込む• 再現手順• 適度な粒度で最小限に• 本来望まれる結果• 具体的にはっきりと。

Page 10: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

Firefox/Thunderbird で参照すべきは

about:support必要な情報が詰まっている

Page 11: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

about:support

•変更された本体設定•インストールされてるアドオン•本体バージョン•HWAの動作の有無•ビルド元revision→about:buildconfig

Page 12: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

Mozillaのバグ修正篇

Page 13: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

Mozilla製品のバグの報告先

• bugzilla.mozilla.org•通称BMOないし「bugzilla」• Github etc...• 新規実験プロジェクトは殆どこっち•(実装者本人)

Page 14: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

STEP 1バグを登録する

Page 15: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

バグを登録する

•基本は今まで説明した通りで大丈夫•関係してそうな人をCCに突っ込む•テストケースを追加すると尚良い

Page 16: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

STEP 2パッチを書く

Page 17: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

パッチを書く

•参照すべきドキュメント:たくさんある• https://developer.mozilla.org/en-US/docs/Developer_Guide

•詰まったらfeedbackを誰かに依頼する•コードとにらめっこが基本•テストケースの追加も必要

Page 18: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

パッチをレビューしてもらう

Page 19: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

レビューしてもらう•最大の難所• レビュアーがわからない場合は探す• https://wiki.mozilla.org/Modules• レビュー以来して放置プレイよくある• コードバトルっぽいやりとりになる• 諦めずに説明するのが重要

Page 20: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

ソースツリーにland

Page 21: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

ツリーにland

• BMOなら該当バグにcheckin-neededフラグを付ける

• Githubの場合はpull requestからの自然な流れ

•(自分でland)

Page 22: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

バグ修正完了!

1.バグを登録

2.パッチを書く

3.コードレビュー

4.ソースツリーにland

Page 23: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

こぼればなし

Page 24: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

こぼればなし※個人の感覚であり

実際とは異なる場合があります

Page 25: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

voteは意味ない?case 1

Page 26: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

*chのFirefoxスレで見かけるレス

「2*hで騒いでないで、直してほしいんだったら

voteしろよ」

Page 27: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

bugzillaのvote機能

Page 28: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

voteは意味ない?

• voteは目安• そもそもデフォルトでメール通知が来ない• 長期的な修正目標には考慮されるけど「すぐに直してほしい」場合には使えない

•変更に疑問・不満があるのなら、内容が重複していてもコメントすべき

Page 29: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

直し易いバグ直し難いバグ

case 2

Page 30: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

登録したバグが必ず修正できるとは限らない

Page 31: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

• 根拠が例示されているバグは直しやすい•仕様に準拠していない•こうするとセキュリティホール•このケースで落ちる

Page 32: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

• 根拠の判断基準が難しいバグは直し難い•こんなUIはおかしい(実装の修正なら簡単)

•デザインがおかしい•UI系は担当者によっては放置プレイ・問答無用のWONTFIXとかフツー

Page 33: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

パッチの自動テストcase 3

Page 34: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

パッチのレビュー中にしばし言われるコメント

「このパッチ、テストしてある?」

Page 35: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

テスト(・ω・)?

Page 36: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

提出されたパッチはテストをPASSする必要がある

•テストツールたくさんある•全プラットフォームでテストの必要がある

•正直、個人では難しい規模

Page 37: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

じゃあどうする?

•テストをしぼって実行•頑張って全部実行•コミッタに頼んでMozillaのテストサーバを使う←簡単!

Page 38: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

個人的に感じた大切なこと

Page 39: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

OSSにおいて重要な物

Page 40: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

OSSにおいて重要な物コミュニケーション

Page 41: そこの君、 バグ報告から始める Mozillaへのcontributeのやり方 教えてあげるからちょっと来なさい

Any Question?