Sun最高オープンソース責任者,「Google App Engine」のJavaサブセット化を批判:ITpro

Sun最高オープンソース責任者,「Google App Engine」のJavaサブセット化を批判:ITpro

やっぱりCloud環境でリソースを故意だろうが過失だろうが食いまくられてはかなわんという事なんだろうと思うけど、その対策として、利用が許可されているパッケージ一覧(ホワイトリスト)なんてものが用意されている。まぁセキュリティの観点からすれば「未知のものはダメ」「疑わしきは罰する」「白以外の灰色はすべて黒」方向での制限は当たり前なんだけど、Human-Readableじゃないというか、ああも羅列(書いてる時点で1323)されてしまうとくらくらする。
まぁ、ファイル書き込み系とかスレッド系はCloudの特性から制限されてるとして、どんなのがダメなの?現時点でのBlacklistは?Graylistは?というのが普通のエンジニアの考えるところ。
ちょっと探すと、やはりというか、英語圏の「はてな」であるStackOverflowに質問を発見。具体的な一覧はなかったものの、動作しているフレームワークやら言語やらのリストが示されてた。それによるとJythonはCompiler.compileClassとSecurityException関係に問題があったらしくパッチが出てる。あと、何が制限されているのかという概要もあって、制限の考え方はまぁまぁ見えてくる。
もう少し探すとd:id:uehajさんによる情報も。流石日本人?ということで、Blacklistを作ってる。もちろん流動的なものなのだろうから、その定量的価値は薄いだろうけど、「何をダメとしているか」を探るには良い方法。
それによれば、(ざっと見た目で)

  • アプレット
  • GUI(AWT/Swing等)
  • 音声
  • コンソール
  • ネットワーク
  • ファイル出力
  • データベース
  • スレッド
  • RPC系(RMI/OMG/SOAP等)

あたりみたい。まぁどれも穏当な気がする。画像を動的に生成するのはどうする?と一瞬思ったけどそれなりのAPIが用意されてるから大丈夫か。