弊誌はアフィリエイト広告を利用しています。

オープンソースから読み解く、 Xperia の開発体制

 Sony のミッドレンジスマートフォン「Xperia 10 II」が好調です。

 手頃な価格ながら、 Snapdragon 665 搭載により動作良好。カメラには”プロ向け”を意識した Xperia 1 II にはない今風なナイトモードを備え、ディスプレイも液晶ではなく 21:9 の有機 EL 。 Xperia らしさと安さを両立したモデルで、販売数ランキングでもよく上位を獲得しています。

 また、旗艦の Xperia 1 II も、Sony の技術が注ぎ込まれているほか、Qi対応で4000mAh大容量電池搭載などスマートフォンとしても非常に魅力的に仕上がっています。

 巷では Xperia 10 II は「社外で作られた外注製品なのでは?」という見方もある一方、ソニーモバイルの開発の “癖” や公開されているソースコードを見てみると、少し違った見解が出てきます。

 本記事では Xperia 1 II / 10 II のソースコードの解析などから、 Xperia の開発体制を読み解きます。当然ながらこの記事の内容は何かしらの確証があるものではなく、多くの推測を含むものですのでご注意ください。

オープンソースに積極的だったはずだが……

 Xperia は OS として Google の Android OS を採用しています。 Android OS は Linux をベースとしており、 GPL ライセンスの兼ね合いから製品を販売する際にはソースコードの公開が義務付けられます。

 ソニーモバイルは古くからオープンソースに対して積極的な活動を行っており、実際の製品のソースコードの公開だけでなく、端末のブートローダーアンロックサービス (カスタムファームウェアを書き込めるようにするためのもの) にいち早く対応したり、独自ファームウェアのビルド方法を説明したりするなど、献身的に活動していました。

 また、 Open Device プログラムと称し、同社製スマートフォンの GitHub 上でのオープンソースファームウェアの開発も行っています。

 Xperia 10 II も例に漏れず、発売後速やかに Open Device プログラムの対象とされ、 GitHub 上での開発がスタートしました。

 オープンソースにて公開することを想定しているからか、ソースコードは非常に整理されており読みやすいものとなっています。採用されている部品情報についても詳細に記されており、ここから採用されているディスプレイの製造元を特定したりすることもできます。

Xperia 10 II の有機 EL パネルは Samsung 製

 ところが、この Open Device プログラムに Xperia 1 II が追加される気配がないのです。

謎に満ちた Xperia 1 II からわかるもの

 今までフラグシップであろうと即座に Open Device プログラムの対象として積極的に開発の支援を行ってきた同社ですが、Xperia 1 II は 未だ Open Device プログラムの対象に含めていません。

 それどころか GPL ライセンスの兼ね合いで公開されているソースコードも、明らかに人に読ませる気がないものになっており、これまでとは明らかに異なります。

 具体的に言えば、 DeviceTree というハードウェア構成情報を定義するファイルが一切用意されず、全て C言語のコードで対応される形に変化しており、そのため採用されている部品の製造元について容易に知ることができなくなりました。 Xperia 1 II のディスプレイの製造元については今もなお不明ですが、目視での変化のなさから Samsung から変わっていないのではないかと考えています。

 一方、 Open Device プログラムに追加されている Xperia 10 II については Open Device プログラムで公開されているソースコードからメイン以外のカメラは Samsung 製であることがわかっています。

 この手法はシャープ製 Android 端末のソースコードでも見ることができます。恐らくですが、そもそも Open Device プログラムの対象としない前提である以上、社外の人間がコードを保守・管理する必要がないためにこのような形になったのではないでしょうか。

 オープンソースへの貢献よりも製品開発を優先し、本格的に新しい体制での開発が行われていることが伺えます。

プラットフォームとコードネームから読み解く

 ソニーモバイルの製品には、それぞれチップセット (SoC) ごとにプラットフォーム、端末ごとにコードネーム、そしてモデル番号が用意されています。

 プラットフォーム名については現在も河川の名前で統一されていますが、コードネームとモデル番号については Xperia 1 II / Xperia 10 II から大きく変化し、コードネームは毎年何かしらのテーマに沿った固有名詞、モデル番号は年度と価格帯を表す数字だったものが一見して何も読み取れない連番に変化しました。以下のとおりです。

機種名 プラットフォーム名 コードネーム モデル番号
Xperia 1 Kumano (熊野川) Griffin J8110, J8170, J9110, J9150
Xperia 10 Ganges (ガンジス川) Kirin I3113, I4113, I4193, I3123
Xperia 1 II Edo (江戸川) PDX-203 XQ-AT51
Xperia 10 II Seine (セーヌ川) PDX-201 XQ-AU52

 ソニーモバイルのプラットフォーム名は多くの場合開発拠点の国や地域にある川から取られることが多く、北京の開発拠点であれば中国の河川、東京の開発拠点であれば日本の河川の名前がついています。

 Xperia 10 II のプラットフォーム名は Seine (セーヌ川) 。セーヌ川はフランスの河川です。Sony Mobileはスウェーデンのルンドに開発拠点を持っており、順当に見れば同じ EU 圏内のルンドによる開発なのではないか?と推測しています。

 実際に OEM だった例として Xperia R1 / Xperia R1 Plus があるのですが、これらはプラットフォーム名すらついていません。

 こうした情報から考察する限りでは、外注ではなく内製で開発している可能性が高いのではないかと推測します。

 ちなみに中国の”製造”拠点こそ閉めたものの”開発”拠点は閉めていないようで、Xperia L3 は「Huaihe(淮河)」 プラットフォームであり、北京拠点による開発と推定されます。

おまけ: AQUOS と arrows

 ちなみに他社のソースコードは、 SHARP AQUOS は Xperia 1 II と同様のすべてを C言語で記述するスタイル、 FCNT arrows は DeviceTree を用いた旧来のソニーモバイルスタイルで記述されています。 arrows 5G は編集した部分にわざわざコメントで日付と管理番号を入れており、「まさか今どきバージョン管理ソフトすら使ってないのか……?」という具合。

総評

 経営陣刷新と急激な路線変更で、 2019 年の Xperia は全体的には魅力的ではあったものの、作り込みの甘さも目立ちました。しかし 2020 年の Xperia は、 2019 年に示した魅力を継承しながら研ぎ澄ませ、完成度の高い物を提供できています。これはしっかりと開発体制を整えたことも背景にあるのではと推察しています。

 「 1 から作り直した Xperia 」は、 Sony としての公式上の位置づけは Xperia 1 ですが、開発体制含めて本格的に 1 から作り直したという意味では、 Xperia 1 II こそが真の初号機と言えるのかもしれません。

Xperiaをオンラインで購入する。 [AD]
ドコモ au SB Y! UQ 楽天

(編集・校閲: ivara)

すまほん!!を購読しませんか?

Twitterでも最新更新を配信・通知しています

フォローする 再度表示しない