2017-04-06

もしスマートフォンが自由だったら今頃実現していた社会

CanonicalがUbuntuをスマートフォンに対応させることを諦めた。これで、スマートフォンにまともなOSを移植するという大きな資本が入っているプロジェクトは、ほとんど全部潰れたことになる。これは当然の話だ。現在のスマートフォンのハードウェアは極めて不自由なので、まともなOSを移植することは不可能なのだ。このため、筆者はスマートフォンの所有を拒否している。

スマートフォンの害悪について詳しくは以下を参照。

本の虫: インターネット端末のシェアでスマートフォンがPCを上回ったというディストピア

しかしもし、スマートフォンが自由だったら、今頃どうなっていただろうか。以下はスマートフォンのハードウェアが完全に自由なコンピューターの将来実現したであろう未来である。

江添亮は13時に目が覚めた。今日は比較的早起きをした方である。江添は眠たい目をこすりながら枕元のスマートフォンを操作する。そう、なんと江添亮はスマートフォンを所有しているのだ。

このスマートフォンは、ファームウェアを含めてあらゆるソフトウェアが自由なコンピューターである。江添亮は自由なファームウェアを使い、その上に自由なブートローダーを使い、自由なカーネルを起動し、完璧に自由なユーザースペースソフトウェアを実行している。もちろんベースバンドプロセッサーの仕様とファームウェアとOSも自由だ。当然だ。不自由で不便で修正されない既知の脆弱性、アメリカ政府が保有している未公開の便利な脆弱性とバックドアが満載のAndroidやiPhoneなどは、とっくの昔に自由競争に破れて滅んでしまったのだから。

今日は休日だが外出する用事があるので、江添は家を出る。歩きながら、公衆無線ネットワークに参加する。今や、無線周波数帯のほとんどは、国民の自由な通信のために開放されている。なぜならば、表現の自由を脅かされない分散型の強い障害耐性を持つ通信ネットワークは、今や電気や水道と並んで重要なインフラであり、基本的人権の一部だからだ。テレビやラジオのような一方的に情報を垂れ流すだけの情報格差の発生する用途に周波数帯が専有、浪費されることはもうない。十分に広い道路を確保すると物流を改善し経済を回す。ネットワークと道路は同じだ。すべての周波数帯は国民の通信ネットワークに再優先で割り当てるべきなのだ。不必要に強い電波を発射する悪意ある電波発信者さえ取り締まればよい。

かつて、日本がまだ不自由だった時代、スマートフォンの通信は中央集権的な仕組みで行われていたと聞く。個々のスマートフォンの発信する電波は微弱で、今のように近隣のスマートフォンと通信して分散型ネットワークを構築するのではなく、強力な基地局を中心とするツリー型のネットワークを構築していたそうだ。これは基地局の管理者に、ネットワークの監視、検閲といった不平等な強権を発生させる極めて危険なネットワークである。

移動中の江添は、もっぱら情報の消費のみをする。これは手のひらサイズのタッチスクリーンで操作するコンピューターだ。このような制限された非効率的な入力装置では、まともなコードや文章を書くことは不可能だ。

さて、江添は目的地についた。しかし待ち合わせの時間にはまだ早い。珍しいことだ。いつもの江添は待ち合わせの時間になった頃に家を出るというのに。どこかで時間を潰す必要がある。そこで江添は、近くにあったターミナルカフェに入る。

「粉末ティーライクひとつとダイミョクラスの入力装置」
「ハイ、ヨロコンデー!」

ターミナルカフェとはドリンクを頼めばコンピューターを快適に操作するための端末と個室も一緒にレンタルできる実際安い作業場だ。江添は端末としてスマートフォンを持っているので、入力装置だけをレンタルすることにした。大画面高解像度のディスプレイ、Cherry MSの青軸を採用したキーボード、そして高精度なマウスをレンタルした。所有しているスマートフォンとは極めて信頼性の高い低遅延広帯域の無線接続が行われる。

作業をしていたが処理能力が足りない。やはり128コアしかない上にメモリが1TBしかない貧弱なスマートフォンでは、基本的人権が保証されない。江添は自宅に設置してあるコンピューターにssh接続をした。これでいい。これでこそ人権があるというものだ。この時代における人権とは、計算力がモノをいう。計算力の強いものは正しい。

計算力、懐かしい言葉だ。そうだ、もう計算力の時代ではなかった。トゥーメニーコアが主流となった今では、もはや計算力は問題ではなくなった。実際、江添が自宅に設置しているコンピューターのコア数は3メガ個ほどある。いや、4メガ個だっただろうか。コア数が1メガを超えた辺りから、もうそのへんはどうでも良くなってしまった。昔、まだ江添が若かった頃、ひとつのコアの計算時間を複数の処理でシェアしていたものだ。今は違う。CPUコアは実質無料である。本当の計算コストは、電力だ。たしかに、江添が自宅に設置しているコンピューターをフル稼働させれば、理論上は、大昔のRSA-4096程度は一時間もあれば任意の秘密鍵に対する公開鍵が計算可能である。ただし、その計算にかかる電力で江添の家計はカーオンファイヤー(ブッダになれなかった死者を乗せる地獄行きの車、転じて家計が苦しい時に使う)になってしまう。

そうこうしているうちに、待ち合わ汗の時間になった。それにしても、今はいい時代になったものだ。後は物理肉体を物理場所まで運ぶという技術的制約を解決できればいいのだが。

15 comments:

Anonymous said...

ラベルがC++になっている

Anonymous said...

ユートピア

Anonymous said...

ああ、この社会が実現して欲しい!
多くの人々がもっと思考力があれば、このような社会こそが私達が目指すべき姿であると考えることができるのだろうか。

Anonymous said...

ビットコインが普及した社会になったら案外簡単に実現しそうですね
どっかの誰かは「仮想通貨の決済システムをP2Pで実装するメリットってなんかあんの?」とか言っていましたが

Anonymous said...

アイエエエエ! よく検証されていない自由なコードを自己証明で使うのは、コワイ!古事記にもそう書かれている。故にモータルは暗黒メガコーポ印で保証されたスマートフォンを使う。

タルコフスキー said...

そんなにハイスペックなプロセッサーでどんなプログラムを処理するつもりなんだろ。AR空間でのメガデーターでも扱うのかい?
どんな時代でもアナログな本での暇つぶしのほうが、僕はいいと思うなあ。

MAX said...

無尽蔵の計算力で得たいものは、対話的なパーソナルなAIだな。
社会生活上の不満を打ち明けて、解決法を聴いたり、学習の良き教師となったり、その過程で、ルソー的な「一般意志」の為のニーズ分析のための個人情報を政府に提供もするんだけど、対話的教育装置としてのAIが個人を主体として理性的に鍛えるから、参加民主主義的部分も担保される。
これこそ計算能力がもたらす自由な民主主義社会だ。

Anonymous said...

> 現在のスマートフォンのハードウェアは極めて不自由なので、まともなOSを移植することは不可能なのだ

これ、単に認識不足なのでは?
たとえば http://tabkul.com/?p=118856 とか。
電話機能も使えるようなカスタムファームウェアが書き込みできる Android スマホならどれでも、これと同程度のことができるポテンシャル自体はあると思います。

Anonymous said...

これが「まとも」だと思ってるのか……

Anonymous said...

Debian は間違いなくまともなOSだし、それがネイティブで走るんだからまあ、まともでは?

Androidじゃない自由なOS上で電話機能まで使えなきゃダメっていうのであれば、そういうのもありますよ。たとえば
https://forum.xda-developers.com/google-nexus-5/development/rom-sailfish-os-alpha-t2841266

まあAndroid自体、Google Play利用みたいな部分を除きオープンソースライセンスで公開されているわけで、どこら辺をもって、まともじゃないと言ってるのか書いてもらえないと議論になりません。
(ファームウェアblobがダメっていうのであれば、無線LAN積んだいまどきのPCもほぼ全滅)

Anonymous said...

ユートピアっちゃユートピアですが、
この様な世界を実現する推進力がどこから湧いてくるのか、よく分からないです。
完全オープンな状態ではどの規格が主流になるかなんて分からないので、
例えば「もちろんベースバンドプロセッサーの仕様とファームウェアとOSも自由だ。」なんて絶対有り得ないと思います。
そんなもの凄い数の組み合わせのテストを一体誰が出来るのでしょうか?
それとも、「自由とは責任が伴う物だ」と言う事で、
動けばラッキーの世界なのでしょうか?

Anonymous said...

> 例えば「もちろんベースバンドプロセッサーの仕様とファームウェアとOSも自由だ。」なんて絶対有り得ないと思います。

GNU宣言の頃はIBMが自社OSにOSSを採用するなんて絶対にありえないと誰もが思ってたわけで、現時点の常識で絶対有り得ないと断言するのは危険ですね。(当時はOSSという言葉自体存在しませんでしたが)

> そんなもの凄い数の組み合わせのテストを一体誰が出来るのでしょうか?

携帯電話のハードウェアを作ってるベンダーだったり、あるいはSoCを作ってるベンダーだったりするでしょうね。
現在のLinuxカーネルに含まれているデバイスドライバーのありうる組み合わせだって天文学的数字なわけで、網羅的なテストは不可能です。でも、ハードウェアベンダーは自社が売る組み合わせについてはテストできますし、実際やってるわけです。
そういうテストの範囲がベースバンドプロセッサーやそのファームウェアにまで広がるだけであり、自社が売っている組み合わせに限れば、それはごくごく少数にとどまりますから十分実現可能です。

Anonymous said...

> そういうテストの範囲がベースバンドプロセッサーやそのファームウェアにまで広がるだけであり、自社が売っている組み合わせに限れば、それはごくごく少数にとどまりますから十分実現可能です。

とは言え、結局は売れているハード/OSの組み合わせ用が優先されるわけで、
マイナーな組み合わせはドライバすら用意されない可能性が高いですよね。

となると、利用者も結果的には売れている物を選択する事になるのではないでしょうか。

大きすぎる自由は結果的には不自由になってしまうのでは無いでしょうか。

Anonymous said...

> マイナーな組み合わせはドライバすら用意されない可能性が高いですよね。

現在のPCの世界でも同じです。
Windows用しかドライバがないマイナーなデバイスっての相変わらず存在してます。
別にスマートフォンだから本質的な違いがあるわけではありません。

kurema said...

性能の話をしたせいでピントがぼけてしまっている。
そして、「情報の消費」しかいないなら、割と十分な性能はあると思います(個人の感想)。
理想世界でもスマホでコードは書かないのだから、「インターネット端末のシェアでスマートフォンがPCを上回ったというディストピア」における問題は「利用者によるOSの入れ替えやOSの改変を妨害」しか残ってない。
ここでの指摘は「不自由で不便で修正されない既知の脆弱性」だけ。

この二つの問題はわりと良く指摘される。
つまりWindows搭載のPCで当たり前の事がAndroidやiPhoneでは当たり前はないという事だ。
iPhoneはそういう設計でどうしようもない。
淘汰されるべきなのになぜかされてないのはいろいろと理由がある。
Androidに関しては理由の三つあるらしくて、
一つはブートローダーが解放されてない、共通化されていない事。つまり他のOSがインストールできない事。
どの会社も折角新しいプラットフォームを作るなら許されるだけ不自由にしましょ、とこうなってしまった。
もう一つはLinuxはWindowsみたいにきっちりとしたドライバモデルがない事らしい。それはよくわからん。
最後はGoogleがAndroidをカーネルバージョンまで指定するOSとして作ってしまった事。

Androidの最初の設計の酷さは多くの人が語っていると思うが、私も一票を投じる。
そもそもJavaを使おうという段でなぜ下層と切り離そうと思わなかったのか。
そうすればAndroidのソフトが仮想環境とかなしで普通にWindowsやLinuxで動いただろうし、
脆弱性修正も最新版へのアップデートもある程度まで容易だったはず。
陳腐化という点では新バージョンの負荷に堪えられない、ハードウェア機能に未対応で買い替え促進もできたはず。

もう一つのパソコンみたいに他のOSをインストールできない問題は、まぁなんというか。
色々理由はあるし、技術的な問題の色は薄いから解消してほしいが…。
まぁそれが実現できた理想世界でもせいぜいマニアがUbuntuなり入れる以外大して変わらない世界でしょうけど。
そういえば配慮しつつそういうのを実現しましょとスマホ上の仮想環境を開発したとのニュースを聞いた気がするが今検索しても見当たらない。