本文へ移動

サムスンのオープンエコシステム

グローバル・オープン・エコシステム・チーム
ハビエル・ゴンザレス

  • 共有

過去5年間、サムスンはオープンエコシステムに貢献するために、チーム、文化、プロセスの整備に多大な努力を注いできました。ハードウェア企業がこのような投資をする理由は何でしょうか?また、その価値はどこにあるのでしょうか?ハードウェアの差別化とオープンソースおよび標準化をどのように融合させるのでしょうか?

本稿では、この点を明確化します。具体的には、(i) サムスンにとってオープンエコシステムとは何か、(ii) なぜ標準化とオープンソースを通じたオープン性が重要だと考えるのか、(iii) ハードウェア&エコシステム共通設計がハードウェアベンダーとして成功するための鍵である理由を詳述します。最後に、(iv) サムスン全体でオープンエコシステムチームを構築してきた歴史とその過程で得られた教訓を紹介します。

 

 

1. ハードウェア企業におけるオープンエコシステム

オープンエコシステムの役割を説明する前に、その定義に説明します。サムスンでは「オープンエコシステム」(通常は社内で「エコ」と呼ばれています)を、標準規格、オープンソース、業界のシナジーの組み合わせと定義しています。お客様へのソリューションは、ハードウェアとエコの掛け合わせであると考えています。

 

  • オープンソース : サムスンにおいて、オープンソースとは、広く使用されているメインラインのオープンソースプロジェクトを指し、これらのプロジェクトへの貢献が上流に反映されることが重要です。プロジェクトを分散させて独自の機能を追加することは、オープンエコシステムに貢献するという目的には合致しないと考えています。プロジェクトの分散は、新機能をオープンに開発する手段となる場合もありますが、最終的な目標は、上流でコードをメインラインに統合し、エンタープライズディストリビューションを通じてコードを利用可能にすることです。エコシステムにギャップがあると認識した場合には新しいプロジェクトを立ち上げることもありますが、異なるお客様のニーズに対応しつつ、健全なコミュニティを維持するよう努めています。その一例が「xNVMe」です。

 

  • 標準規格 : サムスンは、自社製品に関連する広範な標準化団体に参加しています。また、いくつかの標準化団体では、リーダーシップチームとしての役割も果たしています。

 

  • 業界のシナジー : オープンソースと標準規格の分野で働く上での課題の一つは、共通のインフラが複数のユースケースをカバーする必要があるという点です。この問題には3つの側面があります(i) 異なる企業が共通のユースケースを持っているものの、社内で異なるアプローチを取ることがある(ii) 標準でサポートされる新機能が一部または複数の企業にとって重要であるが、オープンソースプロジェクトに対応するための変更が大幅な変更を伴う場合がある(iii) 異なる企業が、標準化団体において、同じユースケースを解決するために似た(が同一ではない)アプローチを標準化することに成功する場合がある。これらのケースでは、できるだけ多くのユースケースをカバーしながら、プロジェクトと標準規格を維持しやすくするために、業界全体でトレードオフと妥協が必要になります。

 

これら3つの要素を、組み合わせたエコとして捉えることで新しい製品機能をコミュニティの努力と、最高のハードウェアソリューションを提供するための内部推進力の組み合わせとして見ています。新しい機能を提案・サポートする際には、同業他社や競合他社、顧客と協力し、オープンカンファレンスやボード、標準化団体で最適なトレードオフを見極め、最終的な機能が可能な限り多くのユースケースをサポートできるようにします。そして、メインラインのオープンソースプロジェクトで顧客をサポートするために、必要な変更を上流にプッシュし、コミュニティと協力してコードを有用で維持可能なものにすることを約束しています。

HW製品 「と 」オープン・エコシステム "の2つの円が重なり合い、インダストリー、スタンダード、オープンソースに分けられたE2Eソリューションの図。
HW製品 「と 」オープン・エコシステム "の2つの円が重なり合い、インダストリー、スタンダード、オープンソースに分けられたE2Eソリューションの図。
ハードウェア企業におけるオープンエコシステム

 

新しい技術が登場すると、数少ない先駆者がハードウェアとソフトウェアを密接に統合した垂直型ソリューションを構築し、消費者を単一の供給元にロックインする代わりに、新しい機能を差別化要素として提供します。しかし、技術が成熟するにつれて、広く採用されるためには、その周りにオープンエコシステムが存在していなければなりません。NVMeを例にとって考えてみましょう。PCIe上の初期のNANDは、ベンダー固有のプロトコルと専用ソフトウェアに依存してハードウェアを動作させていました。この分野での先駆者はFusion I/Oであり、PCIe接続のSSDとホストベースのフラッシュ変換層(FTL)を提供していました。このソリューションの性能は非常に優れており、一般的に利用可能なSSDがSCSIを介して通信していた時代とは一線を画していました。NAND on PCIe市場に参入するベンダーが増えるにつれ、標準化の必要性が高まり、NVM Express(NVMe)コンソーシアムが設立されました。現在、NVMeはPCIe接続の不揮発性メディアにおける主要なプロトコルであり、その周りのオープンエコシステムは、ベンダーと消費者が最新の仕様をサポートする、迅速で安全かつ安定したソフトウェアスタックに依存できることを保証しています。この現象は、業界のさまざまなセグメントで繰り返し見られます。これには主に3つの理由があります。

 

  • サプライチェーンとマルチベンダー :  新しい差別化技術が登場すると、先行者には単一ベンダーに依存するリスクを低減するメリットが生じます。しかし、市場に参入するベンダーが増えるにつれて差別化要素が薄れ、単一供給源へ依存する意味合いははなくなります。ここで重要なことは、ベンダーがプロトコル、消費者の行動期待に合わせて、全く新しい技術を同時に使いこなすリスクを、いかに管理するかです。答えは、標準化、オープンソース、そして業界が共通のユースケースを理解するためのオープンなコミュニティにあります。リスクを分散することに加え、オープンで作業することで信頼不足の問題が完全に解消されます。このオープンエコシステムは、消費者にとって安定したマルチベンダーのサプライチェーンを提供し、ベンダーにとってはハードウェアの断片化を減少させ、検証と認定が必要なストックキーピングユニット(SKU)の数を効果的に減らします。

 

  • ソフトウェアの安定性、セキュリティ、中立性 : 標準をサポートするためにメインラインのオープンソースプロジェクトに依存することは、ソフトウェアの品質に直結します。Linuxカーネルのようなプロジェクトでは、新しいパッチが適用される前に厳格なコードレビューが実施されます。また、複数の企業やエンタープライズLinuxベンダーが継続的に統合を実行し、後退を防止します。さらに、メインラインプロジェクトでは多くの場合、機能追加時に中立の立場を保ちながら、安定したコードベースを維持することに長けた個人によって維持されています。会話は常にオープンフォーラムで行われるため、特定の企業が有利になりやすい傾向は非常に稀であり、通常は特定のオープンソースコミュニティ内で対処されます。これにより、ベンダーと消費者の両方が、標準に新たに追加された機能をサポートするためのパッチを送信することが可能になります。ここで言及しているのは、ハードウェアサポートの基盤を提供するコアであり、インフラストラクチャのオープンソースプロジェクト(例:Linuxカーネル、コアライブラリ、ツールチェーン)です。ユーザーは通常、この上に差別化ソフトウェアやサービスを追加し、自社の顧客に対する付加価値としています。

 

  • 新技術採用におけるリスクの共有 : ハードウェアに新機能を追加するには、ベンダー側からの数年にわたる多大な投資が必要です。異なる要求を持つ異なる顧客をサポートすることは、複雑さと断片化を招き、投資を持続不可能にします。標準はこの問題の解決に役立ちます。標準に機能を追加することも数年にわたるプロジェクトですが、ベンダーと消費者がオープンな環境で合意し、トレードオフを解決する必要があるため、エラーや断片化が減少し、1つの機能が複数のユースケースを同時にターゲットにすることが可能になります。これは、これらの機能がメインラインのオープンソースプロジェクトに実装されるとさらに強化され、異なる企業が協力して機能の採用を加速させます。ハードウェアが利用可能になる頃には、エコシステムも整備されています。これにより、リスクが企業間で分散され、より複雑な機能が成功的に展開される可能性が高まります。

 

 

2. ハードウェアとエコシステムの共同設計

ハードウェアとオープンエコシステムの共同設計は、この考え方から進化したものです。ハードウェア機能を構想しながらエコシステムを考慮し、ハードウェアがどのようにサポートされるかをビジネス戦略の一環として定義することを意味します。この段階に到達するには、ベンダーが2つの非並列化可能なフェーズを経る必要があります。

最初のフェーズは、HWからエコへの線を引くことです。言いかえれば、ハードウェア機能をサポートする手段としてオープンエコシステムを考えることです。ほとんどのハードウェア企業は、このようにしてオープンソースや標準化への取り組みを始めます。彼らはSoCのためにドライバを上流に提供し、ハードウェアを管理するドライバで既存の機能を有効にし、または新しく開発した標準機能をコアサブシステムに貢献します。多くのハードウェア企業は、この価値を理解しており、何らかの形で自分たちの分野でハードウェアを可能にするオープンコミュニティの一員になることを目指しています。このプロセスを経て、企業はマスアダプション(広く使われること)への道がLinuxの上流を通じていることを理解します。

しかし、ここで止まるといくつかの課題が生じます。

 

  • 機能のエコーチェンバー : ベンダーがHWからエコへの視点で世界を見ていると、新しい機能を追加し、自社のHWアーキテクチャを通じて製品を差別化する方法しか見えなくなります。これらの進歩は、通常、内部チームが最適化を提案し、顧客が新しいユースケースを提案することで実現されます。ここで、ハードウェア機能が設計・実装されます。最悪の場合、社内の誰もこの機能がエコシステムにどのように統合されるかを考える前に、ハードウェアの開発が完了されてしまうことになり、このプロセスが標準化され、メインラインプロジェクトに組み込まれることは極めて稀な事例になります。多くの場合、このようなプロセスは特定の顧客をターゲットにしたハードウェアを生み出し、サポートするために専用のソフトウェアスタックが必要になるため、SKUの断片化を引き起こします。

 

  • 業界の不整合 : 新技術が大きな差別化ポイントになると、一部の企業は業界やオープンコミュニティからのフィードバックに盲目になる傾向があります。これは、ユースケースの誤解、技術の実際の価値の誇張、または特定の標準やオープンソースプロジェクトでこの機能をサポートする際の変更の範囲を過小評価することによって引き起こされることがあります。業界との整合性を欠くことは、コミュニティに圧力をかけ、最終的に使用されない技術をサポートするリスクがあり、プロジェクトが進化する中で保守作業が続くことになります。

 

  • 信頼の欠如 : 最終的に、上記のすべてが、コミュニティからの信頼を失い、企業が自社の機能を押し進めることだけに関心があり、コミュニティ全体に与える影響を考慮していないと見なされる結果につながります。これは特に、健全なコードベースの維持が最新のプロトコル機能のサポートよりも重要であるメインラインのオープンソースプロジェクトにおいて顕著です。

 

第二のフェーズは、エコからHWへの線を引くことです。これは、オープンエコシステムで観察された問題に基づき、より良いハードウェアとソフトウェアの相互作用が期待されるユースケースを理解することで、ハードウェア要件を定義することです。ここでの重要なポイントは、これは必ずしも顧客によって明確に特定された(そして要求された)問題ではないかもしれませんが、最終的に対処する必要があると考えられる、よく理解された、確立された問題であるということです。したがって、企業内での強力なオープンエコシステムの理解が必要であり、新機能はこれに基づいてハードウェアに実装されます。さらに、エコシステムが製品戦略の一部になると、標準やオープンソースプロジェクトの健全性に貢献することになり、ひいては全員に利益をもたらすことでビジネスの成功に重要な要素であると理解されています。

ハードウェア製品とオープン・エコシステムの関係を表したインフォグラフィックで、アーリーアダプターのイネーブルメントや標準化といった要素を含むHW/ECOの共同設計を強調している。
ハードウェア製品とオープン・エコシステムの関係を表したインフォグラフィックで、アーリーアダプターのイネーブルメントや標準化といった要素を含むHW/ECOの共同設計を強調している。
ハードウェアとエコシステムの共同設計

 

3. グローバル・オープン・エコシステム・チーム

残る疑問は、大企業がどのようにして文化や世界観においてこのような大きな変革を推進できるのか、です。サムスンでは、この取り組みを推進するために専任のチームを結成しました。これを「GOST」、すなわちサムスンのグローバルオープンエコシステムチームと呼んでいます。もともとは「グローバルオープンソースチーム」を意味するGOSTという名前でしたが、その範囲がエコシステム全体に拡大するにつれて、名称も適応させました。

グローバル・オープン・エコシステム・チーム(GOST)のロゴ
グローバル・オープン・エコシステム・チーム(GOST)のロゴ
グローバル・オープン・エコシステム・チーム

 

GOSTは、エコシステムのさまざまな側面に焦点を当てた、グローバルに分散したチームです。

 
私たちは、Linuxカーネル、QEMU、SPDKを含む幅広いオープンソースプロジェクトに貢献しています。ここでは、コードの提供やメンテナンスの責任を担うだけでなく、複数のオープンソース組織のボードやリーダーシップ委員会、カンファレンスの運営機関に参加し、コミュニティの推進にも力を入れています。

コードの高品質を確保するだけでなく、そのコードを支える人々の幸福も私たちの優先事項の一つです。オープンソースコミュニティ全体は、主に素晴らしい職場ですが、ときには議論が白熱する場面もあります。これには、次の2つの理由があります。(i) 私たちのメンテナンスチームが日々何百ものパッチを処理し、プロジェクトを前進させるために多大なプレッシャーを感じていること、(ii) すべての会話(難解な議論も含む)が公開された環境で行われることです。このような状況を踏まえ、サムスンの社内外の新しいメンバーに、どのように貢献を始め、厳しいコードレビューに対処するか指導する時間を取っています。

私たちは、韓国、米国、インド、中国、イスラエル、そしてヨーロッパ(デンマーク経由)に拠点を持つ、グローバルに分散したチームであり、これはサムスンの主要な開発拠点に沿っています。これが私たちの野心的なエコシステムビジョンの成功の鍵であると信じる理由は、次の3つです。

 

  • 連携と役割・責任の重視 :  分散チームをリードすることは、タスク管理ではなく連携・提携に重点を置くことを明確にします。これにより、ビジネスや製品の観点から何が重要かをリーダーが明確にし、エコシステムチームが計画と実行を推進できる良い文化が育まれます。同じプロジェクト内のチームが分散している場合、役割と責任(RnR)を定義する時間を自然に費やすことになります。サムスンの全体的な戦略は、GOSTの活動がビジネス戦略に与える影響を絶えず把握し、それをチームに明確に伝えることにあり、それが私たちの戦術と実行の一部となっています。

 

  • 地域性の必要性 : 分散したエンジニアリングチームは効率的に運営できますが、計画、エコシステム、製品(ハードウェア+ファームウェア)全体にわたる完全に分散した垂直戦略を推進することは困難です。これは、エコシステムチームが唯一の分散チームである場所では特に当てはまります(これは比較的一般的な設定です)。チーム間において対面で会話する時間、ホワイトボードの活用、または人間の相互作用など、野心的な新プロジェクトを推進する際には重要な役割を果たします。サムスンでは、GOSTを最初から分散型として設計しました。ほとんどのメンバーは開発拠点の近くにいますが、完全にリモートの同僚もいます。関連するローカルチームと連携可能な分散チームを維持することが、長期的な成功には不可欠であると信じています。

 

  • グローバルな人材へのアクセス: これは「優れた人材がいる場所で人材を採用する」という古くからの原則です。オープンエコシステムコミュニティは数年前からリモートワークを先駆けており、GOSTのターゲットであるこの人材プールに対して、この哲学に従うのは当然のことです。

 

 

4. 次のステップは?新たな参加者は?

次のステップは、現状の取り組みを継続しつつ、チームを新たな分野へと拡大することです。サムスンは多くの事業部門を持つ大企業であり、それぞれがオープンエコシステムを理解し、貢献することで利益を得ることができます。

外部に目を向けると、さらなるハードウェアベンダーが標準化やオープンソースに積極的に参加することを期待しています。私たちは、カンファレンスで業界の同僚と会うと、私たちや他の企業が行った作業に対する称賛や、上流の問題に関する報告を受けることがよくあります。コミュニティでの努力が認められることや、報告された問題を解決することを楽しんでいますが、彼らの企業も積極的に参加し、オープンフォーラムで議論を行うことを望んでいます。これにより、前述のエコーチャンバー現象や業界の不整合が軽減され、多くの技術が成功するチャンスが増えると考えます。少なくとも、この投稿が新たな取り組みを始めるための手がかりとなることを願っています。

最後に、このブログ記事は、GOST内での新しいブログイニシアチブの第一歩です。私たちは、オープンエコシステムに焦点を当て、重要と考える技術について投稿していく予定です。6~8週間ごとに深掘りした内容を投稿する予定ですので、興味があればぜひご注目ください!