- Safari Developer News-
Safari の Seed プログラム公開中止に関する意見と、Web サイト「アップルルーム」へのコメント

(初出:Mar 25, 2003)
(改訂:Apr 1, 2003)

Apple が Safari の seed プログラムでの公開中止を受けて、いままで seed の事を知らなかった人に読んでほしいことです。あと、「アップルルーム」という Web サイトの 3/24 の記事にコメントを付けいています。

4/1 の改訂:現在、アップルルームから関連記事のバックナンバーが削除されています。それを受けて、後半の記事へのコメントを削除、変更しました。アップルルームが何だって?という人は、アップルルームのSafari Seed問題まとめページへどうぞ。


Seed とパブリックベータの違い

ふつう、ソフトウェアベンダからリリースされるソフトには、いくつか段階があるんだ。よくあるのは、ベータリリースと正式リリース。いろいろなところで定義は異なるけど、ベータリリースは致命的なバグはあらかた取り除いて、ユーザに改良点をフィードバックしてもらったり、特殊なケースでのバグをレポートしてもらうもの。最近は、広くユーザに使ってもらうことで、宣伝の意味合いを兼ねていることもあるね。

Apple は、あまりベータ配布はやっていなかったけど、最近は Mac OS X public beta や、Safari public beta のように、ベータを配るソフトウェアもでてきた。テストと宣伝を兼ねているような雰囲気だけどね。

そして Apple はもう 1 つ、seed プログラムっていうものも配布しているんだ。Seed はデベロッパ向けの配布で、正式リリース前のものを提供するんだ。Apple Developer Connection (ADC) というプログラムのうち、Premier と Select 向けに配布するもの。その目的は、早期にアプリケーション互換のテストをしたり、開発上でのバグレポートをしてもらうためのもの。たとえば、Mac OS X の次期バージョンの途中段階のものを配布して、互換性をテストしてもらうとかね。

この seed とパブリックベータは、まったく別物だ。ポイントだからもう一回強調して言おう。Seed とパブリックベータは、まったく別物だ。まず、目的が違う。パブリックベータは広く一般に使ってもらうもの、seed はデベロッパが開発で使うもの。だから、完成度もぜんぜん違うんだ。一般的にいって、seed ソフトウェアは未完成だ。そこからデベロッパと協力しながら仕上げていくものだから。パブリックベータはそれなりに動くものになっているはず。

Safari の場合は、v60 がパブリックベータで、v64、v67 は seed だ。ビルド番号が続いているから、一見バージョンアップを重ねているように見えるかもしれないけど、seed がパブリックベータより完成度が高くなっている保証は全然ない。新しい機能を入れたりして、むしろ下がっているかもしれない。パブリックベータとしてリリースする、と決めたビルドに関しては、安定性を重視してくるはずだ。そこんとこ、誤解しないでくれ。


Seed が出回ることの問題

今回、seed が出回ったことを受けて、Apple は Safari の seed での提供を中止した。じゃあ、なぜ seed が出回ると困るのか?

ポセイドンこと田中さんが 3/25 日の記事で、的確な指摘を行っているよ。

「AppleのSeedingとPublic Betaの違いは、例えばオープンソースな開発で言うNightlyとMilestoneの関係に近いと思う。」

Seed は新機能をとりあえず入れてみた、という感じのもので、動作保証はまったくされていない。実行環境に致命的な問題を与える可能性(たとえばファイルを削除するとか)もあるんだ。オープンソースの場合は、みんなそれを承知の上で使っている(はず)。クレームを付けられても、究極的には「ソースを見ろ」で逃げることもできるかもね。だけど Apple は企業としてソフトウェアを配布しているんだ。企業としては、実行環境に影響を与える可能性がるものを、ユーザの手に渡すわけにはいかない。「これは seed だから」といっても、知らないユーザは知らないし、最悪訴訟沙汰になりかねないんだ。

Seed は危険なんだ。保証されているソフトウェアではない。だけど、知らないユーザが見たら、「まーた Apple がひどいソフトウェアを配付しているよ」ってことになってしまう。これは一般に公開しているソフトウェアじゃないのに。Apple ブランドが付いている以上、Apple は seed が広まるのを防ぐだろう。


バグレポートの条件

一部には、「seed が出回った方が、バグレポートが増えてデバッグが進む」という意見もあったみたいだね。これはまったく的外れで、しかもその逆だ。「Seed が多数出回ると、デバッグ作業に支障が出る」んだ。

ほんとのことをいうと、効果的なバグレポートを書くということはすごく難しい。それに開発の段階によって、必要とされるレポートも違うんだ。「どこどこの Web サイトがうまく見えなかったよ」というレポートは、パブリックベータレベルでは有用なんだけれど、seed レベルではあまり役に立たない。

開発段階でバグレポートをするには、まず実行環境を特定しておくことが重要なんだ。マシンの設定は?OS のバージョンは?使用するソフトウェアは?変なユーティリティとか入れてないよね?次に、問題を起こす動作手順。起動はいつしたの?問題のページにはどうやっていった?他にアプリケーション立ち上げている?

Seed デベロッパの人たちは、こうした上でバグレポートを送っているはずだ(たぶん)。Seed ソフトウェアに求められるレポートは、こういうレベルだ。

もちろん、パブリックベータでのレポートは違う。ここで求められるのは、実際のユーザの実行環境でのテストだからね。がんがん他のアプリを立ち上げて、無茶な使い方をしてもいい。

Seed が出回ってしまって、一般ユーザから seed バージョンへの多くのバグレポートが届くと、価値のあるバグレポートが埋もれてしまうんだ。想像すると分かると思うけど、たくさんのメールの中から、きちんとしたレポートを探し出すのは至難の業だと思うよ。Seed ソフトウェアに求められるレポートと、パブリックベータに求められるレポートは、違うんだ。


ユーザとデベロッパと Apple の関係

「じゃあ、seed ソフトウェアに追跡機能をつけて、リークしたやつを特定すればいいじゃん」っていう意見も見かけた。やってできないことはないけど、非現実的だ。

たとえば、ソフトウェアにユニーク ID を振るとか、動作中の Mac の情報を集めて Apple に送るとかね。それは一種のスパイウェアになりかねない。そんなソフトウェアを配布したら、デベロッパから反発を食らうし、これも訴訟沙汰になりかねない。

またはソフトウェアの起動するときにライセンスを発行する、ライセンスサーバを立てる、という案もあるかもしれない。でもそれをやると、Apple にもデベロッパにもコスト負担がかかって、最終的にユーザに跳ね返ってくることになるよ。そもそも、未完成のソフトウェアのためにライセンスサーバを立てるなんて、本末転倒だよね。

基本的に、seeding プログラムっていうのは、できるだけ速やかにユーザに新しいソフトウェアを渡すためにあるんだ。そのために、Apple は流出する可能性があるのを当然知りながらも、そのまま配布している。いわば、ゆるやかな善意に基づいてるんだ。

Seed の流出を勧めるような行為は、ユーザとデベロッパと Apple の間にある、ゆるやかな善意を踏みにじる行為だ。このようなことがあれば、デベロッパと Apple の態度は硬化せざるを得ない。とうぜんソフトウェアの開発も遅れて、ユーザに跳ね返ってくる。Seed の流出を煽ることは、ユーザにとってこれっぽっちも利益にならないことを覚えておいてくれ。

今回の件で直接の被害を食らったのは、デベロッパの人たちだ。非常に苦々しい思いで見ている。だから、いままで seed のことを知らなかった人たちに言いたいんだ。Seed がどこからダウンロードできるかを聞くのは、やめてくれ。Seed を再配布するのもやめてくれ。それらの行為が、ユーザ、デベロッパ、Apple みんなの首を締めることになるんだ。


アップルルームへのコメント

今回の件に関連して、アップルルームというサイトがあったんだ。このサイトでは、流出した Safari の seed へのリンクを掲載したり、seed が中止になったときに、中止になって「よかった」という発言をしてたんだ。サイトの管理人が何を考えようが勝手だけど、もしこのような見方が Mac ユーザの中に広まるこことは、はっきりいって好ましくない。この件が、この文章をかかせた直接的な動機なんだ。

この文章を公開したときは、「よかった」発言を批判するコメントをここに掲載していた。4/1 現在で、これらの件に関するバックナンバーは削除されたようなんだ。削除されたといっても、アップルルームの管理人が seed の中止を「よかった」と思う気持ちが変わったのかどうかは、現在掲載されている文章からは分からない。ただ、もともとの記事が削除された以上、アップルルームを批判することが本来の目的ではないので、ここでも記事へのコメントは削除しておくよ。

でも、アップルルームの書いた記事によって、seed を手にした人がいることも事実だと思う。だからこの文だけは残しておきたいんだ。


(アップルルーム)
ユーザーひとりひとりに意見はあって、違うものでしょうからね(^^)。

もちろん、ひとりひとりに意見はある。そして、間違いは指摘されなくてはいけない。あなたの意見は直接的にデベロッパに被害を及ぼし、間接的にユーザの不利益になるものなんだ。

これを読んだ人のうちで、いままで seed プログラムのことを知らなかった人は、少し想像力を働かしてほしい。そして、seed の流出がなぜ問題になるのか気が付いてほしいんだ。


参考リンク

Seeding プログラム

アップルルーム

Safari の Seed 中止とアップルルーム

何かあるなら mkino までメールでどうぞ(mailto: mkino@xd5.so-net.ne.jp


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論]

mailto: mkino@xd5.so-net.ne.jp