Android
 Computer >> コンピューター >  >> システム >> Android

Androidは本当にオープンソースなのか? その実態と重要な理由を徹底解説

Androidを「Linuxベースだから」という理由で使っている方は、あなただけではありません。多くのオープンソースデスクトップユーザーが、LinuxベースのモバイルOSという魅力に惹かれてAndroidスマートフォンを選んできました。今この記事を読んでいる方の中にも、同じ理由でここにたどり着いた人は多いのではないでしょうか。

Androidは幅広く普及しましたが、その普及が一部のユーザーに違和感をもたらしてもいます。原因の一つは、Linuxユーザーの一部に見られる「主流に逆らいたい」という心理ですが、それだけではありません。より大きな問題は、スマートフォンメーカーやキャリア、さらにはGoogle自身がこのOSに加えてきた変更にあります。

実際のところ、店頭で手にするどんなAndroidスマートフォンもロックがかかっており、かなりの量のクローズドソースコードが動作しています。

その結果、オープンソースの理念を重視する人々はUbuntu TouchやSailfish OSへと期待を寄せましたが、残念ながらこれらのプロジェクトはいずれも普及には至らず、支持者は失望しながら見守るしかありませんでした。

こうした状況の中で、多くの人にとってAndroidは「スマホでLinuxを使う」ための現実的な選択肢となっています。しかし疑問は残ります。Androidは本当にオープンソースなのでしょうか?

Androidはオープンソースなのか? 技術的には「イエス」

Androidには確かにオープンソースのルーツがあります。このプロジェクトは2005年にAndroid, Inc.として始まり、2年後にGoogleが買収しました。さらに同年、Googleと複数の企業によってOpen Handset Alliance(オープン・ハンドセット・アライアンス)が結成され、Androidはこの連合の中核を担う存在となりました。

AndroidはLinuxカーネルをベースとしており、その複雑なコードと同様に、大部分がオープンソースです。ただし、特定のハードウェアとの互換性を保つために、少数のバイナリブロブが含まれています。AOSP(Android Open Source Project)として知られるAndroidのコアプラットフォームは、誰でも自由に入手し、思い思いの用途に活用できます。

OnePlus、Samsung、Xiaomi、OPPOといった多くのメーカーが、まさにこれをスマートフォンやタブレットで実践してきました。それだけではありません。AmazonはKindleに、LGはスマートウォッチに、NVIDIAはゲーム機にAndroidを搭載しました。さらに各社はスマートTVにもこのOSを採用しています。コンパクトデジタルカメラから冷蔵庫まで、あらゆる機器でAndroidが動いているのです。

もちろん、趣味で改造する愛好家たちがAndroidを移植した例まで挙げれば、数え切れません。

iOSと違い、自社製品にAndroidを搭載するために誰かにライセンス料を支払う必要はありません。コードが公開されているため、自由に実験し、好みに合わせてソフトウェアを改変することも可能です。

なぜAndroidはオープンソースに感じられないのか?

従来のデスクトップLinuxを使うこととWindowsを使うことの間には、歴然とした違いがあります。ところが、AndroidとiOSの対比はそこまで鮮明には感じられません。Androidがオープンソースなら、なぜそう感じられないのでしょうか?

1. オープンソースコードをロックダウンすることは許されている

Android自体はオープンソースですが、そのプラットフォーム上で動くソフトウェアの大半はそうではありません。これはPixelでもSamsung製端末でも同様です。Android黎明期とは異なり、Pixel LauncherやGoogle製アプリの多くはクローズドソース化されています。

SamsungやOnePlusなどが独自にカスタマイズして出荷するソフトウェアについても同じことが言えます。また、Google Playで配布されているアプリのほとんどは、無料ダウンロードできるかどうかにかかわらず、オープンソースではありません。ユーザーが日々目にし、使う部分の大半がこうしたソフトウェアであるため、Android全体がクローズドなプラットフォームのように感じられてしまうのです。

しかし、Linux上で動作するクローズドソースソフトウェアを作ること自体は許容されています。開発者がコピーレフトライセンスの下で配布しない限り、第三者はそのコードを流用してプロプライエタリなアプリを作れます。

では、Androidプラットフォームのどこがオープンソースなのでしょうか? GoogleはAndroidの大部分をApache License 2.0の下で公開しており、このライセンスはコードを利用して制限的な製品を作ることを防ぎます。過去にそうした事例がないわけではありませんが、それでもAndroid自体が閉ざされた存在になったわけではありません。多くの開発者や企業がAndroidをベースに活動していることこそ、オープンソースプロジェクトとしての成功の証と言えるでしょう。

2. Androidのコア開発はコミュニティ主導ではない

Androidの開発は、その大部分をGoogleが主導しています。年に1〜2回、Googleは大量の新コードをいわば「壁の向こう側」へ投げ出し、開発者やハードウェアメーカーがそれを急いで自社製品に取り込みます。

その後、Googleは次の大型リリースに向けて準備を進めながら、毎月メンテナンスアップデートとセキュリティアップデートを公開します。

他の有名なオープンソースプロジェクトの多くは、より広範なコミュニティの参加を重視しています。Red HatはGNOMEの開発資金の相当部分を負担しているものの、世界中の開発者がコードに貢献しています。

Ubuntuを擁するCanonicalも、ディストリビューションの外観や操作性には強い影響力を持ちます。それでも、コミュニティメンバーにはアプリリポジトリへの収録などを巡って発言権があります。

それに比べると、Androidは完全にGoogle一社の製品のように映ります。

3. 完全なコントロールは得られない

人々がLinuxなどのオープンソースOSに惹かれる理由の一つは、得られる自由とコントロールです。WindowsやmacOSの内部構造を掘り下げて仕組みを確認することはできませんが、Linuxならコードの詳細を理解していなくても、ほぼすべてを自由にいじることができます。

現実的に言えば、Androidスマートフォンは購入時点で、iPhoneよりわずかに自由度が高い程度です。ランチャーを変更したり、大掛かりなテーマを適用したり、一部の機能を好みに調整したりすることはできます。それでも、保証を無効にせずに基盤となるOSを改造することはできません。

より踏み込んだカスタマイズには、端末のroot化やカスタムROMの書き込みが必要です。この点においては、オープンソースのモバイルOSよりも、プロプライエタリなデスクトップOSの方が自由度が高いと感じることさえあります。

それでも、Androidは本当にオープンソースだ

名前だけのオープンさではありません。Androidが真にオープンであることを示す証拠は数多くあり、私たちはその具体的な恩恵を受けています。

1. カスタムROMが存在する

Androidは本当にオープンソースなのか? その実態と重要な理由を徹底解説

AOSPベースのコミュニティ制作ROMは、端末にプリインストールされたソフトウェアの代替手段をAndroidユーザーに提供します。現在LineageOSとしてフォークされたCyanogenModは、かつて数百万台のAndroidスマートフォンで動作していました。その初期状態の体験は、Pixelで得られるものと大差ありません。そもそも多くの人がROMを焼くのは、まさにそのためです。

選択肢はLineageOSだけではありません。Paranoid AndroidやAOKPなど、長年にわたり数多くのプロジェクトが興隆と衰退を繰り返してきました。ある意味で、カスタムROMのエコシステムはLinuxディストリビューションの世界によく似ています。ベースとなるコードは共通でも、各プロジェクトがそれぞれ異なる方向性で調整を加えているのです。Android自体がオープンソースでなければ、こうした文化は成立し得ませんでした。

2. オープンソースの競合ですらAndroidに依存している

冒頭で触れたSailfish OSとUbuntu Touch。実は、これらのプロジェクトの開発チームも、何らかの形でAndroidのコードを利用しています。Sailfish OSはAndroidベースではないにもかかわらず、Androidアプリを直接インストールできるのです。

Ubuntu Touchの前には「Ubuntu for Android」という試みもありました。Androidがクローズドソースであり得る一方で、それをベースにしたプロジェクトがオープンであり得る——この構図にはなんとも言えない皮肉があります。

3. デバイスのコントロールを取り戻せる

メーカーやキャリアはそれを望まないかもしれませんし、保証が無効になる可能性もあります。それでも、自分のハードウェアを思い通りに扱う選択肢は確かに存在します。root化して管理者権限を取得したり、ブートローダーのロックを解除したり、別のOSを書き込んだりすることが可能です。

これらはAndroidの宣伝文句に載っている機能ではありませんが、確かに存在しています。Androidユーザーの大多数はそんな改造をしませんが、そうやって楽しんでいるのはあなただけではありません。

何百万人ものユーザーが、この方法でスマートフォンやタブレットを自由に使いこなす喜びを味わっています。

なぜそれが重要なのか?

人々がオープンソースOSを使う理由は多岐にわたります。データのコントロールを手放すことに抵抗がある人もいれば、プロプライエタリなアプリやサービスは流行り廃りを繰り返す一方、オープンソースソフトウェアはサポートが終了しても生き続ける点を評価する人もいます。さらに、フリーのOSは、企業が見捨てたにもかかわらず十分に動作するハードウェアに第二の命を吹き込むこともできます。

加えて、「誰がどのハードウェアで何を実行するかを決める権利は誰にあるのか」という問いから、富、プライバシー、自由をめぐる議論まで、倫理的な理由も枚挙にいとまがありません。

何億人もの人々がモバイルコンピューティングを受け入れている今、デスクトップやノートPCと同じ選択肢がモバイルの世界にも存在することが大切です。こうした価値観を大切にしたいからといって、スマートフォンやタブレット、タッチスクリーンの便利なガジェットを諦める必要はないのです。

今日においても、Androidはオープンソースを重視する人々にとって最良のモバイル選択肢であり続けています。購入直後の状態は商業色が強く広告まみれに感じられるかもしれませんが、それは変えられるのです。

Androidにオープンソースらしさを取り戻すアイデア

具体的な一手としては、LineageOSを導入し、アプリはF-Droidから入手する方法があります。この組み合わせはGoogle Playと比べると物足りなく感じるかもしれません。それでも、現在の競合オープンソースOSが提供する体験よりは、はるかに機能豊富です。

オープンソースの信奉者たちは今も、こうした代替OSの成功を見守り、期待し続けています。しかし、その日が来るのを待つ間も、主にオープンソースソフトウェアで動く信頼性の高いモバイルデバイスで、ポッドキャストを聴き、GPSナビゲーションを使い、ローカルの音楽ライブラリを管理し、大切な人と連絡を取り合うことができるのです。

  1. runtimebroker.exeとは?Windowsでの役割とCPU・メモリ使用量が高くなる問題の対処法

    Windowsを長年使用していて、タスクマネージャーを開くことがある方なら、「runtimebroker.exe」というプロセスを目にしたことがあるかもしれません。このサービスはCPUサイクルやメモリを使用しますが、ユーザーの操作を必要とせずバックグラウンドで静かに動作しているため、少し謎めいた存在に感じられるでしょう。 では、runtimebroker.exeとは正確には何であり、Windows OSの中でどのような役割を果たしているのでしょうか?心配する必要はあるのでしょうか?詳しく見ていきましょう! runtimebroker.exeとは何か? runtimebroker.exeは、W

  2. 【保存版】Androidでクリップボードにアクセス・削除する完全ガイド

    Androidスマートフォンのコピー&ペースト機能は、「一回きり」のもののように感じられるかもしれません。テキストをコピーしたら、次に別のテキストをコピーまたは切り取る前にペーストしなければなりません。そうしないと、そのテキストには二度とアクセスできなくなります。 また、テキストをコピーした後、ペーストする前にスマホの電源を切ってしまうと、そのテキストは跡形もなく消えてしまいます。 これは、Androidスマホがコピーしたテキストを、RAM(ランダムアクセスメモリ)という短期記憶型のメモリに保存しているためです。 しかし、Androidスマホでクリップボードにアクセスし、コピーしたアイテムを確