IPv4 disable ready な iOS

ISOC が 2015/6/10 に「iOS9 で IPv6 サポート必須になる」と記事を出した。それに関して考えたことをまとめておく。

ISOC が 2015/6/10 に「iOS9 で IPv6 サポート必須になる」と記事を出した。

Apple Will Require IPv6 Support For All iOS 9 Apps
http://www.internetsociety.org/deploy360/blog/2015/06/apple-will-require-ipv6-support-for-all-ios-9-apps/

それに関して考えたことをつらつらと書いたのでまとめておく。 ​
まず、これほどまでに v6 に関心が無いというのもそろそろアカンなあ、と思ってしまった。ちょっと距離のある組み合わせのように思うので少し書いてみる。

まったく根拠の無い話なのだけれど、ISOC に関わる人たちと iOS に関わる人たちは、両者のコアの人たちはもちろん関連が深いとしても、そこから互いの裾野のほうに進むにつれて、急速にそのつながり(技術的詳細や関連など)が弱まるのではないかと思ってしまう。上に書いた僕の、この二つの技術分野に関して「距離がありそう」という印象は、そうしたことを指す。

とにかく僕は iOS が v6 のキラーアプリケーションになる可能性についてどうしても考えてしまう。ISOC 的文化?な人に、このあたりどう感じるかとても聞いてみたい。v6 ははじめその普及手段として主要プラットフォームへの移植、つまりプロトコルの実装と、その標準バンドル化をやっていた。
Apple つまり MacOSX は BSD ベースなこともあり(とよく聞いたけど僕は実装の細かい経緯を知らないので間違ってるかも知れない)、早くに対応した。v6 は端から端まで v6 になることが重要なので、Linux や BSD などサーバ側にだけプロトコルスタックを入れたら良いわけではない。だからクライアントサイドの製品(商品)に黙って入っていることが重要だった。

v4 は実際そのようにして普及した、と僕は理解してる。つまりクライアントサイドにドライバをユーザが導入する必要が無くなったことが大きな推進力になったし(Trumpet Winsock を思い出す)、途中経路がなくてもユーザは電話を掛けてそれを乗り越えるまでして広まった。ただ、v6 はそのようにはならなかった。クライアントサイドを含めて protocol ready になったことは v4 との競争に「勝つ」ためには不十分だった。
(競争というのは的確な表現ではないけどパッと思いつかない。。。)
(ここでは v4 v6 の状況について詳しく違いを検討しない。v6 が v4 のように進まなかった「何故」も追わない。)

サーバのプロトコルが v6 ready になってもコンテンツ(を届けるためのサービス)が v6 ready にならなければ意味が無いので、World IPv6 Day などしてサービス側を v6 ready にすることも繰り返しトライされ、いろいろ進んだと思うのだけれどやはりそれでも少なくとも僕の思うほどの速度では進まない。。。
(僕の見積もりが高すぎるのかもしれないけれど。というかまあむしろそうであれば問題無いので良いことなのだけれど。)

やはり端から端という意味では、あとはクライアントサイドなわけで、すると今は Windows, Mac ではなく smartphone になる。ただし Android や iOS を v6 protocol ready にする、という話ではなく(それはかなり前に終わっていたと思う、、、意識した事も無いくらい)、アプリケーションを v6 ready にする、という話。ちなみにブラウザはやはりかなり前から v6 ready になっていると思う。

で、携帯キャリアは(特に中国の「人数=台数の多さ」の問題で)以前から v6 を意識していたと思う。彼らにはその方が都合が良い。しかし携帯も v6 の「キラーアプリ」にはならなかった。実に v6 はこの「キラーアプリ」を探していたのだと僕は思ってる。そして iOS がその待ち人になる可能性についてつい考えてしまう。

つまり v6 が望むのは v4 の退場とほぼイコールであり、その「キラーアプリ」は v4 を殺すやつだ。v6 ready だけでは不十分で、v4 disable ready になることが重要だ。
というのが(遅い、と感じている)僕のこれまでの v6 の道のりに対する解釈と、今の理解。
そして iOS が v4 disable ready をクライアントサイドに(大きなボリュームで)持ち込む船になる、という筋書き。

僕の理解では、iOS はとても特殊なものだ。

  1. Apple がかつてこんなに大規模なユーザ数と大きなマーケットシェアを獲得したことはない。
  2. Apple はとても独断的(独善的?)な意志決定が好きだ。少なくともユーザの希望なんか聞いてない。(「大きな中小企業」的経営、といった表現を以前見た憶えがあるが、うまく言い当てていると思う)
  3. Apple はMacが出た当初から延々と開発環境の開発に大きな努力をしており、ユーザインタフェイスガイドラインも含めて、デベロッパを強く束縛している。
  4. デベロッパは基本的にその束縛をより良い製品開発のトレードオフとみなしており、Apple の方針に(悲鳴を上げながらも)ついていくことで前進することを良しとしている。
  5. ユーザもその文化に基本的に乗っており、動作している iOS 機器の最新バージョン追従率は高い。(つまり古い(ニッチだった頃の)ユーザだけでなく今のユーザ層もよくApple の方針に従っている。その動機や理解は別として、振る舞いとしてはそうだ。)

これらを全部足して、僕は今回の

  1. Apple は開発者に v6 対応を強制する

に、フムフム、と思い、また、

  1. Apple は自分の独断で v4 をやめる

んだろうなあ、と思ってしまう。

つまり現実に v4 disable を強制的に実行し、この規模のユーザ集団を連れてくることができるのは iOS だけではないか、と思えてしまう。

(Android は上に列挙した状況とは違うコースをたどっており、その結果として 7. ができない、と思ってしまう。Google が 7. をやっても最低限 5. が理由でボリュームによるインパクトを出せない。)

そして僕自身は、この両者を並行に眺めていながら、6. と 7. を思いつくことが出来なかった。残念だ。根本的な原因は冒頭に書いた「これほどまでに v6 に関心が無いのはアカン」というのは、つまりそういう意味。我ながら呆れてしまった。ダメだ。



Yutaka Yasuda

2015.06.11