JetpackとGreasemonkeyが似ていると言われる件

たしかに両者は似ているところもあるのだが...
正直、僕はそんなに似ていると言いたくない。何か誤解を与えそうで怖いからだ。

いろいろと書く前に言葉の定義

Jetpack
拡張本体
Greasemonkey
拡張本体
JetpackScript
Jetpackのエンジンで動作するスクリプト
UserScript(ユーザスクリプト)
Greasemonkeyのエンジンで動作するスクリプト

似ているところ

Jetpack, Greasemonkey
  1. どちらも拡張機能であること
  2. どちらもスクリプトのエンジンであること
JetpackScript, UserScript
  1. インストール/アンインストールにFirefox自体の再起動が必要ない
  2. JavaScriptで記述
  3. 制限を緩和するためのAPIがある

似てないところ

JetpackScript, UserScript
  1. 目的
  2. 実行環境
    • UserScriptはSandbox上ではあるが、各コンテンツ内で動作するのに対して、JetpackScriptはFirefox内(というかどのドキュメントにも属さない環境内)で動作*1
    • JetpackScriptは元からDOM関連操作にjQueryが用意されている
    • JetpackScriptはChrome特権を使用でき、やりたい放題できる*2

特に最後のJetpackScriptはChrome特権を使用でき、やりたい放題というのはセキュリティにも関わる部分。UserScriptと同じように気軽にインストールできてて障壁が低い分、慎重さが必要。
この部分を見落としてUserScriptと同じ感覚で配布/インストールされると、いつか痛い目に遭うじゃないかと不安が募る。

余談

なんでこんな事を書いているかというと、

Jetpack lets you extend your browser using JavaScript, much like Greasemonkey. We are happy to announce support for the platform on userscripts.org!

Introducing Jetpack Support  Userscripts.org

なんて事が書かれていて、UserScriptの配布所として有名なuserscripts.orgがJetpackScriptのホスティングを始めてしまったから。
セキュリティ上の不安を d:id:teramako:20090522:p1, d:id:teramako:20090526:p2 でも記述したけど、httpsで接続するとhttpにリダイレクトされ、かつ、コードレビューもなく載せることが出来てしまう userscripts.orgホスティングされるのはとても不安。インストールしようとすると出される警告画面を無視しろと言われているかのようだ。


正直、MozillaJetpackの公開を早まったんじゃないかと思う。AMOなどでSSL付きの通信かつコードレビューできるインフラが整ってから公開すべきだったんじゃないか。
GoogleChromeに対抗したいのは分かるけど、Mozillaがセキュア性を謳うのであれば、危険性にもう少し気を使うべきだったのではなかろうか。

とりあえず、僕としては今のところ他人のJetpackScriptをインストールすることをお勧めしない。Ubiquityも同様(安全な配布場があるなら別だけど)

*1:JetpackScriptの環境内ではグローバルなところにwindowオブジェクトもdocumentオブジェクトも無い

*2:d:id:teramako:20090522:p1, d:id:teramako:20090526:p2 で記述済