この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2006年8月)

2006年8月8日

バグを修正したいんですけど、どうすれば良いですか?
初回投稿日時: 2006年08月08日03時13分36秒
カテゴリ: Firefox Mozilla Core SeaMonkey Thunderbird 雑談
SNS: (list)

よく聞かれることなので、FAQをば。

バグを修正するにはどの程度の知識が必要ですか?

修正するバグに依ります。

例えば、UI上の動作を修正したい場合、ほとんどの場合はJavascriptを少しいじれれば可能です。この場合、ビルド環境すら必要ありません。最新のTrunkビルドと、zip形式の解凍、圧縮ソフトとテキストエディタがあれば十分です。

レンダリングや、ネットワークの機能を改善したい場合、C++に関する基本的な知識が必要になります。もし、OSやツールキットに対してネイティブな箇所を修正しようとするのであれば、そのプラットフォームの知識が必要になりますが、より多くの箇所は完全にクロスプラットフォーム化されているため、その知識すら必要ありません。

そして、基本設計に関わるような大きな問題では無い限り、大抵はひとつのモジュール(大抵は2から3の.cppファイルや.hファイル)を修正するだけです。つまり、全体を把握する必要はありません。局所的にソースコードを読むことができれば、それは修正するのに十分な知識であることが多いです。

どのバグから修正すれば良いのですか?

修正したいバグから修正してください。本家のバグ登録件数は既に30万件を突破しており、修正済みのものを差し引いても、十分すぎる数のバグが存在しています。

ただし、いきなりenhancement(要望)の修正に挑戦すると挫折することになるかもしれません。enhancementの修正はある意味で最も日本人が不得意とする分野でしょう。enhancementを修正するためにはかなりのディスカッション能力を要求されることが多々あります。

UIの変更もこれに似ているので、やはり最初はバックエンドから取りかかった方が無難と言えます。

英語が苦手なのですが、どうすれば良いですか?

あなたには二つの選択肢があります。

一つ目は、片言の英語であっても無理矢理相手との意思疎通を図る努力をすることです。私も英語の会話能力は全くありません。しかし、高校に進学できた人の英語力であれば、大抵の場合、bugzillaでの会話はなんとかなります。リアルタイムの会話ではないので分からない単語は辞書を使えば済むことです。

二つ目は、bugzilla-jpを活用することです。私が賛同できないenhancementの修正を除き、私が代行作業を行うことは可能です。この方法での修正には既に実績があります。bugzilla-jpで私をCCに加えて、代行を依頼してください。

ソースコードが巨大すぎて、どこを修正すれば良いのか分かりません

私も日常茶飯事のことです。特定のモジュールで作業しているハッカー以外はおそらく全員そうでしょう。

Bugzillaで似たようなバグで修正済みのものを探してください。そうすれば余程古いバグ(Netscape社が主導権を握っていた時代のもの)でない限り、修正パッチがバグに添付されています。そのパッチから関連するモジュールのソースコードを見つけることができます。

関連するかもしれないエントリ

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。