ハクソク

世界を動かす技術を、日本語で。

ハードウェアが製品寿命を迎えたとき、企業はソフトウェアをオープンソース化する必要がある

概要

  • ハードウェア製品のEOL時、ソフトウェアのオープンソース化を義務化提案
  • Right to Repair運動の進展をさらに一歩推進
  • サステナビリティと消費者の権利保護の観点強調
  • Boseなどの良い事例は例外的存在
  • コミュニティ開発を促進するための具体的アクション提案

ハードウェアEOL時のソフトウェア公開義務化の提案

  • ハードウェア製品が**エンドオブライフ(EOL)**を迎えた際、企業にソフトウェアのオープンソース化を義務付ける必要性
  • Right to Repair運動の進展を踏まえ、さらに欧州委員会などの権限を活用した法的強制力のある施策の重要性
  • Bluetooth接続可能なスマート体重計の例
    • アプリの開発終了により、本体は正常でも機能が大幅制限
    • 複数ユーザーのデータ管理機能消失による不便さ
  • サステナビリティと電子機器廃棄問題
    • 完全に動作可能なハードウェアがサポート終了で「電子ゴミ」化
    • Spotify Car Thingの事例:$200のハードウェアが一夜にして無価値化

オープンソース化の現実的な範囲とその効果

  • 全コードベースの公開は非現実的との認識
    • 大規模プラットフォーム連携アプリでは困難
  • 最低限必要な情報の公開を提案
    • ハードウェア仕様および接続プロトコルのGitHubリポジトリ公開
    • コミュニティによる独自アプリ開発の促進
  • vibe-codingなどの登場で、一般ユーザーも開発参加が容易
    • 開発失敗のリスクは既に「壊れている」ハードウェアなら問題なし

今後の情報発信とコミュニケーション

  • 2026年よりプロダクトデザイン・テクノロジー・ビジネスに関するフォーカスしたノート配信予定
  • メール登録による情報受信の案内
  • Email、Bluesky、LinkedInでの連絡歓迎

Hackerたちの意見

今のシステムは「閉じる失敗」が多いけど、それは例外のないコード署名の信頼チェーンに基づいているからだよね。これらのシステムの一部は「開く失敗」にした方がいいと思う。ボットネットに乗っ取られるのは避けたいけど、元の署名者が倒産したりデバイスのサポートをやめたときに、新しいパーティにコード署名の役割を委譲できるべきだよ。
> 私が求めているのは、ハードウェアの仕様や接続プロトコルを含む基本的なGitHubリポジトリを公開することです。コミュニティがその上に自分たちのアプリを作れるようにしてほしいです。このコンセプトは著者のキッチンスケールの例ではうまくいくけど、問題のデバイスがe-fuseに一つのキーが焼き込まれたセキュアブートのルーターみたいなものだと失敗する。そういう場合は、オープンソフトウェアと、製造者が署名キーを誰かにエスクローすることを求める必要がある。そうすれば、EOL後にどんなソフトウェアでも実行できるようになる。
署名キーの公開を強制するのはセキュリティの大失敗になるよ。IoTデバイスの自動更新サーバーの期限切れドメインを最初に取得した人が、無料のボットネットを手に入れることになる。デバイスを安全に再利用するためには、ユーザーがサードパーティのファームウェアを実行したいという意思を示すための明示的なステップとアクションが必要だよ。特定のボタンの押し方で十分。ユーザーにはサードパーティのソフトウェアがインストールされることを認識してもらうために、何か明示的な行動を求める必要がある。ただ、ベンダーにセキュリティメカニズムを公開させて、誰でも会社のようにファームウェアに署名できるようにするのは、望ましいことではないよ。
物理ボタンでキー登録を許可するだけでいいんじゃない?
ロックされたブートローダーは、完全に禁止されるべきだと思う。新しいデバイスでも関係なく、ハードウェアやスマホの所有者は、自分のデバイスに対して好きなように変更する権利があるんだから。メーカーがどう思おうと関係ないよ。
> 今、私は企業に自社のコードベースをオープンソースにしろとは言ってないよ。それはアプリが大きなプラットフォームに結びついているときには現実的じゃないから。私が求めているのは、ハードウェアの仕様や接続プロトコルを含む基本的なGitHubリポジトリを公開することです。コミュニティがその上に自分たちのアプリを作れるようにしてほしい。ブログの実際の提案はあまり意味がないと思う。デバイスの仕様を知ったところで、PCBを調べれば誰でもわかるから、あまり変わらないよ。ほとんどのデバイスには、Spotify Car Thingのようなシンプルな接続プロトコルがないしね。
私は「誰かがハードウェアを再利用するために必要なものを提供する」という考え方を理解している。最低限の情報、例えばファームウェアのフラッシュ方法や最小限のファームウェアとかね。多くの製品では、実際に動かすために必要な時間をかける人はいないだろうけど、いくつかの製品ではそれがあればいいかもしれない。でも、実際には思っているよりも複雑で、ケースバイケースになると思う。
私の経験では、オープンソースソフトウェアを義務付けると、使えないソフトウェアができあがることが多い。コンパイルすらできないし、バグ報告も無視される。
ハードウェアを使い続けたいのにEOLになっちゃって使えなくなるのは本当にイライラするよね。スマートスピーカーとかそんな感じ。でも、どうやってそれにアプローチするのが現実的なのかはわからない。例えば「電子廃棄物を生産するのは違法にすべきだ」と言うこともできるけど、それってどういう意味で、実際にどうやってやるの?
100%の電子廃棄物を捕まえることを考えていないなら、責任や機能低下に関するシンプルな法律があれば十分だと思う。例えば「電子機器が所有者の過失なしに主な機能を果たせなくなった場合、所有者は全額返金を受ける権利がある。会社は、製品を動かすために必要なソフトウェアをパブリックドメインに置くことで返金を免れることができる。」みたいな感じ。こうすれば、夜逃げするような会社は逃げられるかもしれないけど、Googleみたいな大手がハードウェア以外の理由でサーモスタットを無効にするのを捕まえることができるかもしれない。
どこで終わるんだろう?EOLのウィンドウズは、いくつかのソフトウェアやゲーム、ハードウェアが新しいウィンドウズバージョンで動かないからオープンソースにすべきかな?オープンソースのウィンドウズ10は、マイクロソフトの長期的な目標を食いつぶすことになるよね。
これ、いいアイデアだと思う。オープンソースのためだけじゃなくてね。もしUBNTがEOLのブートチェーンをオープンソースにしなきゃいけなくなったら、Cambiumが古いUnifiキットのファームウェアを合法的に作れるようになるって想像できる?逆も同じ。結果的に「コミュニティにサポートされた古いハードウェア」じゃなくて、「永遠の製品アップデートでCambiumから顧客を守る」ってことになるかも。
オープンソースは実際には大規模には実現しないと思う。ほとんどの商業製品には、メーカーが提供する権利を持たないサードパーティの知的財産がたくさんあるからね。最低限、メーカーには、ユーザーが選んだ代替ソフトウェアを実行する妨げを取り除くことが求められるべきだと思う。
最低限のことだけど、私的には十分じゃないかな。スマートホーム製品が存在しない外部サーバーに依存しているなら、普通の人はサードパーティのファームウェアをインストールしてサーバーを自己ホストすることはないよ。結局、捨てちゃうだけだと思う。理想的には、外部依存がないように製品を設計するべきだよね。スマートスピーカーは、外部サーバーに依存せずに標準プロトコルでローカルネットワーク上でストリーミングできるべきだし、電球もOEMのサーバーを通さずに一般的な標準でペアリングできるべきだよ。幸いなことに、いくつかのデバイスではこのトレンドが見られるみたい。Matter over Threadのスマートデバイスは、独自のハブやアプリ、外部サーバーに依存していないからね。
著作権の大きな特徴は、期間が限られていることだよね。著作権の期間が終了すると、公共のものになってみんなのものになる。ソフトウェアに関してこれを損なう大きな要素が2つあるんだ:著作権の期間とソースコードの欠如。ソフトウェアの著作権の期間は、せいぜい数年にすべきだし、著作権を得るためには、ソフトウェアのソースコードが公開されるか、最低でもエスクローに保管されるべきだと思う。そうすれば、著作権が切れた時にもまだ役に立つからね。特許は保護を受ける代わりに公開されることが求められているから、ソフトウェアの著作権も同じようにするべきだよ。
LLMは、かなり良い感じでコードをデコンパイルできるようになってきてるよね。オープンソースが意味を持たなくなるまで、どれだけ進化すればいいんだろう?
- 私の意見はかなり物議を醸すかもしれないけど - これはソフトウェアにも当てはまるよ。ゲームがリリースされてから25年経ったら、もうそのゲームで大きく儲けることはないよね。企業はこの時点で自分たちのゲームをオープンソースにするべきだと思う。そうすれば、Ubisoftみたいな企業が閉鎖してSteamライブラリから完全に削除してしまうゲームを復活させられるから。
昔のマリオやGTAのリコンパイル版のソースコードを公開するメリットは確かにあるよね。
プロジェクトが終わる時にソフトウェアやハードウェアをオープンソースにする最も効果的な方法って知ってる?それは最初から*オープンソース*にすることだよ。資金調達の目標を達成したらオープンソースにするっていう保証じゃないし、将来的にオープンソースにするっていう約束でもない。ビジネスが失敗した時に上層部がオープンソースにするっていう寛大な決定でもない。最初からオープンソースにしておけば、技術に投資する人たちがコミュニティへの約束を果たしたって安心できるんだ。オープンソースのソフトウェアやハードウェアを生み出す製品にお金を払おう。自由な作品を出しているアーティストにもお金を払おう。「将来的にオープンソースにする」と言ってお金を集めるプロジェクトには、今すぐオープンソースにするように要求しよう。私の考えでは、終わったプロジェクトの企業に対してオープンソースにしないことを非難するのは、ただのポーズに過ぎないよ。
[遅延]