Google、断片化対策のためAndroidのSDKに新たな利用条件を設定 62
ストーリー by hylom
オープンだけど非オープン 部門より
オープンだけど非オープン 部門より
あるAnonymous Coward 曰く、
Googleは11月13日にAndroid 4.2 SDKをリリースしたが、その使用許諾条件として、「Android OSの断片化につながるような行為を禁止する」という項目を新たに追加した(ComputerWorld)。
GoogleはAndroid OSのプラットフォームが分裂する「断片化」に強い危機感を持っている模様。断片化のため、Androidアプリが異なる端末で正常に動作しないことが問題になっているようだ。断片化の原因は、メーカーがAndroid端末の独自カスタマイズによるものらしい。
もっともCurrent AnalysisのAvi Greengart氏によれば、原因はGoogleにもあるとしている。新OSをNexusなどの自社端末に優先するため、Google端末とコンシューマ端末で使われているバージョンが異なる期間が長い。このため、ディベロパーの開発に差し障りが出ているのもAndroid OSの断片化の原因だと見ている。
バージョンの違いはフラグメントではないよね。。。 (スコア:4, 参考になる)
まず、今回改訂された利用条件は、アプリ開発者向けに配布されている開発用ソフトウェア(SDK)の利用許諾のことね。Android全体じゃない。これ大事。
次に、テーマになっている「断片化(fragmentation)」は、Androidのソースコードから分化して開発されて、互換性が確認できないプラットフォームのことだと考えるのが妥当だと思う。
大前提として、Androidはオープンソースになってるから、誰でも好きなようにソフトウェアの設計図であるソースコードを手に入れる事が出来るのよ。そして、手に入れたソースコードを改造するのも自由だし、それをつかって製品を作っても(商用利用も)構わない。
ただ、Android端末を作るメーカーそれぞれが好きなように改造したAndroid端末を販売してたら動きがバラバラになっちゃって、アプリがまともに動作しなくなるので、互換性があるかをチェックする仕組みが設けられている。それが互換性テストね。
この互換性テストを通らないと、Androidを名乗ることは出来ない(商標権はGoogleが持っているので)。あと、Google Mapsとか、Google PlayとかGoogle社製のアプリを搭載できない(これらはオープンソースになっていない)。この条件で、Google社は増え続けるAndroid端末の互換性を保とうとしている。
さて、それでも「互換性がなくてもいいや」って、端末を出してくるメーカーがあるわけです。
オープンソースのAndroidをベースにして、互換性テストを通っていない端末は、例えばamazon社の"kindle"とか、日本では楽天が販売している"kobo"。最近だとアリババ会社が、Androidをベースに"Aliyun OS"というのを開発してるけど、これらはみんな互換性テストは通っていない。
これら、派生のプラットフォームを出してる会社は、自分たちのプラットフォームのことを"Androidベース"って言うことが多いんだね。それがわかりやすいので。仮に会社がAndroidベースって大声で言ってなくても、開発者の方は"Androdベース"と認識するわけ。それがわかりやすいので。
んで、これらの端末では、Android向けに作ったアプリがちゃんと動かない場合が多いのよ。互換性が確認できてないんだから当然だよね。
けど、開発者もユーザーも、その端末はAndroidベースで動いているという認識なので、「なんだよー。同じAndroidなのにアプリがまともに動かないよ」となって、結論として『これだからAndroidはだめなんだ』と、なってしまう。
AndroidのVMで動作して、Androidのライブラリを使い、AndroidのSDKでアプリ開発を出来て、みんながAndroidだと思っているけど、実はAndroidと互換性のないプラットフォームが増加する。
これが、狭義の"Androidのフラグメンテーション"。
広義には、Androidのバージョンの違いや、互換性テストを通っているのに存在する細かな差異のことを含めて言ったりもするけど、今回はアプリ開発者に対しての規約変更。端末の動作に関わるフラグメンテーションを起こすなアプリ開発者に言われても困る。アプリ開発者にはどうしようもないんだから。
そんな状況で、kindleやaliyun OSが「互換性のない派生プラットフォーム」であることを知らず、AndroidのSDKを使ってうまく動作しなかったときに、SDKを配布しているGoogle社に報告して、サポートを求めてくる開発者も相当数出てきた。
Androidアプリの開発者は、短い期間で急激に増加したので、どこからどこまでがAndroidなのか。そのあたりの啓蒙が足りていなかった。
また、オープンソースである以上、他の会社が、Androidベースの端末を販売することを完全に止めることは難しい。
なので、今回の規約の改定で、Androidの断片化(フラグメンテーション)を明確に否定する条項を加えたのは、これを加えることで互換性のないプラットフォーム向けのアプリ開発を、自分たちの責任範囲から外すため。
『互換性テスト通ってない端末(フラグメンテーションの原因)を僕らはサポートするつもり無いから、君ら開発者もそのつもりでな!』っていう、Google社からのメッセージなのだと、僕はそう考えています。
結論としたら、普通にAndroidアプリ作ってる分にはまったく影響ないし、互換性のないプラットフォーム向けにアプリ作るときは、そのプラットフォームを出している会社にサポート求めれば良いんだから、全く問題ないはないと思うよ。
Re:バージョンの違いはフラグメントではないよね。。。 (スコア:1)
結論としたら、普通にAndroidアプリ作ってる分にはまったく影響ないし、互換性のないプラットフォーム向けにアプリ作るときは、そのプラットフォームを出している会社にサポート求めれば良いんだから、全く問題ないはないと思うよ。
それができてないから、こんな話してるんじゃないの?
#最後しか読んでない
Re: (スコア:0)
Re: (スコア:0)
#2276683です。
ごめんなさい。「ないはない」ってのは、誤字。「問題ない」と言いたかったんだ。
長々書いてこの誤字はないよね。。。
結局の所、Androidベースって言って、自分たちでは開発用ソフトウェア(SDK)を用意しない、互換性のないプラットフォームに、Google社がNoを突きつけた結果が、この規約変更って言いたかったのよ。
Re:バージョンの違いはフラグメントではないよね。。。 (スコア:1)
Sony Readerやkindle fireはAndroidベースだけど、kobo touch、kobo glo、kindle paperwhiteはQtベースであってAndroidではないな。
kobo arcはGoogle Playも搭載しているAndroid端末
Re: (スコア:0)
kindleシステムのjavaベースの謎フレームワークってQtじゃないよなあ。
法令に基づく表示(恐ろしいことに199ページもある)をQtで検索書けても一カ所も引っかからないし。
本当にQt使ってるの?
ソースはどこ?
Re: (スコア:0)
互換性テストってctsのことかもしれません
Re: (スコア:0)
なんか、Google とかなり密接になって開発しているような端末以外は「Android じゃない」
って思えてくる。
シェア低くない?
ギャラクシーが圧倒的だからかなり多いとも言えるが。
ただ、Kindle 頑張りそうだし。
今後もフラグメントが増えそう。
バージョンの違いも無論。
予言 (スコア:2)
いろんなところから猛反対にあって取り下げる。
#うろ覚えだけど審査通らないとGooglePlayアプリ動かないんじゃなかったっけ?
Re:予言 (スコア:1)
> #うろ覚えだけど審査通らないとGooglePlayアプリ動かないんじゃなかったっけ?
審査もあるし互換性テストも用意されているんですけど、そのテストがザルで、パスしても実際のアプリが動かないことが結構あるんですよ…。
Re: (スコア:0)
アプリ開発者的には大賛成なんだけどね。
メーカーはまあ、縛られたくないだろうなぁ・・・。
嫌ならAndroid使うな、で済む話ではあるんだけど。
Re: (スコア:0)
反対という声を上げるほど組織だった行動ができるくらいなら断片化してないんじゃないかな。
Android開発界隈でされる会話を聞いていると結構すごいよ
たとえば
・加速度センサーがついてるとする(たいてい付いてる)でも、このセンサーが画面ロック中も動くかどうかは機種によってばらばららしい。アプリによってはかなり問題になったりする(歩数計とかね)
多分テストなんて共通仕様の一部部分しか確認してないんじゃないかな。でも、その隙間をメーカーが勝手に解釈されるとアプリ作る側は困るのよ。
# カメラは実機がないと確認できないくらい非互換多いらしい
Re: (スコア:0)
で、画面ロック中の動作についての仕様がどこかにあるの?
仕様化されてない動作を前提にアプリを作るバカが悪い。
Re:予言 (スコア:1)
> 仕様化されてない動作を前提にアプリを作るバカが悪い。
まあ、それはそうなんだけど。
じゃあ「万歩計アプリは機種限定、もしくは終了」ということで。
こういうのって程度問題でさ。Google側としてはやっぱり断片化が元で開発
中止とかそういう事態を減らしたいと考えてるんじゃないのかね。
この件なんか、むしろGoogle側の仕様策定が追い付いてないとも言えるぞ。
Re: (スコア:0)
そう。悪いのは仕様をちゃんと作らないgoogle(と仕様ではなく動作に従って勝手にアプリを作った開発者)
仕様がはっきりしないのなら、googleに問い合わせて、仕様に従ってアプリを作るべき、あるいは仕様をgoogleに策定させるべき(万歩計アプリを「終了」とやらにしたくないのであれば)
なのに元の(#2276933) が
とメーカーが悪いとかいってるので…ねえ。
断片化の原因は、メーカーがAndroid端末の独自カスタマイズによるものらしい。 (スコア:1)
断片化の原因は、メーカーがAndroid端末を独自にカスタマイズしていることらしい。
メーカーによるAndroid端末の独自カスタマイズが断片化の原因らしい。
Re:断片化の原因は、メーカーがAndroid端末の独自カスタマイズによるものらしい。 (スコア:1)
断片化の原因は、メーカーによるAndroid端末の独自カスタマイズらしい。
断片化の原因は、メーカーがAndroid端末を独自にカスタマイズしていることらしい。
メーカーによるAndroid端末の独自カスタマイズが断片化の原因らしい。
Jobs「それ、カスタマイズが原因じゃないか」
# カスタマイズなんてなくてもいいのさ、そう、アイフォーンならね
Re:断片化の原因は、メーカーがAndroid端末の独自カスタマイズによるものらしい。 (スコア:1)
同社製端末しかない筈のiOSもそこそこ断片化してる気がする・・・
断片が把握しやすいから対策しやすい&古い断片の破棄が早いから、目立たないけどさ。
Re: (スコア:0)
どこら辺?
気のせいじゃなくて根拠を書いてよ
Re: (スコア:0)
解像度もですし、iPhone5でアスペクト比が変わったりして、どっちにも対応となると一手間増えましたね。
中のチップの性能が違うのでグラフィックを多用するリアルタイムゲームではどこに合わせるかって問題もあったり。
Androidほどではないにせよ、ある程度は分断化してると思います。
Re: (スコア:0)
機種によっては、特定のセンサが付いてないとかバイブが付いてないとかがあります。
「この機能があるかないか」じゃなく「どの機種か」で切り分けないといけないのが、なんだか微妙な感じで…。
アスペクト比も、画面の縦と横がこのサイズだったらiPhone5、というif文で対応。
この先、アスペクト比が違う端末が出るたびif文が増えるのか? と思いながら調整してました。
Re: (スコア:0)
あ、俺も因果が逆じゃないかと思った。
「アプリが動かないから断片化」じゃなくて
「断片化が起きてるからアプリが動かない」
だよね。
Re: (スコア:0)
親コメが言いたいのは文法がおかしいって事じゃないの?
しかし書いた後に「この文章はおかしいな」って本人は思わないのかね。
Re: (スコア:0)
メーカーによる端末独自のAndroidカスタマイズが断片化の原因らしい。
メーカー独自のカスタマイズのこと?>断片化 (スコア:0)
「デフラグ、デフラグ~」しないといけないことかと思ったら、読み返したら違う?
SSDのプチフリを防止しなきゃ!とGoogleさんが言い出したのかとおもったら。
##そういうのって「断片化」って言ってたっけ?
Re: (スコア:0)
どっちもfragmentationだな。
Re: (スコア:0)
原文では、'fragmentation'と云っているから、この場合「分裂」もとい「分化」くらいが
適当かも知れない。
でも、branchとかforkとも違うよなー。やはり独自カスタマイズとか独自拡張?
Re:メーカー独自のカスタマイズのこと?>断片化 (スコア:1)
細分化でどうでしょう。
Re: (スコア:0)
dialectとか?
Re: (スコア:0)
いや、英語にすんなよ^^;
Re: (スコア:0)
元コメは、「branchとかforkとも違うよなー」に対するものでしょう。
本当に縛れるの? (スコア:0)
もしもしのほうは、PlayやMapアプリを提供しないことで制限かけられるとは思うけど、
たとえば、Kindle Fireみたいなのは、止められるの?
Re:本当に縛れるの? (スコア:1)
Kindle FireがAndroidを改変して使っているのは周知の事実だけど、Amazonはあれを「Androidタブレット」であるとは一言も言っていないので。
OSSなのでソースコードを使って商品を作ることは自由だけど、「Android」の商標はGoogleが持っているから、そうした非コンパチの商品をAndroidと名乗ることはGoogleの商標を侵害することになる。そういう理屈でブレーキがかけられるってことじゃないですかね。
Re: (スコア:0)
kindle fireは、Playアプリの動作は販売元が保証してないんだから、別物と考えていいんじゃない。
Playに乗っかって、かつ断片化した端末が問題なわけで。
キャリアによるゴミアプリ禁止? (スコア:0)
SPモードとかそういうのが足を引っ張ってるとは聞くがそういうことかな。
Re: (スコア:0)
ワンセグやFelicaも怪しそう。FelicaはNFCの流れもあるからまだいいとして、ワンセグチップあたりは
USB接続のデバイスになったりするんだろうか。
Re:キャリアによるゴミアプリ禁止? (スコア:4, 参考になる)
端末メーカーが独自のハードウェアを開発したり、そのためのAPIを追加することを否定しているのではなく、既存APIの挙動を変更するような、明らかにアプリレベルで互換性がなくなる改造を否定していると、どこかで読んだ覚えが。
(確かに抽象的で、境目は曖昧だが)
そもそも、端末メーカーやキャリアによる改造を今さら否定できないだろう。Appleと違って、それらが開放されているからこそ、メーカーやキャリアが飛びついたという面は否定できないだろうから。
Googleは、市場がNexusやそのデッドコピーばかりになり、市場が縮小することは望んでいないだろう。
Re: (スコア:0)
そういうことではなく、おそらくもっと細かい話だと思います。
センサーやNFCは、Android の APIが規定されているため、使い始めるときは同じ手順で問題ないです。(問題の無いように作っている。)
だけど、「さてもう1回使おう」とか、「アプリ間で一つのデバイスを使おう」とすると、メーカーXのA端末は大丈夫なのに、メーカーYのB端末ではメモリリークするといった個別の問題が発生します。
アプリ開発者がデバイスのリソース解放を明記してないからと言えばそれまでなんですけど、それならGoogleがドキュメントに使用手順を明示すべきなんですよ。
そもそも、デバイスドライバの作りや挙動までGoogleが規定しているわけではないから、メーカー間、ひどいと同一メーカーの端末間で非互換性が生じます。
ちなみに、ワンセグは完全にメーカー毎の独自実装であり、一般の開発者は触れられないです。著作権が怖いのかなあ。
Re: (スコア:0)
> アプリ開発者がデバイスのリソース解放を明記してないからと言えばそれまでなんですけど、それならGoogleがドキュメントに使用手順を明示すべきなんですよ。
リソース解放のAPIがあるのはなんでなのか、ちょっと考えれば使用手順ぐらいわかるでしょう。
いちいちコード例がないとプログラムできないコピペプログラマじゃあるまいし。
Re: (スコア:0)
別に拡張するのはいいよ。ただ、標準API叩いてもハードコーディングされたと思わしき何かが返ってくるとか
公式ドキュメントに書いてある仕様が保証されない、とか
そういうのを避けてくれればいい。
断片化は諸刃の剣 (スコア:0)
ハードウェアの設計が自由なんだからそれに付随してソフトの断片化は避けられないんじゃないの?
もし厳格なレギュレーションを導入したら、androidの利点をスポイルしてしまうことになるんじゃないかな。
玉石混淆だけど、安かろう悪かろうっていう二流、三流品でも世の中には需要があって
それができるプラットフォームは現状androidだけでしょ。
Re: (スコア:0)
顧客やエンドユーザーにそれを言うと罵声が飛んでくるのが現状なんだ
温暖化対策に空目したのは (スコア:0)
俺だけでいい.
温暖化対策のためのアプリルールとは?まで考えてしまった.
Re: (スコア:0)
CPUに負荷がかかりすぎる処理はしない
ARROWSは何やっても熱すぎるから基本的に非対応とする
とか?w
あいまいすぎて何がよくて何がダメなんだかさっぱり (スコア:0)
もっと具体的に書いてもらわないと対応できないと思うのですが…
一般的に、グロスマといわれているHTC (スコア:0)
の方が、その辺の国産のものより、ずっと独自改変部分が多かったりする。
ただいまデフラグ中 (スコア:0)
なんか昔会社でやたらデフラグしてさぼっている先輩がいた(複数)。
最近はみかけない。
Re: (スコア:0)
きっと現在はデスマ中なんでせう
先輩が、なのか自分が、なのかは知らん
やれやれ (スコア:0)
またIS01の話かー!
なるほど (スコア:0)
スマホでも、ディスクの断片化はあるのね
とか思ってしまった。 orz
# 関係ないのでAC