SmultronがSparkleを使用しない理由

Smultronは非常に高い頻度でバージョンアップされるテキストエディタなのですが、あんまり頻繁なので面倒なわけで、CyberduckのようにSparkleを使って自動アップデート機能を登載してくれると嬉しいなぁとか思ったら、どうやら同じことを思っている人がいたみたいで、開発Folumにそういう投稿がありました。しかもつい最近。
Smultron Open Discussion --Please use the Sparkle framework >self-update

Please use the Sparkle framework >self-update
By: Didz (doswald) - 2006-11-12 21:33

Smultron is a updated quite often, and the current "check for update and download from sourceforge" feature is really annoying. Why not using the Sparkle framework, like in Adium for example ? It's robust, free and open-source (MIT License).

Having this self-update engine would be very nice.

"Sparkle is a module that developers can stick in their Cocoa applications (five-step install!) to get instant self-update functionality." (taken from http://andymatuschak.org/pages/sparkle).

I dont't have any experience in Cocoa but this framework is known for being really easy to use.

んだけど、主開発者のpgw3さんはセキュリティ上の理由から反対しています。

RE: Please use the Sparkle framework >self-update
By: Peter Borg (pgw3Project Admin) - 2006-11-13 12:57

Hi!

It's exactly because it's on a Mac that I think that we developers need to be extra careful, so that we keep the good reputation for security. If I understand things correctly then what Sparkle does is to make the whole application running as root when one authenticates and the problem with that is that a not nice process/application can sort of tag along and then gain root access. What I believe one should do is to separate what one needs to do as root into a separate small application which can only communicate with the main application, and then the small application runs as root.

Of course the risk is small that something bad would happen but as I see it right now it's not worth it.

Cheers,

Peter

私の理解が正しければ、つまりは、Sparkleはアプリケーション全体をroot権限で動かすので嫌だ、ということのようです。
私の個人的意見では、リスクは微々たるものであって実質的に皆無といっても良いように思います。だいたい、悪意あるコードを忍び込ませることができるのはpgw3さん自身以外ちょっと考えられない。
むしろこれはアプリケーションのプロセスの権限をめぐる哲学上の問題であるように見受けられます。確かに美しさでいえば、rootで動く範囲を小さく分離するという設計は理想郷です。
pgw3さんはSparkleを使うことで得られる利便性と、それによって失われるセキュリティ上の安全(や、私の想像では設計の美しさ)を比較衡量しているようですが、開発者自身は得てしてバージョンアップの利便性については無頓着(リリース時にはすでに手元に最新版があるのだから当然だ)なので、この比較衡量も開発者の視点で為されているといえるように思えます。


なにせ基本的に一人で作っているようですし、「自分が欲しいものを作る」という開発者の心情を思えば、我侭も許したいと思わないでも無い。
BSDライセンスなのでSparkleを使うバージョンを派生させてしまえば…と言いたいところだけど、バージョンアップのためのフレームワークである以上、本家に登載されないと本家のバージョンアップに追随できないから無駄。っていうかこういう場合に勝手に派生バージョンを作るのもどうかと思うし。
でもSparkleは便利なんだよねぇ。