さまざまな種類のソフトウェア ライセンスを理解するのは複雑な場合があります。 プロプライエタリ ソフトウェア ライセンスとオープン ソース ソフトウェア ライセンスは比較的簡単です。 しかし、3 番目のカテゴリがあります。それは、ソース利用可能なライセンスです。 これらはおそらく最も混乱を招くライセンス カテゴリです。 ソース利用可能なソフトウェアは、商用ライセンスとオープンソース ライセンスの間に位置します。 これらは厳密には独自のプロプライエタリなものではなく、完全にオープンというわけでもありません。
最も混乱を招くのは、ソース利用可能なライセンスがオープンソースによく似ていることです。 これは、ソース コードは利用可能ですが、オープン ソースでは発生しない、ソース利用可能なライセンスに固有のリスクがあるためです。 これらが十分に考慮されていない場合、企業は開発ライフサイクルを短絡させ、製品の提供を中断する可能性があります。 利用可能なソースがなぜ非常に複雑なのかを理解するには、まずさまざまな種類のソフトウェア ライセンスについて説明することが重要です。
ソースが利用できることの違い
一般に、ソフトウェアにはいくつかの異なる形態があります。 プロプライエタリ ソフトウェアは理解しやすいです。コードは隠されており、ソフトウェアを作成した企業のみが販売または使用できます。 オープンソース ソフトウェアは、商用かどうかにかかわらず、あらゆる用途に利用できます。 オープンソースのライセンスは、希望する解釈に応じて、FSF の 4 つの自由または OSI オープンソースの定義を満たします。
オープン ソース内には、いくつかの異なるライセンスのサブタイプがあります。
Permissive – 再配布と二次的著作物の要件を緩和するオープンソースのサブセット。
Copyleft – 再配布と二次的著作物に対してより厳しい要件を課すオープン ソース ライセンス。
パブリック ドメイン相当 – ソース コードをパブリック ドメインにするのと同等のライセンス。
ソース利用可能なライセンスは、オープン ソースと同じ自由が保証されていないため、プロプライエタリ ライセンスやオープン ソース ライセンスとは異なります。 ソース コードやインストーラーは公開されているため、「ソース入手可能」と呼ばれますが、そこから混乱が始まります。
ソース利用可能なライセンスは、商用および独自ライセンスに最も近いものです。 しかし、ソース利用可能なソフトウェアは、コードやバイナリ成果物が利用できるため、オープンソース ソフトウェアと混同されることがよくあります。 ソース利用可能なソフトウェアというものがしばしば明確に定義されていないこともその一因です。
入手可能なソフトウェアのソース
ソースの利用可能なライセンスはどのようなものでしょう
ソース利用可能なソフトウェアは通常、オープンソースと同じ場所で公開されます。 技術的には、ソース コードを公開して人目に留まるようになるため、このように機能します。 これにより問題が発生します。開発者は商用ソフトウェアをオープンソースと間違えることはありませんが、GitHub や StackOverflow で入手可能なソース プログラムを見つけて、あまり詳しく調べずに統合してしまう可能性があるからです。
これにより、将来的に問題が発生します。 違いを理解するために、利用可能なソース ライセンスをいくつか調べてみましょう。
BSD-3-Clause No Nuclear これは BSD-3-Clause ライセンスと同じですが、1 つの大きな変更があります。 最後に、「このソフトウェアは、原子力施設の設計、建設、運用、保守での使用を目的として設計、ライセンス供与されていないこと、または使用を意図したものではないことを承認するものとします。」と付け加えられています。 ここでの中心的なポイントは、このソフトウェアの使用は原子力施設では許可されていないと述べているという事実です。 もちろん、これはニッチな改訂版ですが、このライセンスは、有名なライセンスに制限を追加するのが簡単であることを示しています。 こうすることで制限の検出が困難になり、一部の自動ライセンス検出ツールでは問題が検出されなくなります。
「Don’t be a D*ck Public License」は非常に曖昧で、何が許可され、何が許可されないかについて混乱を招く記述が多くあります。 この種のソース利用可能なライセンスは、使用された場合の潜在的な影響を考慮せずに、法律専門家以外の者によって作成された可能性があります。 このライセンスを使用するソフトウェアのよく知られた例の 1 つは、node-ipc です。 パッケージは MIT によって再ライセンスされていますが、古い DBAD ライセンス バージョンも引き続き使用できます。 この記事の執筆時点での NPM 統計によると、このファイルは週に 150,000 回ダウンロードされています。
Business Source License これは興味深いですね。 特定のバージョンのリリース日から 4 周年が経過するまでのみ、ライセンスを「ソース利用可能」にするように書かれています。 その時点で、ソフトウェアはオープンソース ライセンスに基づいて利用可能になります。 つまり、オープンソース ライセンスに基づいてソフトウェアを使用したい場合は、リリース日を追跡し、新しすぎるバージョンを使用しないように注意する必要があります。
企業は、リリース日を追跡しようとしなくても、サードパーティの依存関係を管理することにすでに苦労しています。 ソース利用可能なライセンスでは、複数のライセンスの下でコンポーネントを追跡するという問題もあります。 さまざまなライセンスを知ることは重要かもしれませんが、ライセンスを取得したソフトウェアをどのオプションで使用しているかはどこで追跡できますか?
ソース利用可能なライセンスのリスクを軽減する方法
ソース利用可能なソフトウェアの統合を回避する確実な方法はありません。 もちろん、ライセンスの種類について開発者を教育することが始まりです。 企業は、ソフトウェアを使用する前に、ホワイトリストを使用してライセンスを再確認する必要もあります。 とはいえ、Business Source Licenseはオープンソースに移行する可能性があり、それが事態を複雑にします。
ソフトウェア構成分析 (SCA) は、ソフトウェア製品およびサービス内のこれらのライセンスを検出するための最良の方法です。 FossID Workbench は、約 2,000 の異なるライセンスを検出できるだけでなく、それらを分類することもできるため、ソース利用可能なライセンスに関連するリスクを軽減したい場合に最適です。 現在、FossID のナレッジ ベースにあるライセンスの 20% 以上がソース利用可能なライセンスとして分類されており、そのほぼ半数には商用利用の制限があります。
つまり、オープンソースとプロプライエタリな商用ソフトウェアだけに注意を払うということではありません。 ツールチェーンの一部であるソフトウェアを必ず理解してください。 難しそうに聞こえるかもしれませんが、定期的かつ効率的に実行すれば、将来の頭痛の種を避けることができます。