技術屋の魂は失わないこの広告は、90日以上更新していないブログに表示しています。2011-11-09Androidのroot取得とJN-DK01ここには会社に所属する人間としての意見ではなく個人の意見として書くことにする。このブログを読む人がいたらそこは理解して欲しい。Android端末のroot取得については私自身が個人で購入した端末に対してはきっとやらない。何が起こるかきっちり考え切れるものではないしそれが単純に恐いから。いう使い方を想定して作られているわけではないし知らないところで何かやらかして誰かに迷惑をかけるかもしれない。rootを取りたいという気持ちはわかる。その気持ちの1つは言葉は適切じゃないかもしれないけど探究心だとかそういうものだと思う。GPL部はソース開示しているので見れば何を書いているのかは理解はできる。そこに書いてあるものを改善したり、他の方法を試してみたりする場合にはソースがあっても動作させる環境が必要になる。そこに存在するソフトウエアが動作するハードウェアが必要だというのはそういうものだろうと思うし、オープンソースというのは本来そうあるべきだと思う。GPLで開示している範囲については非常にプリミティブな機能が多いのでそこまで厳密に同じハードウェアでなくても動作検証はある程度はできるのではないかと思っている。いう検証ができないものって何だろうと考えると思いつくのはその端末に固有のデバイスを操作するためのデバイスドライバがそれに相当すると思う。デバイスドライバのソフトウエアを変更する上ではソフトウエアが存在するだけではダメで、そのハードウェアのスペックがわからないと普通は書けない。タイミングなどの問題もあるのでソフトウエアでは理論上問題のない内容になっていたとしてもそれが実際に動作するかは別問題だ。いくらソフトウエアやハードウェアをオープンにしたとしてもこの問題は解決できないと思っている。ここでもしも私が部品メーカの立場の人間だったらと考える。部品メーカの人が自分の部品を動かすためのソフトウエアを販売する事で商売するという可能性があるか?と質問されると私はあると思っている。オープンにするソフトウエアは非常に基本的でノウハウの含まないものにしておき、最大限にパフォーマンスを発揮するためには自分たちのノウハウを詰め込んだプロプライエタリなデバイスドライバを販売するという場合だ。ソフトウエアに自信があるのならこういう選択肢もあるだろうけれど、この戦略をとる場合であってもソフトウエアはオープンにする必要がある。一方で販売するものはハードウェアでありソフトウエアはリファレンス程度でしかないというケースも考えられるだろう。この場合にはソフトウエアをオープンにする事で得られるメリットがあると考えている。ソフトウエアをオープンにするためにはその部品のハードウェアのスペックも公開しないとその目的が達成できない(前者の場合はそうじゃないかもしれない)ので、ハードウェアのスペックは部品メーカがソフトウエアをオープンにするとともに公開するのが良いのではないかと思っている(このへんの考えは自分がその立場じゃないので甘いかも)。自分たちの部品を使ってもらうために市販されている開発用の基板に部品を接続し、オープンソースのみを使ってリファレンスのソフトウエアを作成し、部品のスペックとともにソフトウエアを公開しハードウェアを販売する。ソフトウエアは一部の協力的な人の手によって問題点が改善され、作った自分たちもソフトウエアを改善する時にはオープンソースにコミットする。ハードウェアが自身の勝負するフィールドである場合には、ソフトウエアのメンテナンスのコストを削るためにはこういう方法が考えられるんじゃないかと思っている。逆に端末メーカから部品のスペックをオープンにするという事は普通はできない。rootをとるための手段についても考えてみる。脆弱性をついてroot昇格するというのはroot化という単語を聞いた時に素直にイメージできるものかもしれない。Androidの場合はuserビルドではなくengビルドやuserdebugビルドをする事でroot権のとれるROMイメージなどというのはすぐに作れてしまう。JN-DK01というのはuserdebugビルドしたROMイメージが書き込まれて販売された端末だ。rootですぐにroot取得できるし、fastbootでROM書き換えも可能。これは端末メーカとして出せる1つの答えだ。Gadget1に参加した時にもJN-DK01の再販署名運動が一部で起こったくらいにこういう需要は少ないながらもあるものだと思っている。いう端末を作るには非常にいろいろな準備が必要になるのでそう単純ではない。この準備をしないでuserdebugした端末を出せばいろいろなところでほころびが発生しAndroidの上で組み上げられた世界が崩壊すると私は思っている。Androidのセキュリティを勉強する会で話した意図はこれに該当する。した開発用の端末を自分たちで用意しないでroot取得をしないで欲しいとお願いをするのは片手落ちだとは思う。理想的には、ちゃんとオープンにできる製品として組み上げられた商用の電話機ではない開発用のAndroid端末(これがJN-DK01に相当する)が用意され、そこに搭載されている部品のハードウェアのスペックが部品メーカから公開され、ソフトウエアも全てオープンになっていれば、探究心は満たされると思う。少なくともJN-DK01の時には私はこれをめざすべきだと思っていた。探究心以外の目的でのroot取得についてはAndroidのセキュリティを勉強する会で話をした通りであり、やってはいけないという線は必ず存在する。こちらはこちらできっちりと対応をすすめていくべきだと考える。月別アーカイブはてなブログをはじめよう!shigepon7さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。