なぜ新しいスマホを購入しなければいけないのか

経済的な人間ならば、なぜ定期的に新しいスマホを購入しなければいけないか考えたことがあるだろう。

  • 今持っているスマホを使うことをやめて。なぜ?
  • スマホの所有期間は2~3年位だというのが相場ではないだろうか。なぜ?

この疑問に対する答えは、シンプルだ。でもそのシンプルな答えに付随する問題は幅広く、根深い。

スマホを定期的に購入しなければいけない理由

はじめに明言しておくと、我々はスマホビジネスのお客さんなのだ。それに尽きる。

まず、買い替える理由を考えてみる

プル要因

  • 新しい方が、デザインや機能が魅力的

プッシュ要因

  • 停波により、通信できなくなった(デバイス外の要因)
  • 物理的に壊れた(物理的なハードウェア)
  • セキュリティが更新されなくなった(ソフトウェア)

新しいスマホに魅力を感じたというのは、“なぜ?“とわざわざ考えるケースではない。停波は、10年以上の単位だろう。だから、なぜ買い換えなければいけないかという命題に対しては、いささか仕方なさが目立つ。我々が買い換える理由は、大抵の場合停波が原因ではない。

物理的に壊れた

今回の主題ではないが、あえて修理しずらくされている点はあるだろう。いつしかスマホはカバーを外せなくなった。ネジも特殊なものが使用されていたりするし、修理店をするにも特別な許可と手数料を払う必要が出てきたりする。バッテリー交換をすることさえ難しい。もちろん正当な理由として、防水・防塵のためとかあるだろうが、対応していないデバイスであっても、密閉・密集・密接している。だから、壊れたら買い換えないといけない。直すなら専門店でなければいけない。いずれも、ベンダーにマージンは還元される。購入後にもハードウェアを理由にビジネスのネタにできる。我々はお客さんだから。

セキュリティの更新がされなくなった

更新されなくなっても気にせず使う人はいるだろう。通信とは双方向であるがゆえに、片方がセキュリティを気にしているだけではあまり意味がない。双方の信頼性が担保されて初めて、安心して使えるからだ。つまり、セキュリティ更新されなくなるという事象は、更新されないデバイスだけの一部の問題ではなく、全体のセキュリティにまで波及しうる。次のパートでセキュリティの更新については深掘る。

なぜセキュリティが更新されなくなるのか

理由は、ベンダーがそう決めたから。更新しないと決めたからである。

ベンダーやメーカーは新しいデバイスを購入してほしい

えっ、全然スマホまだ使えるのに、なんで更新してくれないの?と思うだろう。それはもっともだ。でも、更新しないと言ったら、更新しないで済ませられるのが現状だ。大抵は、数回は更新しますとか、Stock ROM1であれば3年は更新するよとなっているが、その先は更新しないのだ。EOLになったデバイスを積極的にサポートするベンダーはいない。仮に脆弱性が見つかったとしても、買い替えて下さいの一言で済む。

本当なら、更新も1回ぐらいで済ませて、後は新しいスマホ買ってねと言いたいのだろうが、ユーザーが反発するだろう。とりあえず2~3年で落ち着いている。

あえて更新した上で購入を促す方法もある

AppleとSamsungはアップデート時に、意図的に古い機種のパフォーマンスを下げていた。 最新の機種のパフォーマンスが上がり、古い機種のパフォーマンスを下げるようなアップデートをすれば、更新してますよと言いつつも、お客さんに新しいデバイスを購入してもらえる。端的に言えば、演算を多く行うような処理を必須にすればいい。後は、それを正当化するだけの口の上手さ(マーケティング戦略)と、納得させるだけの政治力(権力)があればいい。スマホ業界は寡占されているから、それが可能なのだろう。

これでまた、スマホが売れた後も、また定期的にスマホを購入してもらう口実ができた。我々はお客さんだから。

カスタムROM

カスタムROMは、救世主かも知れない。Appleは、クローズドソースなので、コミュニティが形成されないが、AndroidにはAOSPというプロジェクトがあり、そこでソースコードが公開されている。そのため、LineageOSなどを始めとするカスタムROMのコミュニティが形成され、開発がされている。

コミュニティベースの開発であるため、ベンダーが更新しませんよと言ってからも、プロジェクトの対応デバイスであれば、OSを更新して利用することができる。

なぜ一部のデバイスしか対応しない?

カスタムROMでさえも、対応していない機種や、対応しなくなった機種というのが存在する。その理由としては、開発にはマンパワーが必要だからだ。

なぜマンパワーが必要?

Androidでは、個々のデバイス間の差異に個別に対応しなけれいけない。個々のデバイス間の差異というのは、ハードウェアの違いであったり、パーティションの違いである。

AOSPは、オープンソースのプロジェクトではあるものの、AOSPのソースコードだけではAndroidは動かない。よりローレベルの部分(firmware、driver、SoC、kernel、vendor code)はデバイス固有であり、別の場所から用意する必要がある。パーティションにおいても、デバイスごとに調べ、合わせる必要がある。

つまり、OSやカーネル等をそのデバイス固有のものに個別に変更していく必要があるため、労力がかかり、結果、対応するデバイスを絞る必要がでてくる。ここらへんは、Android特有であるため、よりLinuxベースのOSにすることで解消できる(AndroidとLinux Phoneの違い)。

マシンパワーも必要

Androidのビルドのためには、一応要件が決まっていて、

Requirments

  • 400GB以上のストレージ
  • 16GB以上のRAM(推奨は64GB)
  • その他

これに加えて、ビルドのための処理時間もかなりかかる。それを毎回必要とする設計になっている。

それでもファームウェアは更新されない

一応用語を整理しておくと、OSのことをROMとかファームウェアとも言うが、ファームウェアは同時にハードウェアと密接に関わるソフトウェアとして語られることもある。ここでは、ファームウェアは、ハードウェアをインターフェイスするためのソフトウェアとして扱う。

軽視してはならない部分がある。カスタムROMで更新されるのはOSの部分であり、ファームウェアは更新されないという点だ。、カスタムROMの対応デバイスであっても、ファームウェアに脆弱性が見つかったからパッチを当てて更新しましょうとはならない。ベンダーのEOL後は、OS部分はバックポートできても、ファームウェアは扱えないはずだ。そのため、特にセキュリティを重視するプロジェクトでは、ベンダーのEOLを目安に対応デバイスから外される(or外される基準になる)。

なぜファームウェアの更新を引き継げないのか

スマホでは、SoCという、PCでいうマザーボードみたいなところに、すべてのコンポーネントが集まっている。基本的には、それらは、プロプライタリで、クローズドソースである。バイナリBLOB2とも言われ、ファイル自体は存在するが、中身が何なのかよくわからないのだ。これこそが、ベンダーが融通を押し通すことができる理由だろう。バイナリBLOBであるがゆえに中身がわからず、更新できない。ソースコードがわかっていれば、コミュニティでパッチを当てることもできるだろうに。

いつの日か

今まで挙げた2つの事象から、カスタムROM含めて、Android自体に明るい未来はないように感じる。オープンソースのモバイルOSを作るというアイデアは色々あったが(Openmoko、Maemoとか)、事実上iOSとAndroidになっている。もちろん現状は、皆が必要とするようなcr…appsは、iOSやAndroidにしかないだろう。そして将来を語る上ではappsは重要になる。あのWindowsでさえiOSとAndroidの牙城を崩せなかった。appsを揃えることはユーザーにとって大きな誘引剤になる。

よりLinuxのOSへ

まず、パッケージの管理方法やビルド方法などがAndroidでは、マンパワー・マシンパワーを必要とするような設計になっているため、開発環境が限られてくる。リソースを用意できる企業が有利になるだろう。それにAOSPはオープンソースではあっても、Googleの影響力が大きい。Googleが決定したことに従うか、遅れを取るかしかない。独自の開発をするにしても、マンパワーの不足が、多くのデバイスに対応することや、セキュリティのパッチを当てることを難しくさせている。

その影響力を離れるためには、よりLinuxらしいOSにするのが良いだろう。お客さんをやめるには、企業ベースではなく、コミュニティベースで力を取り戻す必要がある。

  • PostmarketOS
  • Mobian
  • Maemo Leste

などのプロジェクトが動いている。

FLOSSHという考え

FLOSSといえば、Free/Libre Open Source Softwareであるが、そこにHardwareも含めて語りたいということだ。これは理想的かも知れないが、特に持ち歩くという性質上、スマホはSensitiveだ。スマホを長持ちさせるという意味だけでなく、プライバシー・セキュリティを重視するという意味でも、ハードウェアまで含めて考えて行くことは重要だろう。カスタムROMが扱う範囲は、OSを中心としている。ファームウェアのフリー化まで考えているのは、AndroidベースではReplicantくらいしか知らない。LibremやPinephoneはそもそもオープンなコンポーネントを使うという視点でデバイスを設計している。

クローズドソースという形で、ブラックボックス化することは、開発者とユーザー(お客さん)を二分する。開発に貢献もできなければ、参画もできない。人間としての創造性や活力を押さえつけられていると感じる。特にFLOSS(H)に貢献している人々はそのように感じるのではないか。体験は作るものではなく、作られるものになる。そして我々は、お客さんとして作られたものを享受することしかできない。そこに社会はない。民主主義もない。

ハードウェアはパテントの嵐だ。無線関連はレギュレーションの嵐。特にBaseband modemに関しては、必ずクローズドソースになる。なので、FLOSSHは、決して短期的に、簡単に達せられることではないだろう。でも、そうなる方が、特にスマホを使う人にとって良いことだと思う。加えて、スマホを長く大事に使うことを通じて、資源の無駄遣いを減らせる。

まとめ

今回は、スマホをなぜ買い換えなければいけないか、という視点で考えてみた。それは、ベンダーやメーカーが決定権を持っているからだと思っている。多くのリソースを必要とするような管理方法、ファームウェアがクローズドソースという2つがその背景にあるということだ。その結果我々は、お客さんになることを運命づけられる。

しかし、ファームウェアがクローズドソースという事実は、スマホを買い換えなければいけない理由だけにとどまらない。あまつさえプライバシーやセキュリティに関わる重大な問題を抱えている。それらはある意味では、予めデザインされたものだったりする。

スマホにまつわる脆弱性や問題点は多い。それは、cr…appsレベルでもあるし、OS、ハードウェア、通信プロトコル、通信キャリアのどの領域でも課題は多い。やれやれだぜ、と言っておく。

Reference


  1. Stockは、一般的には、OEM(Original Equipment Manufacturer)に属する商品のことを言うが、Androidに限ってStockは、Googleのことを指す。 ↩︎

  2. バイナリもBLOB(Binary Large OBject)も同じ意味だが、フリーソフトウェアの文脈では、バイナリBLOBと言ったりする。 ↩︎