OSSライセンス

OSS – その意味は?

OSSライセンスとは…

  • ソフトウェアの自由な使用、改変、共有を可能にすることです。
  • ソフトウェアを保護し、オープンソースを維持することを目的としています。

なぜ考慮しなければならないのか?

簡潔にお話ししましょう!ライセンスなしで運用していませんか?使用しているオープンソースソフトウェアやライセンスを見直さなかった場合、どのようなリスクがあるのでしょうか? もしかすると、あなた自身、あなたのコード、そしてあなたの組織を以下のような危険にさらすことになるかもしれません。

  • 特許
  • トレードシークレット
  • 競争優位性

パーミッシブライセンスとコピーレフトライセンス

ライセンスには2つのカテゴリーがあります。

1. パーミッシブおよびリベラル(非常にシンプル)

  • コードを好きなように扱える
  • 自身の責任で使用できる
  • 作者を引用する必要がある

2.  コピーレフト(要求事項の追加)

  • バイナリを配布する場合、ソースを利用できるようにする必要がある。
  • ソースと派生作品は同じライセンスでリリースされなければならない。

(あまり知られていませんが、Beer-wareライセンスというものもあります。詳しくは動画をご覧ください。)

OSSライセンスの例

パーミッシブカテゴリー コピーレフトカテゴリー
BSD (Berkeley Software Distributio) Affero GPL (AGPL)
MIT GPL
Apache2 Lesser GPL (LGPL)
Mozilla Public License (MPL)
Eclipse Public License (EPL)
Common Development and Distribution License (CDDL)

コピーレフトライセンスの例

以下は、ある種のライセンスのコピーレフト要件について簡単に説明したものです。

コピーレフトライセンスの例: GNU Affero General Public License v3 

  • 改変、再配布などの商用利用を認める
  • 責任追及、サブライセンスは不可
  • 著作権の保持、ライセンス、インストール方法の提示、サービスとして配布・公開する場合はソースの開示(改変・派生物)が必要

AGPLライセンスの場合、そのソフトウェアがネットワーク上で使用される場合に要件が発生します。

劣等GPL(LGPL)は、コピーレフト(「weak copyleft」ライセンスとも呼ばれる)ライセンスです。 コピーレフトライセンスが存在する場合、改変したコードのみを開示する必要があります。OSSライブラリに動的な呼び出しを行う場合、コードを開示する必要はありません。

多くの場合、「会社」はコードを使用する従業員であることが知られています。 従業員間でソフトウェアを共有することは、配布とイコールではありません。

さらに詳しく:各種ライセンスを閲覧

脆弱性についての見解

Nexus Lifecycleは、お客様が使用しているすべてのライセンスをカタログ化します。そこから、ポリシー違反のビューが提供されます。リスクがあると判断されたものはすべてこのビューに表示されます。 新しい脆弱性がソフトウェアに導入されたときや、その項目の重要度がわかります。

さらに詳しく:Nexus Lifecycleについて知る

OSSライセンスの表明と遵守について

コンポーネントビューからは、ポリシー評価の分析結果や、Sonatypeの調査に基づく知見を総合的に確認することができます。さらに、どのライセンスが宣言され、どのライセンスが観測されたかが一目でわかります。

  • Declared Licenses: コンポーネントの開発元が特定したライセンスを指す
  • Observed License:  Sonatypeのリサーチで観測されたライセンスを指す

コンポーネントパネルのスクリーンショット

ライセンス分析

Nexus Lifecycleが行った評価の結果、ソフトウェア内部にある最もリスクの高いライセンスと、そのコンポーネントが明らかになりました。

コンポーネントビューから、以下をご覧いただけます。

  • コンポーネントの履歴
  • 使用中のバージョン
  • どういったものががライセンスリスクとなるか(例えば、禁止ライセンスと判断したものを強調するなど)
  • そのコンポーネントはリスクが高いのか、それともセキュリティにリベラルに整合しているのか

これらの情報により、開発チームは十分な情報を得た上で意思決定を行い、自社ポリシーに準拠した、よりリスクの低いソフトウェアを選択することができます。

 

前の投稿
SBOMとは何か
次の投稿
なぜDevSecOps?
メニュー