Javaのバグを見つけたんですが…

最近,社内のとある人から,Javaのとあるバグで困っていると相談を受けた.そこで,代わりにバグデータベースを調べてバグレポートを見つけて,もしこのバグなら,このバグに投票してコメントしろと答えたが,それに対する返事はないし,現在もそのバグレポートの投票数が増える気配はまったくない(苦笑)

まあ,自分の仕事で直面する問題を解決して,できる限りよい成果を出そうというほどの気合いがないのかもしれない.それどころか,そういうことをちゃんと実行する仕事に真摯な人は社内的に嫌われるのが日本の企業文化(いや,実は弊社だけだったりして(苦笑))なのかもしれないなあ…と嘆いていたところに,kyukaさんのブログに非常にナイスな投稿があった.

それを元に,Javaのバグを直す方法をざっと振り返ってみよう.

バグデータベースを使って,投票・報告する

まず最初にやるべきことは,バグデータベースを検索すること.そして,類似のバグがあったらすかさず投票しよう.なければ,バグレポートをしよう.これについては,下記に非常に丁寧に紹介されている.

http://blogs.sun.com/roller/page/yk?entry=vote_vote_vote

周囲と問題点を共有する

次に問題点を周囲の人と共有しよう.それで解決策が見つかれば,バグレポートのコメント欄で報告すればよいし,見つからないとして同じ問題を共有している人にも投票しよう.

下記に書かれているように,ランキング上位に掲載されたバグレポートやRFEはかなりのプレッシャーを与える.実際,JSR-204の時にも,ファイルロック機能は投票のおかげで入ったのだ.

http://blogs.sun.com/roller/page/yk?entry=top_25_bugs

そのバグの修正を必要とする人達による組織票は悪ではないっ!

JCPにコメントする・エキスパートグループに参加する

上記で直らない場合に多いのは,実装ではなく仕様の問題ということがよくある.この場合は,JCPのJSRの一覧を調べて,該当するJSRを見つけ出し,そのページの"Please direct comments on this JSR to: jsr-???-comments@jcp.org"という部分を探し出して,そのメールアドレスにコメントを送ろう.ただし,一般的に異なるバージョンの仕様策定作業は別の番号になることが多いので,最新のJSR(リストの下の方)に送るようにしよう.

http://jcp.org/en/jsr/all

もちろん,そのエキスパートグループに加わるのは,もっと効果的だ.基本的に企業の技術者が多いとは思うが,個人で参加することもできるので,ぜひチャレンジして頂きたい.

なお,蛇足だが,NIOがイマイチこなれてないとか,ファイルシステムとのインタフェースが機能不足とかいう話に関しては,もしかすると協力できるかもしれないので,私に教えて頂きたい.

いっそのこと自分で修正する:-)

次期のMustangは,java.net上で開発されている.(残念ながら私はやったことがないが,)以下のようにその修正を反映することは可能だ.

https://mustang.dev.java.net/collaborate.html