|
この新しい時代において、オープンソースはますます活発に発展しており、オープンソースとクラウドの関係はますます複雑化し、その結合はますます高まっています。クラウドはオープンソースソフトウェアにとって最適な環境の一つであり、オープンソースソフトウェアの飛躍のための安全で効率的なエンジンも提供しています。 1997年5月、エリック・S・レイモンドは「オープンソースのバイブル」と称される『伽藍とバザール』を出版し、オープンソース運動の独立宣言の幕開けとなりました。以来、オープンソースは、リーナス・トーバルズ、ケネス・レーン・トンプソン、リチャード・マシュー・ストールマン、エリック・スティーブン・レイモンドといった個々の英雄たちの登場から、オープンソース運動に加わった企業や組織によるその価値の認識の高まりへと進化を遂げてきました。オープンソースのオープンで平等、協調的で共有的なモデルは、徐々に新世代のソフトウェア開発パラダイムへと発展しました。オープンソースは、特にクラウド時代において、ソフトウェア開発のあらゆる側面を網羅する、世界的なソフトウェア技術と産業革新を牽引する力の一つとなっています。 本稿では、エンタープライズソフトウェアの歴史とオープンソースソフトウェアの開発パターンを検証することで、ソフトウェア開発とデリバリー手法の進化を紹介します。オープンソースソフトウェアの開発と利用に関するよくある誤解を分析し、オープンソースソフトウェアのビジネスモデルとエコシステムを考察し、クラウド時代におけるオープンソースソフトウェアとクラウドの統合と相互促進について考察します。 I. オープンソースが不可欠な理由機能1: オープンソース インフラストラクチャ ソフトウェア アプリケーションの幅と深さの拡大基盤ソフトウェアはコンピューティング業界の「魂」です。過去数十年にわたり、オープンソースの急速な発展に伴い、初期のオープンソースソフトウェアはアプリケーション側に重点が置かれていましたが、オペレーティングシステムやデータベースといった重要な基盤ソフトウェアは、依然として閉鎖的でプロプライエタリな開発モデルとビジネスモデルを採用していました。 現在、基盤ソフトウェアは徐々にオープンソース化、そしてオープンソース技術へと進化を遂げています。ソフトウェア開発者の97%、企業の99%がオープンソースソフトウェアを活用しており、基盤ソフトウェア、産業用ソフトウェア、新興プラットフォームソフトウェアにおけるオープンソースの採用は、飛躍的な発展の重要な原動力となっています。中国情報通信研究院の「オープンソース・エコシステム白書(2020年)」は、近年、国内企業が基盤ソフトウェア分野におけるオープンソースプロジェクトの開発に徐々に注力し、オペレーティングシステム、データベース、ミドルウェアなどの分野で数多くのオープンソースプロジェクトが出現し、国際的な財団によるトップクラスのオープンソースプロジェクトも数多く存在すると指摘しています。 特集2:オープンソースソフトウェアが生み出す価値がより顕著にオープンソースは、世界のデジタル技術革新の原動力となり、強力な技術革新モデルへと進化を遂げています。当初はソフトウェア産業を中心に展開していましたが、ハードウェア、チップ、ビデオ、IoT、AIといった多分野に拡大し、ビジネスモデルも成熟しつつあります。現在では、新製品、新アーキテクチャ、新プラットフォームがオープンソース化され、最先端の研究成果さえもオープンソースとして公開されています。オープンソースは、世界の技術進歩にとって、ますます重要な方向性となりつつあります。 特徴3:国がこれまでにないほどオープンソースソフトウェアを重視している。2021年には、「国民経済社会発展第14次五カ年計画要綱及び2035年までの長期目標」において、「オープンソースデジタル技術コミュニティなどのイノベーションコンソーシアムの発展を支援し、オープンソースの知的財産権と法制度を整備し、企業によるソフトウェアソースコード、ハードウェア設計、アプリケーションサービスの公開を奨励する」必要性が明確に述べられました。オープンソースは国家戦略レベルの支援へと昇格し、急速な飛躍的発展を遂げようとしていることは疑いようがありません。 中国人民銀行弁公室、中国サイバースペース管理局、工業情報化部、中国銀行保険監督管理委員会、中国証券監督管理委員会は共同で「金融業界におけるオープンソース技術の応用と発展の規制に関する意見」(以下、「意見」)を公表した。近年、オープンソース技術は金融業界の各分野に広く応用され、金融機関の技術革新とデジタルトランスフォーメーションの促進に積極的な役割を果たしている。しかし、安全性や制御性など、多くの課題にも直面している。「意見」の公表は、金融機関によるオープンソース技術の合理的な応用を規制し、その応用レベルと自主的な制御性を向上させ、オープンソース技術の健全で持続可能な発展を促進するのに役立つだろう。 II. ソフトウェアの発展とオープンソースの歴史コンピュータ産業の黎明期において、ソフトウェアはハードウェアの機能を補助するツールとして機能していました。1970年代にUnixが登場するまでは、高級言語を用いてオペレーティングシステムを開発する前例はありませんでした。ソフトウェアは汎用性に欠け、独立した存在としてではなくソフトウェア開発プロジェクトの一部として販売されていたため、プロジェクトと共にソースコードを提供するのが標準的な慣行でした。顧客はシステムを継続的に保守する必要があり、開発者はソフトウェアのライフサイクル全体にわたる保守の責任を負うことを望まなかったのです。 Unixの誕生とC言語による主要な実装により、オープンで汎用的なオペレーティングシステムが実現可能となり、ハードウェアとソフトウェアが互換性と汎用性を追求する中で、ソフトウェアの開発とライセンス供与が可能になった。Unix開発の初期段階では、オーナーであるAT&Tがソフトウェア業界を避けるという異例の姿勢(同社の中核事業である通信事業が厳しい独占禁止法の圧力下にあり、余計なトラブルを増やしたくなかったため)により、Unixライセンスはその後の技術サポートなしにソースコード形式でユーザーに提供され、ユーザーは自身の環境で問題を修正し、新しいハードウェアプラットフォームに移植することができた。この時期にライセンスを取得した大学、政府、一部の営利組織は、その後のUnix開発の基盤を築いたが、同時に後のUnix紛争や分裂の種を蒔くこととなった。 1980年代には、コンピュータの多用途化と普及が進み、多数のコンピュータで実行できる汎用ソフトウェアが商用ソフトウェア産業を徐々に刺激し、同産業は繁栄を続けました。多くのソフトウェア企業が誕生し、Microsoft、SAP、Oracle、Adobeなど、現在も業界の巨大企業として活躍しています。この時代における重要な特徴は、コンピュータユーザーが専門家から一般ユーザーへと拡大するにつれ、ソフトウェアの提供が徐々にソースコードではなくランタイムプログラムのみの提供へと移行していったことです。ユーザーにはベンダー定義の使用ライセンスが販売され、ベンダーはソフトウェアの販売に加えて、ソフトウェアのアップグレード、問題の解決、新しいデバイスの動作環境の提供といった有料の技術サポートサービスも提供しました。ユーザーである消費者には、もはやソフトウェアを変更したり実行したりする権利はなく、ソフトウェアライセンスと技術サポートサービスは、商用ソフトウェア産業にとって重要なビジネスモデルとなりました。 パーソナルコンピュータ業界において、顧客によるソフトウェアの利用方法は今日に至るまで根本的に変わっていません。ユーザーの大多数はソフトウェア開発の専門家ではなく、システムやアプリケーションを自ら変更する必要がないため、このモデルはユーザーのニーズにうまく適応し、繁栄を続けています。 サーバー分野におけるUNIX陣営は、AT&Tが配布した初期のコードに端を発しています。Sun、HP、DEC、IBMなどが、それぞれ異なるハードウェアアーキテクチャをベースに独自のUNIXシステムを開発し、いわゆるオープンシステムエコシステムを形成しました。普遍性と互換性の必要性から、POSIXなどの統一規格が誕生しました。しかし、UNIXのライセンスや法的規定の曖昧さ、そして後継者の姿勢や野心は、多くの問題を引き起こしました。様々なUNIX派生システムが、UNIXバックボーンとの統一的な連携を欠いたまま、独自にブランド名を変えて開発されました。この断片化はWindows NTに大きな商業的チャンスをもたらし、今日のWindows Serverオペレーティングシステムシリーズへと発展しました。これらの商用オペレーティングシステムは、現在もエンドユーザーへのランタイムライセンスの提供と商用技術サポートサービスの提供のみを行っています。 1980年代のソフトウェア業界におけるもう一つの重要な出来事は、フリーソフトウェア財団(FSF)の設立でした。学術機関や研究機関において、「ハッカー精神」は常に多くの人々の追求の対象であり、究極のソフトウェアの自由を追求するこの基盤は、ソースコードを変更する権利にあります。リチャード・ストールマン氏のGNU(GNU is Not Unix)イニシアチブ(彼に対する様々な批判はありますが、GNUとFSFの意義と価値を損なうものではありません)は、Unixツールシステムのほとんどを再開発・実装し、これらのソフトウェアをGPLライセンスの下でリリースしたことは特筆に値します。GPLは派生ソフトウェアのソースコードの継続的な提供を義務付けています。GNUは一般的なUnixツールシステムのほとんどを実装しましたが、それでもUnixオペレーティングシステムカーネルへの依存から逃れることはできませんでした。このギャップは、1991年にリーナス・トーバルズ氏がLinuxカーネルの開発を開始するまで埋められませんでした。Linuxカーネルとその周辺ツールもGPLライセンスの下で、Linuxエコシステムを形成しました。 Unix の使用と開発に関する豊富な経験を持つ多数の大学、研究機関、商業組織の積極的な参加により、Linux は急速に成長し成熟しました。 1990 年代半ば以降、インターネットが盛んになり始め、さまざまな Unix 派生製品や Windows NT が初期段階でこの開発プロセスをサポートしました。 ユーザーベースの爆発的な成長に伴い、コストは避けられない要素となりました。特に、多くの新興インターネット企業は高価なハードウェアと厳格なソフトウェアライセンスに貴重な資金を費やすことを望まなかったためです。この期間中、Intel は徐々に PC CPU プロバイダーからサーバー CPU プロバイダーへと移行しました。そのスケールメリットにより、その CPU 機能は徐々にサーバー RISC CPU に匹敵するようになりました。これらの CPU は、オープンシステムで稼働するさまざまな Unix サーバーのコア機能を提供しました。Linux は、強制されない価格設定とオープンソースの性質により、多くの新興インターネット企業にバックエンドサービスプラットフォームとして選ばれました。広く採用され、大規模に展開されたことで、Linux は急速な発展を続け、ミッションクリティカルなアプリケーションをサポートするサーバーオペレーティングシステムへと進化しました。同時に、このオペレーティングシステム上に構築されたさまざまなオープンソースシステムが広く使用され、継続的に開発され、インターネット大手がオープンソースソフトウェアと自社開発のビジネスソフトウェアの両方に依存する現在の状況が徐々に形成されました。 21世紀に入り、インターネット分野におけるオープンソースソフトウェアの普及、CPU分野におけるインテルの優位性の確立、そして様々な閉鎖的なオープンシステムの衰退に伴い、多くの商業企業もオープンソースオペレーティングシステムやオープンソース技術プラットフォームソフトウェアの導入を開始しました。応用シナリオの充実は、様々なオープンソースソフトウェアの開発をさらに促進し、今日に至るまで続く競争環境を形成しています。 III. オープンソースソフトウェアライセンスシステムの定義と開発文字通り、オープンソースとはソフトウェアのソースコードをユーザーに公開することを意味します。しかし、単にソースコードを提供するだけでは、現在の「オープンソースソフトウェア」の標準的な定義ではありません。「オープンソースソフトウェア」とは、ソフトウェアがソースコードをユーザーに提供し、ユーザーがそれを自由に改変し、継続的に進化させることを認めていることを意味します。そのため、改変されたソフトウェアの再配布に関する規制の違いが、異なるオープンソースソフトウェアのライセンス体系を形成しています。 現在、オープンソースソフトウェアのライセンス体系は、主に2つのカテゴリーに分けられます。一つはGPLライセンスに代表される、オープンソース化を義務付けるライセンスです。もう一つは、BSDライセンス、MITライセンス、Apacheライセンスのように、オープンソース化を義務付けない、パーミッシブ・オープンソースライセンスです。GPLライセンスは、下流の「配布」においてソースコードの提供を義務付け、GPLとの互換性を変更できないため、オープンソースソフトウェアを非オープンソースソフトウェアに変換することを制限しています(ただし、「配布」の定義には、悪用される余地が残されています)。オープンソース化の義務付けは、サービスプロバイダー、特にクラウドサービスプロバイダー向けに、AGPLなど、様々な派生ライセンスを生み出しています。AGPLは、過度の制限と複雑さのため、広く受け入れられていません。パーミッシブ・オープンソースライセンスは、オリジナルソフトウェアのライセンス部分の帰属表示と保持を義務付けていますが、派生部分のオープンソース化は義務付けていません。 オープンソースソフトウェアを判断するための具体的な基準については、[1]の10原則を参照してください。1.ソフトウェアの再配布の自由を制限しない。2.継続的な開発に使用できるソースコードを提供する。3.ソースコードに基づいた修正と開発作業を許可する。4.元のソースコードの完全性を保証し、パッチの形で変更したり、名前やバージョン番号を変更して区別することで変更できる。5.特定の個人またはグループに対する差別的な制限がない。6.ソフトウェアが使用される領域に制限がない。7.派生的な製品がリリースされた場合、より厳しいライセンス制限を課さない。8.ソフトウェアライセンスは、全体に対してだけでなく、各コンポーネントレベルでも有効である。9.ソフトウェアライセンスは、同じメディアでリリースされる他のソフトウェアには適用されない。10.ソフトウェアライセンスには、技術的な中立性に影響を与える条項が含まれない。 IV. オープンソースソフトウェアがソフトウェア産業のビジネスモデルに与える影響1. オープンソースはソフトウェアの基本的な実行方法を変えていません。成熟したソフトウェア市場において、技術サポートサービスはソフトウェア自体の開発とリリースと同様に重要です。現在まで、複雑なソフトウェアの正しさを証明できた人はいません。ソフトウェアの品質は、設計、実装、テスト、運用の過程で明らかになる問題を継続的に修正することにかかっています。オープンソースソフトウェアは開発段階とリリース形式を変えるだけで、他のソフトウェアライフサイクル、特に多数の非開発者に提供される基盤プラットフォームソフトウェアにも同じ法則が当てはまります。技術サポートをユーザーに完全に委譲することは現実的ではありません。技術サポート能力は、ソフトウェアがサポートできるビジネスにも直接影響します。顧客のビジネスオペレーションをサポートし、ソフトウェア自体の進化に適応したサービス品質を確保することは、ソフトウェアビジネスの重要な部分であり続けています。 2. オープンソースは、分散型共同開発のモデルおよび推進者となっています。今日、オープンソースソフトウェアは、共同開発モデルであることがより重要になっています。オープンソースソフトウェアプロジェクトのガバナンス方法も、クローズドアプローチとオープンアプローチで異なります。オープンソースプロジェクトでリーダーシップと管理権限を確立する一般的な方法は2つあります。1つは、Apacheのようにプロジェクトを財団に所属させること、もう1つはMySQLやLinuxカーネルのように、発起人または作成者が主導する管理モデルです。どちらのアプローチが最適かを明確に判断することは困難ですが、比較的、成熟した組織モデルを持つ評判の良い非営利団体による管理の方が、信頼を獲得し、より幅広い参加者を引き付ける可能性が高くなります。組織間および地域間のコラボレーションは、さまざまなソフトウェア機能の継続的な開発を効果的にサポートします。数千万行のコードを持つLinuxカーネルのようなソフトウェアは、急速に反復を続け、IT業界全体の継続的かつ急速な発展を推進しています。 3. オープンソースは無料ではありません。オープンソースソフトウェアは、フリーソフトウェア運動から生まれました。「フリーソフトウェア」という名称はしばしば「無料」を意味すると誤解されますが、この文脈における「無料」は「自由」を意味します。オープンソースはソフトウェアの自由の精神を体現しています。今日でも、Linuxのように完全なオープンソースを謳うソフトウェアは、品質保証されたディストリビューションと技術サポートサービスの提供を主な事業としており、ライセンス料を徴収することは認められたビジネスモデルではありません。MySQLは異なるソフトウェアライセンスを提供しているため、特別なケースとなっています。商用版とコミュニティ版は本質的に別々の製品であり、コミュニティ版のコードの大部分は集中管理下で共有されています。その根本的な理由は、MySQLに関連するすべての知的財産権が単一の商業団体に完全に帰属しているからです。 4. ソフトウェアを配布物として提供し、クラウドでサービスを提供することが、依然として主流のビジネス モデルです。現在、ソフトウェア利用者の大多数はソフトウェア開発者自身ではありません。システムソフトウェアやプラットフォームソフトウェアは複雑かつ大規模であり、問題解決と継続的な進化をユーザーに委ねることは、必ずしも必要ではなく、現実的でもありません。ソフトウェアディストリビューションやクラウドサービスでは、個々のソフトウェアの提供に加えて、包括的な検証、テスト、最適化が求められます。品質と互換性を確保するためのこうした作業は、プロプライエタリなクローズドソースソフトウェアのリリースと本質的に変わりなく、ソフトウェアがランタイム環境と連携して動作することが不可欠です。継続的な技術サポートはソフトウェアの運用を保証する上で不可欠な要素であり、この作業の価値を認識することは、効率性を向上させ、システムの運用を確実なものにするための選択となります。 V. オープンソースユーザーとしての企業の課題中国工業情報化部によるオープンソース・エコシステムの構成要素分析によると、オープンソース・エコシステムは5つの要素と3つの段階から構成されています。その中核となるのはオープンソース・プロジェクトです。オープンソース・プロジェクトは、オープンソース・コミュニティ内の連携によって形成され、ソフトウェア、ハードウェア、その他のオープンソース・プロジェクトを網羅しています。オープンソース・コントリビューター、ユーザー、オペレーター、サービスプロバイダーなど、複数のステークホルダーが関与し、オープンソースのガバナンス、運用、商業化といった様々な段階が含まれます。オープンソース規制への準拠は、コードホスティング・プラットフォームなどのインフラストラクチャに依存しています。 ほとんどの企業は業界のオープンソースプロバイダーおよび業界ユーザーとして存在しており、直面する課題はすべて同じではありません。 1. ITアーキテクチャガバナンスの課題 - CIOの視点企業によってIT開発の段階が異なるため、オープンソースソフトウェアの活用方法は異なります。しかし、どのようなアプローチをとるにせよ、最終的にはITアーキテクチャの統一されたガバナンスが不可欠です。 最初のタイプは、最初からすべての事業運営をオープンソースソフトウェアで構築する新興企業です。これは、インターネット企業や、オープンソース技術が比較的成熟した後に設立された企業によく見られます。これらの企業では、ソフトウェアやソフトウェアサービスに費用を支払う習慣が一般的にありません。さらに、これらの企業はIT機能を自社の中核的な競争力と見なし、オープンソース技術プラットフォームを基盤として基幹業務システムを構築しています。プラットフォーム技術チームは、オープンソースやカスタマイズされたオープンソース派生物を十分に活用でき、カスタマイズや適応は自社の開発チームが担当するケースが多く見られます。しかし、カスタマイズされたシステムが進化し、ビジネスの重要性が高まるにつれて、コード修正やソフトウェアのアップグレードは大きな課題に直面します。そのため、企業は技術投資を継続的に増やすか、変更を避ける保守的なアプローチを採用するかを迫られます。時間が経つにつれて、これは停滞と非効率につながり、技術のアップグレードを非常に複雑にし、事業継続性に影響を与えます。 2つ目のタイプは、従来型企業が商用ソフトウェアの一部をオープンソースソフトウェアに置き換えるというものです。これは、長年の実績を持つ大・中堅企業に多く見られます。長年商用ソフトウェアのソフトウェア技術サービスを享受してきた企業は、コスト削減、効率向上、技術統制の追求から、オープンソースソフトウェアへの需要が高まっています。また、新たな技術や開発手法の登場により、新規事業開発においても、プラットフォームレベルの主流技術となったオープンソースソフトウェアを拒否することは不可能になっています。 3つ目のタイプは、オープンソースソフトウェアと商用ソフトウェアの選択と切り替えのプロセスです。特定の業界は、開発の特定の段階で商用ソフトウェアを選択する場合がありますが、これらのハードルを乗り越えた後、オープンソースソフトウェアを再び採用し、自社の研究開発投資を増やす可能性があります。典型的な例がアリババです。電子商取引ビジネスはトランザクションの一貫性に対する高い要件があり、主にリレーショナルデータベースに依存しています。MySQLはタオバオの立ち上げを支援しましたが、急成長期には商用データベースソフトウェアに依存していました。その後の開発は、分散アーキテクチャへの依存度を高めました。蓄積された技術力とアーキテクチャ能力により、タオバオは最終的に分散アーキテクチャを使用して商用データベース製品への依存を解消し、全体的なテクノロジースタックはオープンソースフレームワーク内で採用され、進化を続けました。 オープンソース ソフトウェアの特性、さまざまなバージョン ルート、さまざまなアプリケーションに対するさまざまなオープンソースの組み合わせの複雑さを考慮すると、さまざまな企業がさまざまなエンタープライズ レベルの技術アーキテクチャ ルートを選択する権利がありますが、オープンソースの使用においては、車輪の再発明を避けることをすべての企業が考慮する必要があります。 2. 自立と制御の課題「自律性」の意味は、大きく分けて二つの意味に解釈できます。一つは、知的財産権が完全に管理されたソフトウェアを、外国の製品・サービスシステムの制約を受けずに、主権領域内で製造業者が使用することを意味します。したがって、ここでの「自律性」は国家主体を指します。もう一つは、企業自身が、自らの意志、ニーズ、アイデアに基づき、許諾を侵害することなく、ソフトウェアを自由に改変・使用できることを意味します。 「制御可能」であることは、「ボトルネック」の対義語です。これはオープンソースソフトウェアであれ、商用ライセンスのソフトウェアであれ、変わりません。一部の企業は、今後オープンソースソフトウェアの商用ディストリビューションやサービスの購入を停止したいと考えています。確かに、社内での研究開発と管理に注力し、特定のシナリオにおいて外部の商用ソフトウェアへの依存を断ち切り、完全に独立した製品をゼロから構築するという成功例もあります。実際にこれを達成した企業もありますが、ごく少数です。客観的に見て、このアプローチには、優秀なソフトウェアエンジニアを多数擁し、オープンソースソフトウェアに関する豊富な経験が必要です。ソフトウェア事業がコアビジネスでなければ、長期的には大きな課題に直面することになるでしょう。 ほとんどの企業にとって、自主管理とリスク軽減を実現するには、自社が運用し、依存しているソフトウェアを適切に理解することが不可欠です。理想的には、オープンソースソフトウェアのコード、アーキテクチャ、テストを徹底的に学習する必要があります。たとえそれが不可能であっても、少なくとも主要な検証とデバッグ機能、そしてソフトウェアのアップグレードと展開機能を習得し、緊急事態への対応力を確保する必要があります。ここで重要なのは、ソフトウェア製品の主流コミュニティと連携し、学習と模倣を通じて迅速に独自の能力を構築することです。したがって、企業はオープンソースベンダーとの関係を断つことを避けるだけでなく、リスクに直面する可能性が高いほど、避けられない外部要因によって本当に断絶されない限り、オープンソースの商用エコシステムとのつながりをより広範囲に構築する必要があります。 3. コスト管理の課題ほとんどのオープンソースソフトウェアのコストは、品質管理、アップグレード、保守サービスといった継続的なコストに起因する、目に見えないものです。オープンソースソフトウェアはあくまでソフトウェアであり、ソフトウェアの基本原則を遵守しています。しかし、オープンソースソフトウェアを大規模に組み合わせて使用するには、非常に高い技術サポート能力が求められます。広く普及しているオープンソースソフトウェアは一般的に高い品質と信頼性を誇りますが、膨大な量のソースコード製品の継続的な運用を単一企業の技術力でサポートすることは非常に困難です。ITを中核的な競争優位性と考える、ごく少数の巨大企業だけが、事業において極めて高いレベルの安定性を実現できます。 デジタル時代において、企業はIT投資を継続的に増加させていますが、よくある誤解を避けることが重要です。それは、単一のソフトウェアアプリケーションのライセンス費用が投資のすべてではないということです。真の焦点は、それに続くサポート投資にあります。企業は、単純な最終コストモデルやROI計算にとらわれず、ビジネスの観点から全体的なコストを考慮する必要があります。 4. セキュリティ上の課題オープンソースソフトウェアの脆弱性の増加は、オープンソースコンポーネントの広範な採用に起因しています。近年のオープンソースコミュニティの大幅な成長と、最近のデータ侵害のメディア報道により、オープンソースセキュリティに対する一般の認識が高まっています。統計によると、オープンソースコードリポジトリの84%に少なくとも1つの脆弱性が含まれており、監査済みのコードリポジトリの60%に高リスクの脆弱性が含まれています。2021年12月に発生したlog4j2の最近のリモートコード実行の脆弱性はその典型的な例です。この脆弱性は大きな影響を及ぼし、攻撃者に悪用された場合、深刻な被害をもたらす可能性があります。オープンソースソフトウェアのセキュリティ問題は、多くの場合、管理上の見落としに起因すると考えられています。これらは主に、1.オープンソースソフトウェアユーザーによるタイムリーな更新、2.オープンソースプロジェクトにおけるSDLなどのプロセスおよび管理ツールの欠如、および3.攻撃者によるオープンソースエコシステムへの攻撃の増加に反映されています。 5. コンプライアンスの課題最も厳格なコンプライアンス要件を持つ金融業界を例にとると、「金融業界におけるオープンソース技術の応用と発展の規制に関する意見」では、金融機関はオープンソース技術に関する関連法律とライセンス要件を遵守し、規制に従ってオープンソース技術を使用し、オープンソース技術の使用範囲と使用の権利と義務を明確にし、オープンソース技術の作者または権利者の正当な権益を保護する必要があることが明確に規定されています。 オープンソースのコンプライアンス要件を考慮すると、ソースコードのライセンスモデルは極めて重要になります。問題をプロアクティブに特定するために、初期段階で集中スキャンアプローチを検討し、リリース前に企業内で使用されるすべてのソフトウェアバージョンに対して、オープンソースコンプライアンスのバッチスキャンを実行します。しかし、オープンソースソフトウェアの利用がますます広まるにつれて、スキャン自体が複雑なプロセスになり、問題が発見されると、開発者は修正に十分な時間を確保できなくなります。現在、企業がオープンソースソフトウェアのコンプライアンスを達成する上で直面している大きな課題の一つは、企業内のオープンソース製品のライセンスと使用状況に関する統計を効率的に収集し、コンプライアンス違反の使用を迅速に修正し、オープンソースソフトウェアのコンプライアンスに関する包括的な概要を作成することです。 VI. オープンソース業界のパイオニアとしての企業の課題1. エコシステム構築の課題初期のオープンソースコミュニティの運営は、様々な業界や企業におけるオープンソース技術の実際の適用状況を正確に反映していませんでした。現在、オープンソースコミュニティや財団は業界間のコミュニケーションとユーザー共有をより重視しており、クラウドベースのソフトウェア製品の使用統計が新たなエコシステム運営メカニズムを形成する可能性があります。 2. ビジネスモデルの課題オープンソース製品のビジネス モデルは、基本的に、差別化された商用製品を提供する Open-Core、プロフェッショナル サービス、ホスティング、アプリケーション ストア、アプリケーション マーケット、プラグインを提供する Marketplace の 4 つのモデルを統合しています。 成功しているオープンソース企業にとって、最も一般的なビジネスモデルは、コア製品をオープンソース化し、ホスティングやサービスを二次的、三次的な収益源として活用することです。これらの組み合わせは、オープンソース製品や業界によっては、特定の時点では効果的かもしれません。しかし、市場競争や顧客の変化に伴い、これらのモデルは不適切となり、製品独自のビジネスモデルの開発が必要になる場合があります。従来のオフラインでのソフトウェア販売、流通、デリバリーモデルは、オープンソースにとって現実的なビジネスモデルにはなりにくいでしょう。 VII. クラウド時代における企業におけるオープンソースソフトウェアの利用の変化1. クラウドコンピューティングがもたらす変化顧客は、ソフトウェア購入後の利用プロセス全体に対する責任から、サービス以外のサポートの詳細を気にすることなくサービスを直接利用する方向へと移行しつつあります。顧客はソフトウェア自体に関連する商用条件にそれほど敏感ではなく、サービスパッケージの透明性の欠如も、特に運用と機能提供の責任がクラウドコンピューティングプロバイダーに移行するにつれて、ソフトウェア開発へのユーザーの関与を低下させています。 広く普及しているオープンソースソフトウェアライセンスは、クラウドコンピューティングが登場したり、大きな影響を与えたりするよりも比較的初期に制定されました。これらのライセンスは、主にディストリビューションを通じて配布されるソフトウェアを対象としていました。クラウドサービス、特にパッケージ化されたPaaSサービスは、GPLなどのライセンスに義務付けられているオープンソースの義務を回避しています。このことが、クラウドベンダーがオープンソースソフトウェア自体への貢献や共有を減らすよう、ある程度促してきました。 インターネット大手がオープンソース ソフトウェアを広く活用し、パブリック クラウドを継続的に開発してきた成功体験は、クローズドソースのインフラストラクチャとそれをサポートするプラットフォーム ソフトウェアには、ほとんどのシナリオにおいて一般的な将来性がもはやないことを証明しています。 2. クラウドとオープンソースの共同開発特定のベンダーに縛られることを望む顧客は皆無であり、これはパブリッククラウドにも当てはまります。アプリケーション運用を支える基盤プラットフォームは、ソフトウェア時代のオペレーティングシステムやデータベースからコンテナスケジューリングへと進化し、ハイブリッドクラウドは長期的なサポート手段として今後も発展を続けていくでしょう。こうした状況を踏まえ、クラウドプラットフォームは汎用的でオープンな技術を提供する必要があります。アプリケーションが利用する機能インターフェースに関しては、汎用性を確保するための標準に準拠し、アプリケーションの移植性を制限してはなりません。基盤となるランタイムエンジンに関しては、差別化された非機能サポートを提供することで、顧客のビジネス目標達成をより効果的に支援します。そして、独自に構築したデータベースなどの主要ドメインに特化した差別化されたサービス機能と組み合わせることで、俊敏で柔軟な開発能力と、安定的かつ効率的なサポート能力をユーザーに提供する必要があります。 主流のクラウドコンピューティングベンダーは、エンタープライズIT市場においてますます重要な役割を担っており、主流のオープンソースソフトウェアとクラウドプラットフォームの効果的な統合は、こうした能力の重要な現れです。オープンソース技術はクラウドサービスの将来の方向性を示すものでもあり、主流のオープンソースプロジェクトに積極的かつ効果的に参加することは、クラウドベンダーにとって大きなビジネスチャンスとなります。大手クラウドベンダーは、オープンソースプロジェクトの継続的な発展を支援するために人的資源と資金を投入しており、これはクラウド技術の能力を効果的に活用することに役立っています。 ユーザーにとって、主流のクラウドプラットフォームは、コンテナ、ミドルウェア、データベースといったコアテクノロジーにおいて、顧客構築システムと比較してはるかに高い一貫性を提供します。ビジネスシステムを設計する際には、テクノロジープラットフォームの様々なレイヤーの抽象化と管理を慎重に検討し、特定の管理機能への固定的な縛りを軽減する必要があります。コードを1行も変更せずに異なるクラウドプラットフォーム間をシームレスに切り替えることは現実的ではありませんが、アプリケーションコードに影響を与えることなく管理レベルで動作するクラウド固有の機能を追求することは、より現実的なアプローチであり、プラットフォームに依存しないクラウドネイティブソリューションの方向性とも合致しています。 パブリッククラウドとさまざまな形態のハイブリッドクラウドは、今後のIT機能提供の主流となるでしょう。オープンソースソフトウェアは、プラットフォーム技術ソフトウェアの効果的で主流の開発モデルであることが証明されており、クラウドコンピューティングとオープンソースの組み合わせは避けられないトレンドになるでしょう。クラウド上でさまざまなレベルでホストされるオープンソースソフトウェアは、技術的な機能を提供し、将来的には企業のITにとって主要な選択肢となるでしょう。ホスティングレベルの相違、管理レベルとクラウド統合の違い、ランタイム最適化機能はすべて、クラウドサービスの違いに寄与します。管理統合が強化されるほど、運用の最適化が深まり、管理要件が少なくなることが多く、提供されるサービスの自律運用機能も強化されます。その結果、データベースなどのPaaS型サービスが生まれ、顧客は自分で導入して管理することを選択します。この場合、クラウドインフラストラクチャは、顧客が自分で統合できるように十分なオープン性を提供する必要があります。 一方、インフラストラクチャのサービス能力は、最終的なサービスや業務アプリケーションの全体的な費用対効果に直接反映されます。ソフトウェア、特にテクノロジープラットフォームソフトウェアは、最適な安定性と費用対効果を実現するために、広範なテスト、検証、最適化が必要です。パブリッククラウドの運用環境と、それがサポートする大規模で多様な顧客シナリオは、ソフトウェアの成熟に最適な環境を提供します。大手パブリッククラウドベンダーは、将来的にソフトウェア開発、検証、継続的なサポートサービスに投資できる最も重要なリソースプールでもあります。最適化に加えて、マネージドソフトウェアサービス自体のオープン性と互換性を維持することも重要な取り組みです。ブラックボックスアプローチではなく、運用効率を通じて顧客を獲得・維持することが、クラウドプラットフォームの中核的な競争力となるでしょう。 クラウドコンピューティングの継続的な発展は、オープンソースソフトウェアに新たな舞台をもたらしました。クラウドプラットフォームとオープンソースコミュニティが効果的に連携し、ロックインを回避しながらユーザーの信頼を獲得することは、クラウドプラットフォームのオープン性の重要な表れであり、将来のIT業界の継続的な発展を支える力となるでしょう。 全体として、クラウドの誕生以来の固有の特性と継続的な開発能力により、企業によるオープンソース ソフトウェアの持続的な使用に伴う課題にクラウドが自然に対処できるようになりました。 現在、クラウドは、オープンソース テクノロジのガバナンスを含むエンタープライズ IT アーキテクチャ ガバナンスに最適なプラットフォームであることが証明されています。 クラウド プラットフォームは、コンプライアンス スキャン、脆弱性スキャン、さまざまなオープン ソース ソフトウェアのアップグレードを可能にし、セキュリティとコンプライアンスの問題に一元的に対処できるようになります。 クラウドネイティブ技術の発展により、さまざまな基本的かつ革新的なオープンソースソフトウェア技術が統合され、クラウド時代のオープンソースソフトウェアの可観測性、開発効率、管理効率が大幅に向上しました。 クラウド ベンダーは、オープンソースの最大のユーザーであり、ベスト プラクティスも有しています。そのため、企業はオープンソースを管理し、試行錯誤のリスクから保護することができます。 クラウド プラットフォームは本質的に、オープンソースの貢献者とユーザーがクラウドでのニーズに基づいてコミュニケーションを取り、開発を推進できる共同プラットフォームです。 この新しい時代において、オープンソースは隆盛を極めており、オープンソースとクラウドの関係はますます複雑化し、密接に結びついています。クラウドはオープンソースソフトウェアにとって最適な環境の一つであり、安全かつ効率的な成長の原動力となっています。 |