課題からみる
  • 属人化防止
  • コンプライアンスの向上
  • 業務効率化
  • 開発部門

OSS(オープンソースソフトウェア)とは?
OSSを活用するメリットや注意点、OSS管理に専用ツールが必要な理由を解説

2023.09.21更新日:2024.02.09

オープンソースソフトウェアは無償で使える上、さまざまな種類が存在します。正しく使えば企業にとって開発の強力なツールとなるでしょう。本ページではオープンソースソフトウェアのメリット・デメリットやライセンスに関する注意点などを解説し、セキュリティ管理用ツールについてご紹介します。

OSS(オープンソースソフトウェア)とは?

OSS(オープンソースソフトウェア)とは?

オープンソースソフトウェア(Open Source Software、以下OSS)とは、ソースコードが無償で公開され、さらに利用や改変、再配布を行うことが誰に対しても許可されているソフトウェアのことです。(*)

OSSと聞くと、オペレーションシステムのLinux、スマートフォンのOS「Android」、ウェブサーバーのApache HTTP Server, リレーショナルデータベースのMySQL、ウェブブラウザのFirefox、思い浮かべる方が多いと思います。米Meta社が生成AIの基盤となる大規模言語モデルを公開したように、企業がオープンソースで公開するケースもあります。プログラムを構成する部品にあたるソフトウェアコンポーネントにもOSSのものがあり、様々な場面で使われています。

OSSの定義

オープンソースソフトウェアの促進を目的とする団体Open Source Initiative(OSI)は、OSSを以下の10項目より定義し、これらに準拠したソフトウェアにオープンソースライセンスを承認しています。

  1. 自由に再配布ができること
  2. ソースコードを入手できること
  3. 派生ソフトウェアに対し同じライセンス条件での配布を許可すること
  4. 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
  5. 個人やグループを差別しないこと
  6. 利用する分野を差別しないこと
  7. 再配布において追加ライセンスを必要としないこと
  8. 特定の製品だけに限定したライセンスにしないこと
  9. 同梱して配布される他のソフトウェアに制限を課さないこと
  10. 技術的な中立を保っていること

OSSを活用するメリット

OSSを活用するメリットは利用料がかからないことだけではありません。自由にカスタマイズができることや、世界中の技術者が開発コミュニティに参加していることなどいくつもあります。ここではOSSを活用するメリットの中でも代表的なものを、順にご紹介します。

信頼性がある

OSSはソースコードが公開されており、各OSSごと有志のユーザーコミュニティによって見守られています。不正プログラムや脆弱性があった場合、有志のユーザーが発見し、チェック・修正がされます。

世界中のユーザーが自由に使用・改良でき、中には優秀な技術者や企業によって継続的な開発とメンテナンスが行われているものもあります。そのためユーザーの多いソフトウェアほど機能追加やアップデートが積極的に行われるのが特徴です。脆弱性やバグが発見されても、早期の修正が期待できます。

安定性が見込める

多くの商用ソフトウェアや一部の無償のフリーソフトの中には、ソースコードを公開していなかったり、公開していても改変・再配布を禁止していたりするものがあります。これらを総じてプロプライエタリソフトウェアといいます。プロプライエタリソフトウェアを使用していると、メーカーのサポート打ち切りによりアップグレードや買い替えを余儀なくされる可能性があります。

一方OSSであれば、ユーザーによる開発者コミュニティが活発である限り、メンテナンスが継続され、使用できるといえます。

コストが削減できる

OSSは基本的に無償で利用できるため、商用ソフトウェアに比べてコストを抑えて開発を行えます。

ライセンスの条件下であればソースコードの改変ができるため、ソフトウェアにすでに実装された機能をカスタマイズして独自の機能を付け加えるといった開発手法が可能になり、費用や時間の短縮が期待できます。特定のメーカー製品のみに依存して乗り換えができない「ベンダーロックイン」の状態に陥るのを避けられる点もメリットです。

OSSを活用する際の注意点

このようにOSSの活用には多くのメリットがありますが、一方でライセンス準拠の問題、有償の可能性、脆弱性など注意しなければならない点がいくつかあります。順にご紹介します。

ライセンス形態に準拠する必要がある

OSSは著作権者の意思のもとでライセンスを付与して配布されており、利用に際してはライセンスの遵守が求められます。

OSSライセンスは複数ありますが、以下のような共通点があります。

  • 無保証である
  • 利用から生じた損害に関して責任を負わない
  • 著作権者の表示を行う必要がある

OSSの中には商用利用を禁止しているものもあるため、特に企業が商用で利用する場合には確認が必要です。ライセンス違反による訴訟を避けるためにも、法務専門家による確認を行いましょう。

必ずしも無償ではない

OSSは基本的に無償で自由に利用できますが、有償のOSSも存在します。

個人による使用や研究目的であれば無償でも、利益が発生する利用形態であればライセンス使用料金を課すOSSもあるため、企業が商用利用をする場合はライセンス料の支払いについて考慮が必要です。

派生物もOSSとされる

元のソフトウェアのソースコードを利用したり改変したりして作成されたソフトウェアのことを「派生物」と呼びます。OSSの派生物を再配布する際には、ライセンスの種類によって課される制限に違いがあり、次のように分類できます。

ライセンスの種類内容
コピーレフト型 元のOSSのソースコードを改変またはライブラリとして利用した場合でも、派生物は同じライセンスが適用され、ソースコードを開示しなければならない(GPLv2、GPLv3など)
準コピーレフト型 元のOSSのソースコードを改変した場合のみ、同じライセンスでソースコードを開示しなければならない(Mozilla Public Licenseなど)
非コピーレフト型 派生物は同じライセンスを課されずソースコード公開の必要がない(BSDライセンス、Apache Software Licenseなど)

OSSを元に開発を行う場合はこのようなライセンスの規定をよく理解しておきましょう。

脆弱性が見つかる場合がある

OSSはサーバー、ネットワーク、システムコンポーネントのライブラリなどと多岐にわたり利用されていますが、脆弱性が見つかる場合もあります。ソフトウェアの脆弱性を狙うサイバー攻撃の手法として「標準型攻撃」と「Bot型攻撃」について解説します。

ライセンスの種類内容
標準型攻撃 攻撃者は対象となる企業でフレームワークや言語として使用されているOSSを特定し、そのOSSの脆弱性を調べ出し、データ詐取などの攻撃を仕掛けてくる
Bot型攻撃 攻撃者は報告された脆弱性の悪用方法を取り入れたBotと呼ばれる攻撃を自動化したツールにより無差別に攻撃を仕掛けてくる。サーバーが乗っ取られBot攻撃の踏み台とされる可能性もある

ライセンスや脆弱性の管理にはチェックツールの導入がおすすめ

複雑なライセンス条件やソフトウェアの内部で、多岐にわたって利用されているOSSコンポーネントの脆弱性に対処するためには多くの手間がかかります。人手で管理するには限界があるので、管理の際は専用のチェックツールを活用するのがおすすめです。ここで管理においてどのような作業が発生するのか、具体的な手順をご紹介します。

「セキュリティ・スキャン」分野のソフトウェア構成分析(SCA)とは?
「セキュリティ・スキャン」分野のソフトウェア構成分析(SCA)とは?
このブログは アプリケーション・セキュリティ・テストツールの市場分類を紹介する、WhiteSoure社のブログ翻訳シリーズの第2回です。前回の1回目では、市場分類 の概要を説明し、開発からリリース前の間に脆弱性を検出し修正するための「セキュリティ・スキャン」と リリース後のアプリケーション環境を攻撃から守るための「ランタイム・プロテクション」の大きく2つに分かれていることを説明しました。
今回からは、WhiteSourceを含む「セキュリティ・スキャン」分野を掘り下げてお伝えしていきます。

ライセンス・脆弱性管理に必要な作業

OSSにおけるライセンス・脆弱性管理に必要な作業の手順は次のようになります。

  1. システムやアプリケーションが利用するすべてのOSSをバージョン情報も含めてリストアップする
  2. 利用しているOSSに新しい脆弱性やライセンスが報告・追加されていないか監視する
  3. 脆弱性が発見された場合、アップデートやライブラリの更新など修正対応を検討する

OSSはコンポーネント利用のものも含めると種類が多く複雑な依存関係にあります。セキュリティ対策・ライセンス管理には専用のチェックツールを導入するのがおすすめです。

継続的なOSS管理を実現する「Mend SCA」

最後に、OSSを利用したアプリケーション開発におけるセキュリティ対策とライセンス管理を自動化・効率化するツール「Mend SCA」をご紹介します。

「Mend SCA」はOSSのソースコード解析やリポジトリ照合を行い、独自の脆弱性データベースの活用が可能なSCA(Software Composition Analysis-ソフトウェア構成分析)ツールで、脆弱性を誤検知ゼロで発見できるのが強みです。

「Menda SCA」は以下の機能を提供しています。

  • アプリケーション内部で使用されているOSSをスキャンして検出し、ライセンス情報を参照
  • 豊富な情報量を持つMend (旧名称 WhiteSource社)の独自データベースにより脆弱性情報を検知
  • セキュリティ、品質、ポリシー、バージョンの4種類のアラートで通知
  • 脆弱性の発見時にはパッチ、バージョンアップ、機能ブロックなどのセキュリティ対策を提案
  • アジャイル開発ツール「Jira Software」、Gitリポジトリ「Bitbucket」、継続的インテグレーションツール「Bamboo」などさまざまな製品と連携が可能

OSSを利用した開発の継続的セキュリティ対策には「Mend SCA」の導入をぜひご検討ください。

お気軽にご相談ください。
各種お問い合わせ、ご質問など以下よりご相談ください。
お問い合わせ
お問い合わせ
Mend SCA ロゴ
プロダクトが依存しているOSSを特定・既知の脆弱性を通知し、
利用しているライセンスのコンプライアンスを管理するソフトウェア構成分析ツールです。
Mend SCAの製品詳細
製品について詳細はこちら
Mend SCAの製品詳細

「Menda SCA」と連携可能な製品はこちら

OSSの脆弱性自動チェックの導入事例
クオリカでは、全社で活用するCI/CD基盤にMend SCA(旧WhiteSource)を組み込んで、
OSSの脆弱性を自動チェックしています
Mend SCA(旧WhiteSource)導入事例1
詳しくはこちら
Mend SCA(旧WhiteSource)導入事例1
OSSの脆弱性と
ライセンス一括自動チェックの導入事例
OSSの脆弱性とライセンスを一括で自動チェックする仕組みを、
Mend SCA(旧WhiteSource)を使って構築していきます
Mend SCA(旧WhiteSource)導入事例2
詳しくはこちら
Mend SCA(旧WhiteSource)導入事例2

関連記事

一覧へ戻る

目次

PAGE TOP