GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Abel Avram , 翻訳者 大田 緑 - (株)チェンジビジョン 投稿日 2009年10月8日
Googleが、最近、Steve Kondik氏に対して停止命令を出した。Kondik氏は、CyanogenModを作ったAndroid開発者として知られている。CyanogenModは、無料で公開されているカスタマイズしたAndroidファームウェアであり、Maps、GMail、Talk、YouTube、Marketなどのオープンソースではないアプリケーションをバンドルしている。これがGoogleと開発者の最初の衝突だと見る人もいる。
CyanogenModは30,000 Android携帯電話にインストールされ、初期設定にはない機能が含まれているため、ユーザたちに感謝されている。 Kondik氏が語ったところによると、同氏はAndroidのフレームワークにも取り組んできた。
AOSP(Android Open Source Project)のコードをいろいろ変更し、他のコードをたくさん追加しました。もっといいDroidを作ったのです。
それにもかかわらず、Kondik氏は今ではCyanogenMod配布の停止命令を受け取っている。GoogleのAndroid開発者であるDan Morrill氏の説明によると、GoogleはAndroidを誰でも使えるようにプラットフォームフリーにしたが、パートナーにライセンスを供与することで利益を出せるようにするため、一部のアプリケーションは公開していなかった。
私たちは、同じ考えを持つパートナーのグループであるOpen Handset Allianceを作りました。そして、私たちがあったらいいと思うプラットフォームになるようにAndroidを作りました。広く導入されるようにAndroidをオープンソースにしました。Googleは、また、 開発者たちがAndroidユーザへアプリケーションを配布するためのサービスとして、Android Marketを作って活動しています。言い換えれば、この産業でオープン化の導入が必要だったため、Androidを作ったのです。今日、私たちは、開発者、ユーザ、そして、携帯産業にいる人たちがAndroidに対して見せているすべての熱狂を見ることに興奮しています。
高品質のオープンプラットフォームを手にして、私たちはサービスをユーザの携帯電話で使えるようにするという目的に戻りました。だから、YouTube、Gmail、Google Voiceなどの多くのサービスのためにAndroidアプリケーションを開発したのです。これらのアプリケーションは、他の開発者たちがしているのと同じように、GoogleがAndroidから利益を得る方法です。しかし、アプリケーションは、Androidプラットフォーム本体の一部ではありません。これらのアプリケーションの一部は、Android Marketを通して、Androidで動くデバイスのユーザが利用できるようにしています。他のアプリケーションは、ビジネス上の取引により一部の携帯電話にプレインストールされています。どちらの方法であっても、これらのアプリケーションはオープンソースではなく、Androidのソースコードリポジトリには含まれていません。このソフトウェアを許可を得ず配布することは、善意で行われたとしても、他のビジネスと同様に私たちにとって損失となります。
メッセージはKondik氏にとって明らかだ。: Androidにはイエス、GMail、Mapsや他のアプリケーションにはノー。Kondik氏はこれらのアプリケーションを外すことを決め、CyanogenModユーザには最初にアプリケーションのバックアップをとるように指示を出した。新しいファームウェアをイントールした後で、バックアップをとったアプリケーションは元に戻すことができる。
誰の権利も侵すことなく、エンドユーザや改造マニアとしてできることはたくさんあります。もっとも重要なことは、私たちがソフトウェアのバックアップをとる権利があることです。これらのクローズドソースアプリケーションは直接連動していないので、私がすることは、ただCyanogenModの次バージョンを「余分な部分をそぎ落とした」ROMとして出荷することです。あなたは、電話したり、メッセージを送ったり、写真を撮ったりできます。愛用しているGoogle syncやアプリケーションを戻すために、最初にバックアップをとる必要があります。私は、みんなのためにバックアップをとるアプリケーションを作ろうとしています。
すでにデバイスに入っているアプリケーションやファイルで、CyanogenModのインストールをGoogle用にできるということです。または、基本ROMを使いたいならば、そのまま使うことができます。
Kondik氏はTwitterで述べた。
残念なことに、これは、Androidコミュニティにとって熱意を冷ますようなものだと思います。私たちがしていることが、今では違法行為だと思われるのだから。
Googleの行動が間違いだと考える人もいる。
Googleは、法律的に有利な立場にいるかもしれませんが、開発者の信頼に関して言えば、結局自分の首を絞めています。Androidの流れの多くの部分は、開発者の大きなコミュニティに育てられました。開発者たちはファンであり、純粋な熱意からオペレーティングシステムのためにCyanogenのような素晴らしいモジュールを作った人たちです。これは信頼に基づくオープンな開発者コミュニティです。9月25日から見られる怒りの大部分はこのコミュニティから来ています。コミュニティの人たちは裏切られたと感じています。
また、Googleは開発者に無関心なことを示していると考える人もいる。
Googleは確かに法律的な権利を守る資格があり、Cyanogenの論争中、まさにそのようにしたのです。この出来事の不幸な面は、Googleのプラットフォームをより良くしようとしているサードパーティの開発者たちのコミュニティに対して確固とした無関心をより一層示していることです。Androidは、Appleの塀に囲まれた庭に対するオープンな解決策になる機会がありました。しかし、そうではなくて、ただ低い塀に囲まれた庭になったのです。
Googleは、利益を出したいと思っている他の企業と同じような会社だ。Googleのプロジェクトの多くはオープンソースである一方で、利益を上げるためにはクローズドソースのプロジェクトは確かに守りたいところだろう。そうでなければ、Googleだって、ただ荷物を背負って、家に帰るしかないのだ。
【ネクストスケープ】.NET、C#のアプリケーション開発者募集
【豆蔵】「オブジェクト指向を現場で活かすリファクタリング入門」新規講座キャンペーン中
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信