タイトル【小池邦人のプログラミング日記】2000/12/11<Apple社へバグを報告しよう!>カテゴリー開発情報, 小池邦人のプログラミング日記
作成日2000/12/11 23:24:31作成者新居雅行
何やらApple社が2001年2月24日にMac OS Xの正式版を発表するという噂が流れております(笑)。この噂が本当かどうかは定かではありませんが、とりあえず約束の時期としては妥当な線です。ただ、Mac OS Xパブリックβ版の「でき」と、それに対してユーザから届いているはずの大量のフィードバックを考えると、「本当にこの時期?」という疑問が湧いてきます。フィードバックされた項目を整理し、重要項目を再実装するのには、少々時間がなさすぎるような気がします。β版の発表とユーザからのフィードバックの収集は、Apple社自身が始めた事です。β版での不満をそこそこ解消し、ユーザが納得できる製品に仕上げていないと、その反動は何倍にもなってApple社自身に跳ね返って来るはずです。
このイベントは、そうした意味でも、Apple社の能力やユーザに対する姿勢を判断するのにもってこいの試金石となりそうです。この噂が本当ならば、Apple社側としては、最近のマイナスイメージを払拭しようという狙いがあるのかもしれません。しかし、私としては、あまり慌てる必要はないと思います。もう一回β版を出し、来年のWWDCの時期(5月後半)ぐらいまで延期しても良いのではないでしょうか?(そんな余裕は無いかな...)まあ、どちらにしても、1月のMacWorld Expo サンフランシスコでJobsが正式な出荷日を発表するでしょうから(多分?)その時を楽しみに待ちたいと思います。

今回は、Apple社のOS、SDK(開発環境)、ソフトなどにバグを発見した時のフィードバック方法を説明してみたいと思います。それをするのには、まずADC(Apple Developer Connection)メンバーになっておく必要があります。対象となるメンバーの種類はPremierやSelectメンバーだけでなく、オンラインメンバーでも構いません。ADCの仕組みや会員になるための手続きについては、以下の日本語サイトに詳しく解説されていますので、今回は省略いたします。
◇Apple Developer Connection
 http://developer.apple.com/ja/

バグを報告できる対象は、すでに製品として発表されている物でも、まだ開発中の物でもかまいません。例えば、発表済みのCarbonLib v1.04 SDKのバグでも、開発途中のCarbonLib v1.2f3 SDKのバグでも同様にフィードバックすることができます。バグレポートを受け付けているApple社の窓口は、全世界共通の以下のサイトです。
◇Bug Reporter
 http://developer.apple.com/bugreporter/

このサイトの先頭の方にも「まずはADCに加入すること」というメッセージがあります。ADCメンバーの方は、表示されているステップ(2)か(3)をクリックして「Bug Reporting」のページに入ります。ここで「Login to the Apple Bugreporter 」をクリックしてください。すると、ADCメンバー専用サイトへ入るためにIDとパスワードを聞かれます。指示に従い両者を入力すると「Apple WWW Bug Reporter」のメニューページへ入ることができます。そこには、利用者への注意書きに加えて「New Problem」と「Problems I Originated」という2つのボタンが用意されています。
そのうち「Problems I Originated」ボタンの方をクリックすると、自分が過去に送ったバグレポートの一覧表が表示され、現在のバグの対応状況(シリアル番号など)を確認することができます。こうした一覧表の項目が、バグが解決された時点で消去されるのか?ある程度時間が経つと消去されるのか?どちらなのかは未確認です。ただし、もし報告したバグについての進展があれば、一覧表をクリックして表示されるフォームで情報を追加することが可能です。

新規バグを報告するためには「New Problem」ボタンをクリックします。残念ながらフォームへ入力できるのは英語のみとなっています。本当は、各国から母国語により報告できるとベストなのですが、こうした改善は当分望めそうにありません(涙)。バグレポートの入力フォームは「Problem Description」「Configuration Imformation」「Contact Information」の3つのグループに分けられています。
「Problem Description」には、どんな状況でどんなバグが発生したのかを詳しく記載します。まずはバグのタイトルを簡潔に明記し、バグが発生したときの操作手順や再現性、そのバグの回避方法が有るのか無いのかといった内容を記載します。続いて「Configuration Imformation」には、そのバグが発生している、Macintoshの機種やメモリ容量、周辺機器環境、Mac OSのバージョン、インストールしている機能拡張やドライバの種類、ネットワークのConfiguration等を詳しく記載します。最後の「Contact Information」にはバグ報告者の連絡先等を明記するのですが、ここには、あらかじめADCメンバー加入時に連絡しておいた住所や名前が代入されていますので、ほとんど追加事項はありません。また、入力フォームに書き込むべき内容についてはサンプル(例題)と共にヘルプページに詳しく載っています。よって、先んじてそちらを参照して作業を始めると、効率的にバグレポートを作成できると思われます。

さてレポートを作り終えてApple社へ転送すると、そのバグがデータベースに登録され、しばらくすると登録完了を伝えるメールが手元に届きます。後はバグが取れるのをひたすら祈る訳ですが、こうして連絡したバグが「いつ」フィックスされるかは保証されていません。Apple側にとって重要で、かつ再現性がハッキリしているバグは、割と早くフィックスされるでしょう。しかしそうでない物に関しては、はっきり言ってかなり不明確なのです。開発中のテクノロジーについては、ADCメンバー同士や担当技術者とのメーリングリストもあり、そちらで情報交換する手もあります。しかし、自社製品にダイレクトに影響を及ぼすようなバグの場合には、上記システムで報告しているような悠長な時間はありません。

もう一つのバグ報告手段としては、ADCの「テクニカルサポート」サービスがあります。こちらは、Apple社のデベロッパ・テクニカル・サポートエンジニアに直接メールを送り、質問に答えてもらうという有償サービスです。例えばADCのSelectメンバーの場合には、メンバーに加入した時点で2件分(たった2件という意見多し)の権利を与えられています。嬉しいことに、このサービスに限り日本語で記述したメールも受け付けてくれます。メール内容のガイドラインや詳しい手順などについては、以下のサイトを参照してみてください。
◇テクニカルサポート
 http://developer.apple.com/ja/products/techsupport/

では、2件分の権利を使い切ってしまったらどうすれば良いかと言うと、追加分をApple社から購入することになります。現在、1件分がUS$195 、10件パックがUS$1900、25件パックがUS$4625、50件パックがUS$9000で別途販売されています。なんと10件パックでメモリ増設したCubeが購入できてしまう値段となっています(涙)。
自社製品に弊害が出るような重大なバグは、とにかく早急に回答を得られないと困ります。よって、質問者側で準備できる事はすべてやるといった謙虚な態度が必要です(納得いかないかもしれませんが...)。Appleの技術担当がバグを即座に再現できるように、サンプルソースや実行環境をメールに添付することも必須です。で、ここでよく考えて見ると(よく考えなくても)Apple社にとっても有益な「バグを情報」を、デベロッパは有償サービスを使い報告しているわけです(涙)。一般的で重大なバグを報告すれば、その件に関しては有料サービスであることを免除してくれるという話しもあります(これは良心的)。しかし、そのような規定は明記されていませんし(と思う)、問題がApple側のバグのせいなのかどうかは報告してみないと正確に判断できないのも事実です。両者の負担をなるべく軽くするためにも、もう少し気軽かつ効果的なバグ報告のためのシステムを構築することはできないものでしょうか?
[小池邦人/オッティモ]
関連リンクオッティモ