オープンソースの可能性を最大限に引き出す (FossID を用いて)

オープンソースソフトウェア

オープンソース ソフトウェアは、現代の開発の主要なコンポーネントです。オープンソース コードを使用することで、開発チームは開発を加速することができます。

オープンソース ソフトウェアは、現代の開発の主要なコンポーネントです。オープンソース コードを使用することで、開発チームは納期を短縮し、完成品をより効率的に出荷できるようになります。競争の激しいビジネスの世界では、企業は得られるあらゆる利点を必要としています。オープンソース コードを使用すると、製品に重点を置いた組織は、製品のタイムラインに関する目標を効率的かつ効果的に達成できます。

実際、無料のオープンソース ソフトウェアの利点 (ソフトウェアの一般的な問題の解決にかかる時間を節約し、製品の提供を迅速化するなど) が強く認識されているため、Microsoft、Apple、Amazon などの規模の組織がオープンソース コンポーネントを活用しています。現在、最新のソフトウェアの 70% ~ 90% がオープン ソース コードを使用していると推定されています。

問題は、オープンソース ソフトウェアの急激な成長が、競争力の最適化を目指す組織にとって新たな課題と新たなリスクを生み出していることです。実際、今日企業が直面している最大の問題の 1 つは、コピー&ペーストされたオープンソース コードにあります。これらのコード スニペットが検出されない場合、企業は脆弱性、ライセンスの問題、コンプライアンス リスクをもたらし、最終的には強力な製品パイプラインを妨げる可能性があります。

したがって、オープン ソース コードが検出されないと、重大な問題が発生する可能性があります。しかし、これは解決可能な問題です。それについて議論する前に、オープンソース コードの力を調べてみましょう。

オープンソース ソフトウェア: 長いコンピューティングの歴史

オープンソース ソフトウェアには、現代のコンピューティングにおいて長い歴史があります。1970 年代以前は、すべてのソフトウェアはオープンソースであり、広く共有されていました。企業は主にハードウェアの販売に注力しており、ソフトウェア製品は無料のアドオンとして提供されていました。企業が独自のソフトウェア製品に移行し始めたのは、IBM がソフトウェアをハードウェアから切り離した 1969 年になってからでした。これにより、 SPICETeXUnix オペレーティング システムなどのほんの少しの瞬間を除いて、1970 年代の大部分でオープンソースの概念が消滅しました。

Unix は、ベル研究所で作成されてから 1970 年代に学術機関に配布されました。ライセンス所有者以外には送付できませんでしたが、1970 年代後半には、これらの学術機関や研究機関が相互にコードを共有し、オペレーティング システムの改良に努めました。これは、まさに現代のオープンソース コミュニティのプロトタイプでした。

オープンソース運動が本格的に復活したのは、GNU プロジェクトが発足した 1983 年になってからでした。GNU プロジェクトの目標は、無料のオープンソース コンポーネントのみから構築されたオペレーティング システムを作成することでした。1990 年までに、彼らは OS のリリースに近づいていましたが、無料バージョンがなかったため、依然として特定のプロプライエタリソフトウェアを使用していました。

1990 年代には、特にインターネットの出現で共有が容易になったため、使用量はさらに増加し​​ました。オープンソース コミュニティはオンラインで誕生し、1994 年の Linux 1.0 のリリースにより、オープンソース コミュニティは非常に強力な支援を得るようになりました。企業と個人のボランティアはオープンソース コードの維持に協力し、一部の企業は競争上の優位性を維持するためにオープンソース ソフトウェアのプロプライエタリバージョンを取得するためのフォークを作成しました。

1990 年代後半から 2000 年代前半にかけて、企業はソフトウェアをオープンソースとしてリリースし始めました。Netscape は 1998 年に最初のオープンソース企業製品の 1 つをリリースし、その後すぐに Mozilla Firefox がリリースされました。Linux Foundation は 2000 年に設立され、1980 年代に GNU プロジェクトと並行して設立された Free Software Foundation では会員数が増加しました。

現在、オープンソース コミュニティには、世界最大手の企業の専門家が参加しています。たとえば、2023 年 1 月には、1,000 人近くの Google 従業員がオープンソース ソフトウェア プロジェクトに参加しました。Open Source Contributor Indexによると、同月には Red Hat の従業員約 900 名が参加しました。これらの大手企業からの寄付と、そこからのオープンソース コミュニティへの資金提供により、オープンソース ソフトウェアのエコシステムが繁栄しています。

また、オープンソース コミュニティも大幅に成長しています。これは、初心者レベルの開発者が自分のスキルを示す方法とみなされており、キャリアのどの段階でもプログラマーに継続的な進歩の機会を提供します。無料のオープンソース ソフトウェアの動きが活発化しており、企業は複数の主要製品にオープンソースを組み込んでいます。オープンソース ソフトウェアは成長しており、今後も成長し続けるでしょう。

オープンソース ソフトウェアを使用する利点

オープンソース ソフトウェアは、それを使用する組織に大きなメリットをもたらします。その主なものは時間の節約です。ソフトウェア開発でオープンソース コードを使用すると、エンジニアは同じ問題を何度も解決するために時間を費やす必要がなくなります。たとえば、オープンソースのログ ユーティリティやその他の一般的なソフトウェア コンポーネントが無数にあります。たとえば、Apache Software Foundation は、その後援の下に 362 のオープンソース プロジェクトを抱えています。

オープンソース ソフトウェアを活用する開発者は、基本を再構築するのではなく、これらのリポジトリの価値を拡張することにすぐに取り組むことができます。これにより、開発サイクルにかかる時間が大幅に節約され、基本的な機能のためにオープンソース コードの複数のコンポーネントを結合する際の市場投入までの時間が短縮されます。

さらに、オープンソース コードは、複数の目で監視されることで利益を得ることができます。多くの場合、コードは機能の観点からよりクリーンで安定しており、その結果全体的な品質が向上します。オープンソース ソフトウェアをプロジェクトに導入するということは、世界中の熟練したエンジニアから何十万時間もの労働時間の恩恵を受けることを意味します。ここでの最終結果は、オープンソース ソフトウェアが経験する品質チェックとコミュニティ レビューの数により、より高速で高品質なビルドが可能になります。

オープンソース ソフトウェアは、多くの場合、プロプライエタリ ソフトウェアよりも安全です。Linux オペレーティング システムの作成者であるリーナス トーバルズは、オープンソース コミュニティでソフトウェア開発の「多眼(many eyes)」理論を広めました。ここでの考え方は、オープンソース ソフトウェアは公開されており、多方面からコード変更をコミットできるということです。コードは改訂や更新に自由に利用できるため、ホワイト ハッカーはセキュリティの変更を確認して提案できます。そのため、フリーオープンソースソフトウェア (FOSS) は世界で最も安全で安定したソフトウェアの 1 つとなります。

企業は概して、オープンソース ソフトウェアの価値を認識しています。たとえば、Forresterの最近のレポートでは、68% の企業がオープンソースを自社のデジタル変革への取り組みにとって「非常に重要」または「ミッションクリティカル」であると考えていることがわかりました。さらに、同じ調査では、96% の企業が開発ライフサイクルにおいてオープンソース ソフトウェアの使用に関するポリシーを持っていることが明らかになりました。全体として、オープンソース コードを使用することは、さまざまな側面で企業に利益をもたらすことは認められた真実です。実際、何らかの形でオープンソース ソフトウェアを活用していない組織を見つけることはますます稀になってきています。

オープンソース ソフトウェアの危険性

オープンソース ソフトウェアには利点がたくさんありますが、欠点もいくつかあります。その中には、プロジェクトの方向性の欠如、クリエイターに必要な時間の拘束、潜在的なセキュリティ上の欠陥などが含まれます。また、ソフトウェアが機能しなくなった場合の説明責任や最小限のサポートが欠如する可能性もあります。

オープンソース プロジェクトのほとんどは、プロのプログラマーの副業として始まりました。コミュニティによって採用および更新される場合、多くの場合、オープンソース プロジェクトの開発を指示する人は誰もいません。この分散化は、開発と改善の観点からは良いことですが、オープンソース プロジェクトはさまざまな方向に偏りがちです。ある意味、コミュニティ開発ではより豊富なコードを作成できるようになりますが、方向性に関しては不明確な場合があります。

オープンソース ソフトウェアにもかなりの時間がかかります。これらのプロジェクトはプログラマーによって空き時間に取り組むことが多く、コミュニティのメンバーはプロジェクトの作業と改善に多くの時間を費やす必要があります。Tidelift は2019 年に開発者にオープンソース プロジェクトの作業にどれだけの時間を費やしているかについてインタビューし、調査回答者の 36% が週に 1 回以上貢献していると回答しました。回答者全体の 84% が、自分自身をオープンソースへの定期的な貢献者であると考えていました。調査に参加した開発者の中で、オープンソース プロジェクトにまったく貢献したことがないと答えたのはわずか 3% でした。

Tidelift がインタビューした人々のうち、61% が週に最大 5 時間の時間をオープンソース プロジェクトに貢献しています。興味深いのは、調査対象者の 25% が、仕事に対して公正な報酬が得られれば、オープンソース プロジェクトに週 20 時間以上貢献すると回答したことです。これはオープンソース ソフトウェアの大きな問題です。多くの場合、これにはかなりの時間を費やす必要があり、これらのプロジェクトへの貢献に対してコミュニティ メンバーに報酬を与える信頼できる方法はありません。

オープンソース コミュニティの分散型の性質は、説明責任の欠如につながる可能性もあります。ソフトウェアのサポート責任を負う人物は 1 人だけではありません。独自のソフトウェアに問題がある場合、組織は解決のために企業のサポート部門に連絡できます。オープンソース ソフトウェアには、一元的なサポート業務がありません。プロジェクトが中断した場合にはコミュニティからのある程度のサポートはありますが、全体として、プロジェクト全体の健全性に対して責任を負う明確な人物は 1 人もいません。これは、オープンソース プロジェクトのユーザーにとって大きな問題となる可能性があります。

もう 1 つの問題は、ライセンスのコンプライアンスです。オープンソース プロジェクトには通常、コードの使用方法に関する特定の要件があります。これらのライセンスは、オープンソース コードの配布方法を制限する可能性があり、場合によっては二次的著作物に強い影響を与える可能性があります。ライセンス違反は、オープンソース ソフトウェア ライセンスの条項に準拠しない場合、訴訟を含む重大な罰則を科される可能性があります。したがって、これらのソフトウェア ライセンスの不遵守は、たとえ意図的でない場合であっても、重大な財務上および運用上のリスクを引き起こす可能性があります。

オープンソース ソフトウェアでは、セキュリティの問題もしばしば問題となります。すべてのプロジェクトに多くの貢献者がいる Linux OS であるわけではありません。その多くは協力者が非常に少ないため、将来的に問題が発生する可能性があります。問題がどれほど大きくなり得るかを示す、オープンソース プロジェクトにおける最近のセキュリティ脆弱性の 1 つは、2021 年 12 月の Log4Shell 問題です。

2021 年 11 月に、Log4Shell は Alibaba Cloud の開発者によって発見され、Apache Software Foundation に報告されました。この脆弱性により、攻撃者は任意の LDAP および JNDI サーバーへのリクエストを許可する Log4j を利用して、コンピュータ上で任意の Java コードを実行したり、機密情報を漏洩したりすることが可能になります。複数の個別のソフトウェアで Log4j が広く使用されているということは、何十万もの企業が、知らず知らずのうちにこのエクスプロイトに対して脆弱であることを意味していました。最終的に、この脆弱性はプロジェクトを維持している人々によって時間をかけて修正されましたが、この問題は少なくとも 2013 年からロギング ユーティリティに存在していました。これほど長い間パッチが適用されなかったということは、トーバルズの「多眼(many eyes)」によるセキュリティ理論がどのように揺るがされたかを示しています。

オープンソース ソフトウェアは、開発者と企業に多大なメリットをもたらします。しかし、最終的には企業もリスクを理解する必要があります。これらのセキュリティ上の問題と運用上の課題は、オープンソースを使用したい組織がその過程でそれらを考慮する必要があることを意味します。

FossID がオープンソース ソフトウェアを最適化する方法

オープンソース ソフトウェアをリビジョンなしでコピーして製品コードにペーストされることは、コンプライアンス リスクがもたらされる最も懸念される方法の 1 つです。コードベース内のすべてのオープンソース ソフトウェア コンポーネント、ファイル、およびスニペットを検出および可視化し、それらが組織の戦略的責務と確実に一致していることを確認することが重要です。

企業は、ソフトウェア内のコピー&ペーストされたコード スニペットを検出して、コンプライアンス違反のリスクを回避し、セキュリティの脆弱性による影響に対処する方法を必要としています。ソフトウェア構成分析を行う製品は、オープンソース コード スニペットを検出することで、組織がこれらのリスクに対処できるように設計されています。

FossID Workbench は、ライセンス不遵守によるこうしたリスクに対抗するように設計されています。ワークベンチ スキャンでは、暗号化ハッシュを利用して最大限のセキュリティを実現し、ソース コードにアクセスせずにオープンソース ライセンスへのコンプライアンスを検証します。また、60 以上のパブリック ソースや GitHub や StackOverflow などのユーザー投稿サイトから 1 億 5,000 万を超えるコンポーネントを収集した専任の研究チームによってサポートされています。FossID のソリューションは、ソフトウェアをスキャンし、ソフトウェア内のわずか 6 行のコード スニペットを検出するように設計されています。

Workbench を使用すると、ユーザーはソフトウェア部品表(SBOM)を作成し、製品内でライセンスのコンプライアンスを保証します。FossID の顧客は、オープンソース ポリシーを導入し、コードに内在するセキュリティ リスクを理解する機能など、オープンソース ソフトウェア コンポーネントを完全に可視化できます。これにより、オープンソースの利点を最大限に活用し、独自のソフトウェア製品内で事前に構築されたフリー アンド オープンソース ソフトウェア (FOSS) コンポーネントを使用するリスクを最小限に抑えるために必要な完全な可視性が提供されます。

FossID では、コードベース内のスニペットの検出の複雑さと重要性を理解しています。当社のソフトウェア構成分析 (SCA) ソリューションは、最高レベルのオープンソース検出機能を提供し、ライセンス コンプライアンス、プライバシー、機密性の厳しい要件を満たすように設計されています。私たちの目標は、組織がオープンソース ソフトウェア管理プロセスを合理化し、リスクと複雑さを軽減し、成長と競争上の優位性を最大化できるよう支援することです。

私たちは、顧客がコード ベース内で可能な限り多くのオープンソースを見つけられるようにすることで、オープンソース ソフトウェアがもたらす利点を最大限に活用できるようにしたいと考えています。これにより、顧客はソフトウェア製品/サービスを管理し、コンプライアンスとセキュリティのリスクを監視し、軽減することを意味します。

FossID Workbench は、徹底した可視化を通じてライセンス不遵守の問題に対処するために開発されました。FossID は、ソフトウェア構成分析を通じて強力なソフトウェア部品表(SBOM)を作成することで、顧客がライセンスを遵守し、セキュリティの脆弱性を理解し、最終的にはユーザー向けにより充実したソフトウェアを作成できるようにします。FossID を利用することで、企業はオープンソースの利点を最大化し、リスクを最小限に抑えることができます。

最終的な考え

1960 年代のルーツから 1980 年代のルネッサンスまで、オープンソース ソフトウェアには長くて名高い歴史があります。これを使用する企業はコストを節約し、開発パイプラインを加速する高品質のコードを入手できます。オープンソース ソフトウェアは、開発プロセスの合理化を目指す組織にとって非常に有益です。非常に多くの企業がこのコードを利用して、コストを節約し、時間を節約し、最終的には全体的により高品質なコードを導入しています。ただし、これらの利点の中には、ライセンス不遵守、セキュリティの脆弱性、予期せぬ結果による開発パイプラインの中断などのリスクが伴います。

問題が何であれ、オープンソース ソフトウェアは存在し続けます。FossID は、オープンソース ライセンスやその他のコンプライアンス リスクを考慮しながら、企業が可能な限り最高の製品を作成できるようにするために開発されました。オープンソース ソフトウェアの使用は企業にとって簡単であるべきです。FossID はその実現に貢献します。

FossIDの製品ページはこちら