(57)【要約】  本発明によるオープンソースライセンス間の衝突検査方法は、（ａ）与えられた第１ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第２ライセンスに対して、各特徴点に対する表現値を入力される段階、及び（ｂ）該第１ライセンスの各特徴点に対する表現値と該第２ライセンスの各特徴点に対する表現値とを用いて、該第１ライセンスと該第２ライセンスとの衝突有無を判断する段階を含むことを特徴とする。
2019520665.tif 000002
【特許請求の範囲】
【請求項１】
オープンソースライセンス間の衝突検査方法において、
（ａ）与えられた第１ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第２ライセンスに対して、各特徴点に対する表現値を入力される段階と、
（ｂ）前記第１ライセンスの各特徴点に対する表現値と前記第２ライセンスの各特徴点に対する表現値とを用いて、前記第１ライセンスと前記第２ライセンスとの衝突有無を判断する段階と、
を含むことを特徴とする衝突検査方法。
【請求項２】
前記（ｂ）段階は、
（ｂ１）前記第２ライセンスに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセットを定義する段階と、
（ｂ２）前記第１ライセンスの各特徴点の表現値に基づいて、各特徴点に対して、任意のライセンスのある特徴点が、ある表現値を有する場合、前記第１ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット及び前記衝突プロファイルセットのリストを定義する段階と、
（ｂ３）前記衝突プロファイルセットのリストに含まれた各衝突プロファイルセットと前記第２ライセンスのプロファイルセットとを比較して、前記第１ライセンスと前記第２ライセンスとの衝突有無を判断する段階と、
を含むことを特徴とする請求項１に記載の衝突検査方法。
【請求項３】
前記（ｂ３）段階で、
前記衝突プロファイルセットのリストに含まれた、ある衝突プロファイルセットが、前記第２ライセンスのプロファイルセットに属する場合、前記第１ライセンスと前記第２ライセンスとが衝突すると判断することを特徴とする請求項２に記載の衝突検査方法。
【請求項４】
前記（ｂ）段階で、前記第１ライセンスと前記第２ライセンスとが衝突すると判断される場合、前記第２ライセンスには含まれず、前記第１ライセンスのみに含まれる特徴点が存在し、前記第２ライセンスが選択条項を有し、前記第１ライセンスのみに含まれる特徴点が、いずれも前記第２ライセンスの選択条項に含まれれば、
前記第２ライセンスの代わりに、前記第２ライセンスに前記第１ライセンスのみに含まれる特徴点に該当する選択条項を追加したライセンスを対象にして、前記（ａ）及び（ｂ）段階を行う段階をさらに含むことを特徴とする請求項３に記載の衝突検査方法。
【請求項５】
前記（ｂ）段階で、前記第１ライセンスと前記第２ライセンスとが衝突すると判断される場合、前記第１ライセンスが、前記第１ライセンスの以外の他のライセンスへの変換を許容すれば、
前記第１ライセンスの代わりに、前記他のライセンスを対象にして、前記（ａ）及び（ｂ）段階を行う段階をさらに含むことを特徴とする請求項３に記載の衝突検査方法。
【請求項６】
請求項１から５の何れか一項に記載のオープンソースライセンス間の衝突検査方法を実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープンソースライセンス間の衝突検査方法に係り、より詳細には、特徴点に基づいてオープンソースライセンス間の衝突を検査する方法に関する。
【背景技術】
【０００２】
セットトップボックスや保安装備などの開発時に、オープンソース形態の組み込みソフトウェアが活用されているが、オープンソースライセンスに対する理解不足によって、法的訴訟に巻き込まれる場合がしばしばある。
【０００３】
特に、オープンソースを２個以上同時に活用するか、所望のライセンスに変更して配布しようとする場合、ライセンス間の衝突問題が発生し、衝突発生時に、当該オープンソースを使用することができなくなる。
【０００４】
２個以上のライセンスが共存する場合、衝突有無を検査するためには、法律的解釈が必要であり、現在、法律専門家がライセンス条項全体（Ｆｕｌｌ  ｔｅｘｔ）を互いに比較して検討している。
【０００５】
オープンソースライセンスは、非常に多様に存在し、ＯＳＩ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｉｎｉｔｉａｔｉｖｅ）で公式認証したライセンスの種類は、現在７８個、ＳＰＤＸ（Ｓｏｆｔｗａｒｅ  Ｐａｃｋａｇｅ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）グループで使用しているライセンスの種類は、１２０個以上が存在する。
【０００６】
したがって、多数のオープンソースライセンス条項全体を毎度解釈し、比較検討するには多くの難点があり、開発者が所望する最適のライセンスを推薦しにくい。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする技術的課題は、オープンソースライセンス間の衝突検査を自動化することができる方法を提供することである。
【課題を解決するための手段】
【０００８】
前記技術的課題を解決するための本発明によるオープンソースライセンス間の衝突検査方法は、（ａ）与えられた第１ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第２ライセンスに対して、各特徴点に対する表現値を入力される段階、及び（ｂ）前記第１ライセンスの各特徴点に対する表現値と前記第２ライセンスの各特徴点に対する表現値とを用いて、前記第１ライセンスと前記第２ライセンスとの衝突有無を判断する段階を含むことを特徴とする。
【０００９】
前記（ｂ）段階は、（ｂ１）前記第２ライセンスに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセットを定義する段階、（ｂ２）前記第１ライセンスの各特徴点の表現値に基づいて、各特徴点に対して、任意のライセンスのある特徴点が、ある表現値を有する場合、前記第１ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット及び前記衝突プロファイルセットのリストを定義する段階、及び（ｂ３）前記衝突プロファイルセットのリストに含まれた各衝突プロファイルセットと前記第２ライセンスのプロファイルセットとを比較して、前記第１ライセンスと前記第２ライセンスとの衝突有無を判断する段階を含みうる。
【００１０】
前記（ｂ３）段階で、前記衝突プロファイルセットのリストに含まれた、ある衝突プロファイルセットが、前記第２ライセンスのプロファイルセットに属する場合、前記第１ライセンスと前記第２ライセンスとが衝突すると判断することができる。
【００１１】
前記衝突検査方法は、前記（ｂ）段階で、前記第１ライセンスと前記第２ライセンスとが衝突すると判断される場合、前記第２ライセンスには含まれず、前記第１ライセンスのみに含まれる特徴点が存在し、前記第２ライセンスが選択条項を有し、前記第１ライセンスのみに含まれる特徴点が、いずれも前記第２ライセンスの選択条項に含まれれば、前記第２ライセンスの代わりに、前記第２ライセンスに前記第１ライセンスのみに含まれる特徴点に該当する選択条項を追加したライセンスを対象にして、前記（ａ）及び（ｂ）段階を行う段階をさらに含みうる。
【００１２】
前記衝突検査方法は、前記（ｂ）段階で、前記第１ライセンスと前記第２ライセンスとが衝突すると判断される場合、前記第１ライセンスが、前記第１ライセンスの以外の他のライセンスへの変換を許容すれば、前記第１ライセンスの代わりに、前記他のライセンスを対象にして、前記（ａ）及び（ｂ）段階を行う段階をさらに含みうる。
【００１３】
前記技術的課題を解決するために、前記した本発明によるオープンソースライセンス間の衝突検査方法を実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００１４】
本発明によれば、オープンソースライセンス間の衝突検査を自動化することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。
【図２】本発明の他の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。
【図３】本発明の他の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。
【図４】本発明の実施形態によって衝突検査を行った結果のライセンス互換性マトリックスを示す。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の望ましい実施形態を詳しく説明する。以下、説明及び添付図面で実質的に同じ構成要素は、それぞれ同じ符号で示すことにより、重複説明を省略する。また、本発明を説明するに当って、関連した公知の機能または構成についての具体的な説明が、本発明の要旨を不明にする恐れがあると判断される場合、それについての詳細な説明は省略する。
【００１７】
本明細書では、次のように用語を定義する。但し、このような定義は、個別ライセンスではこれとは異なって再定義されうる。
【００１８】
ライセンス：ライセンスは、それが適用された著作物の使用者が守らなければならない事項が明示された契約書である。
【００１９】
配布者（ライセンサー；Ｌｉｃｅｎｓｏｒ、ディストリビュータ；Ｄｉｓｔｒｉｂｕｔｏｒ）：原著作物の配布者である。
【００２０】
使用者（ライセンシー；Ｌｉｃｅｎｓｅｅ、レシピエント；Ｒｅｃｉｐｉｅｎｔ）：配布された任意の著作物を使用する者である。
【００２１】
使用ライセンス：（原著作物の）配布者が、使用者が受けた著作物に適用したライセンスである。
【００２２】
再配布：再配布とは、著作物の使用者が、その著作物を１）そのまま、あるいは２）改変して（ｍｏｄｉｆｉｅｄ  ｗｏｒｋ）、または３）一部として使用した著作物（派生著作物；ｄｅｒｉｖａｔｉｖｅ  ｗｏｒｋｓ）を配布すること。再配布される著作物を再配布物と言う。
【００２３】
配布ライセンス：使用者が再配布物を配布する時、使用者が再配布物に適用したライセンスである。
【００２４】
変換（Ｒｅｌｉｃｅｎｓｅ）：適用されている任意のライセンスの代わりに、他の（定められた）ライセンスを新たに適用することである。
【００２５】
選択条項（Ｏｐｔｉｏｎａｌ  Ｃｌａｕｓｅ）：ライセンスの基本状態では、不活性化されている条項であるが、配布者が明示的に追加する場合、活性化される条項である。
【００２６】
本発明の実施形態では、オープンソースライセンスが適用されている任意の著作物の使用者が、原著作物に適用されているライセンスとは異なる他のライセンスで再配布しようとする場合の２つのライセンス間の衝突検査方法に関して説明する。すなわち、説明の便宜上、使用ライセンスと配布ライセンスとの衝突を検査する方法を例として説明する。但し、本発明の実施形態は、任意の２つのライセンス間の衝突を検査する方法に適用可能であり、この場合、‘使用ライセンス’は、‘第１ライセンス’に、配布ライセンスは、‘第２ライセンス’に一般化されうる。
【００２７】
ある著作物が任意の使用ライセンスで配布された場合、原著作物の使用者は、その使用ライセンスの内容に従わなければならない。また、任意の使用ライセンス下で配布された著作物を任意の配布ライセンス下で再配布しようとする場合、再配布された著作物の使用者は、原著作物の使用ライセンスの代わりに、使用者が適用した配布ライセンスに従わなければならない。配布される著作物、特に、ＦＯＳＳソフトウェアに適用するライセンスは、一般的にその著作物の使用を許可する権利、禁止事項及び再配布時に守らなければならない事項などが明示されている。特に、再配布に関して使用ライセンスが所定の制約を加えていれば、使用者は、その制約下で配布ライセンスを選択しなければならない。この制約は、再配布に直接・間接的に関連ある制約全体を意味する。
【００２８】
そのために、使用者は、再配布物に任意の配布ライセンスを適用して再配布したい場合、配布ライセンスと使用ライセンスとの内容が相衝しないかを確認しなければならない。
【００２９】
本発明の実施形態において、ライセンス互換性の問題は、次のように定義することができる。ライセンス集合は、Ｌ１＝｛ｌ１、ｌ２、．．．｝、特徴点の集合は、ＦＰ＝｛ｆｐ１、ｆｐ２、．．．｝、特徴点に対する表現値の集合は、ＥＴ＝｛ＮｏＭｅｎｔｉｏｎ、Ｐｏｓｉｔｉｖｅ、Ｎｅｇａｔｉｖｅ｝、そして、互換性判定値の集合は、ＣＳ＝｛Ｃｏｍｐａｔｉｂｌｅ、Ｓｕｓｐｉｃｉｏｕｓ、Ｉｎｃｏｍｐａｔｉｂｌｅ｝になりうる。ここで、特徴点とは、任意のライセンスでソフトウェア間の連結関係、配布義務、改変、特許権、私的利用、ライセンス保持、商標使用権などを表わすそれぞれの規定または条項を意味する。
【００３０】
各ライセンスｌｉは、あらゆる特徴点ＦＰに関して、その表現値
【数１】
2019520665.tif 000003
を当該ライセンスの内容から割り当てて定義することができる。特徴点に対する表現値は、ライセンスの内容を手動で、あるいは自動で分析して定義することができる。
【００３１】
前記の定義によって、特徴点プロファイル（ｆｅａｔｕｒｅ  ｐｏｉｎｔ  ｐｒｏｆｉｌｅ）ｆｐｐｘを次のように定義することができる。
【数２】
2019520665.tif 000004
【００３２】
あるライセンスｌｉの各特徴点の特徴点プロファイルから、ライセンスｌｉに関する特徴点プロファイルの集合であるプロファイルセットを
【数３】
2019520665.tif 000005
と定義することができる。特に、ライセンス間の再配布時の互換性の問題は、使用ライセンスｌｏ（オリジナルライセンス；ｏｒｉｇｉｎａｌ  ｌｉｃｅｎｓｅ）と配布ライセンスｌｔ（ターゲットライセンス；ｔａｒｇｅｔ  ｌｉｃｅｎｓｅ）（｛ｌｏ、ｌｔ｝⊂Ｌ）とで構成される。
【００３３】
本発明の実施形態では、ＦＯＳＳライセンス７８種に対する総合的な分析を通じて、ＦＯＳＳライセンスの互換性検証時に必要な代表的な特徴点として、次のように２３個の特徴点を選定した。但し、このような特徴点は、例示に過ぎず、特徴点は、いくらでも修正または削除されるか、追加されうるということはいうまでもない。
【００３４】
１．（１）追加制約禁止（それ以上の制限なし；Ｎｏ  ｆｕｒｔｈｅｒ  ｒｅｓｔｒｉｃｔｉｏｎ）
当該ライセンスで明示的に定めた事項の以外に、使用者（受取人）の権利を制限する事項賦課（サブライセンス；ｓｕｂｌｉｃｅｎｓｅ、リライセンス；ｒｅｌｉｃｅｎｓｅなどで）制限
【００３５】
２．（２）同一ライセンス保持（コピーレフト；Ｃｏｐｙｌｅｆｔ）
特定のライセンスで配布されたソースコードを受領して、原本あるいは改変して再配布する時、受領当時にソースコードに適用されたライセンスと同じライセンスで再配布することを義務化
【００３６】
３．（３）ライセンス料なし、ロイヤリティーフリー（Ｎｏ  ｌｉｃｅｎｓｅ  ｆｅｅ、Ｒｏｙａｌｔｙ  ｆｒｅｅ）
ソースコードの著作権使用に対する使用料賦課禁止
・配布のために必要な最小限の配布コスト請求は該当しない。
・サービスコスト請求は該当しない。
・特許に対するライセンス料なし、ロイヤリティーフリー（Ｎｏ  ｌｉｃｅｎｓｅ  ｆｅｅ、Ｒｏｙａｌｔｙ  ｆｒｅｅ）と区分する。
【００３７】
４．ソースコード（Ｓｏｕｒｃｅ  Ｃｏｄｅ）関連
（４）コード（Ｃｏｄｅ）公開
・ソースコード公開（原本ソースコードあるいは原本＋改変ソースコード）
・ソースコードを受領することができるということを明示する条項が存在（例：機械で読める完全なソースコードを受け取る；ｔｏ  ｒｅｃｅｉｖｅ  ｔｈｅ  ｃｏｍｐｌｅｔｅ  ｍａｃｈｉｎｅ−ｒｅａｄａｂｌｅ  ｓｏｕｒｃｅ  ｃｏｄｅ）
（５）コード（Ｃｏｄｅ）提供
・ソースコード提供方法に係わる明示（ウェブに掲載しなさい、あるいはＵＳＢに提供しなさいなど）
・ソースコード提供約定書の提供
・ソースコード提供保証期間の明示
・ソースコード配布に必要なコスト請求不可能の明示（一般的に配布に必要な最小限のコスト請求が可能であるために、請求が不可能な場合、マトリックスに条項表示）
【００３８】
５．表示（Ｎｏｔｉｃｅ）保持
（６）著作権表示（Ｃｏｐｙｒｉｇｈｔ  ｎｏｔｉｃｅｓ）保持
・著作権及び著作権関連告知事項保持
・Ｃｏｐｙｒｉｇｈｔ（ｃ）ｙｙｙｙ．ｍｍ．ｄｄ＊＊＊＊＊ａｎｄ  ｏｔｈｅｒ  ｃｏｎｔｒｉｂｕｔｏｒｓ、Ａｌｌ  ｒｉｇｈｔｓ  ｒｅｓｅｒｖｅｄ。
（７）著者アトリビューション（Ａｕｔｈｏｒ  Ａｔｔｒｉｂｕｔｉｏｎ）保持：寄与者情報の記載
（８）法的通知（Ｌｅｇａｌ  ｎｏｔｉｃｅｓ）：作成者または寄与者に留保されている知識財産権に対する告知事項の作成及び保持
【００３９】
６．（９）改変告知
ソースコードを改変した場合、改変に関する事項を明示（例：改変日時、改変ファイル名、改変範囲など）
【００４０】
７．特許
（１０）特許実施許諾：ソースコードなどに関する特許権使用実施許諾を明示的に規定
（１１）特許報復条項：ソースコードなどに関する特許権使用実施許諾を明示的に規定
（１２）差別的ライセンス禁止：特許実施許諾付与に差別を設けることを禁止（Ａに特許実施許諾付与、ＢにＸ）
【００４１】
８．商標関連
（１３）広告目的の使用禁止
（１４）商号、商標、サービスマークの使用禁止
・商号、商標、サービスマークの使用禁止
・寄与者、著作権者の名前の使用禁止
・具体的に‘名前’を明示し、その‘名前’の使用を禁止
【００４２】
９．保証関連
（１５）保証否認：２つの当事者間の契約を通じて選択的に保証義務を提供することは該当しない。
（１６）兔責：２つの当事者間の契約を通じて選択的に責任義務を提供することは該当しない。
【００４３】
１０．（１７）リバースエンジニアリングの許可（Ｐｅｒｍｉｓｓｉｏｎ  ｏｆ  Ｒｅｖｅｒｓｅ  ｅｎｇｉｎｅｅｒｉｎｇ）：コード逆分析許容
【００４４】
１１．（１８）ＤＲＭ禁止
参照：ＧＰＬ３．０第３条（技術手段に対する迂回行為禁止）
【００４５】
１２．（１９）インストール情報（Ｉｎｓｔａｌｌａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ）提供
提供されたコードのコンパイルとインストールに必要なあらゆる情報を提供する義務。受取者がソースコードの改変に必要なファイルやスクリプトなどの提供義務は該当しない。
【００４６】
１３．（２０）準拠法
・準拠法の明示
・管轄裁判所の明示
・特定法の定義によるライセンス解釈
【００４７】
１４．ライセンス変換許容（リライセンス；Ｒｅｌｉｃｅｎｓｉｎｇ）
（２１）特定ライセンスへの‘リライセンス（Ｒｅｌｉｃｅｎｓｉｎｇ）’
・‘特定ライセンス’名を具体的に記載（例：ＧＰＬ２．０などに変換可能）
・‘特定ライセンス’と並行して使用可能（例：ＧＰＬ３．０とＡＧＰＬ３．０）
（２２）次期ライセンスへの変換許容
【００４８】
１５．（２３）選択的な条項適用
必要に応じて任意に追加可能なライセンス条項（特徴点）
【００４９】
図１は、本発明の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。
【００５０】
１１０段階で、与えられた使用ライセンスｌｏに対して、各特徴点に対する表現値を入力され、与えられた配布ライセンスｌｔに対して、各特徴点に対する表現値を入力される。
【００５１】
１２０段階で、配布ライセンスｌｔに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセット
【数４】
2019520665.tif 000006
を定義する。
【００５２】
１３０段階で、使用ライセンスｌｏの各特徴点の表現値に基づいて、各特徴点に対して、任意の配布ライセンスのある特徴点が、ある表現値を有する場合、使用ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット（ｃｏｎｆｌｉｃｔ  ｐｒｏｆｉｌｅ  ｓｅｔ）ｐｓｉ及び衝突プロファイルセットのリストｃｐｓｌ（ｌｏ、ｆｐｘ）を定義する。この衝突プロファイルセットのリストは、使用ライセンスが各特徴点に対して如何なる表現値を有するかによって定められる。
【００５３】
一般的には、２つのライセンスが互換されるか否かを検討する時、同種の特徴点に対する表現値のみ考慮すれば良い。例えば、コード提供事項と兔責事項は、互いに無関係であり、ライセンス料なし、ロイヤリティーフリー（Ｎｏ  ｌｉｃｅｎｓｅ  ｆｅｅ、Ｒｏｙａｌｔｙ  ｆｒｅｅ）事項とライセンス写本提供事項は、互いに無関係である。このような場合には、使用ライセンスと配布ライセンスとの特徴点プロファイルの同一性のみを検査すれば、互換性を判断することができる。このような場合、各特徴点に対する衝突プロファイルセットは、要素が１つである‘衝突プロファイル’であれば十分である。
【００５４】
しかし、追加的制約禁止事項または同一ライセンス適用事項のような特徴点の互換性は、自分自身の表現値だけではなく、他の特徴点の表現値も考慮しなければならない。このような問題によって、各特徴点に対して‘衝突プロファイル’の代わりに、‘衝突プロファイルセット’を定義する。例えば、ｉ番目の特徴点に対する衝突プロファイルセットは、ｉ番目の特徴点に対する特徴点プロファイルのみを含み（衝突プロファイルセットの要素が１つである場合）、ｉ番目の特徴点に対する特徴点プロファイルと共に他のｊ番目の特徴点に対する特徴点プロファイルを含むこともある（衝突プロファイルセットの要素が２つ以上である場合）。
【００５５】
１４０段階で、衝突プロファイルセットのリストｃｐｓｌ（ｌｏ、ｆｐｘ）に含まれた各衝突プロファイルセットｐｓｉと配布ライセンスのプロファイルセットｐｓ（ｌｔ）とを比較して、使用ライセンスと配布ライセンスとの衝突有無を判断する。ここで、ある衝突プロファイルセットｐｓｉ⊂ｃｐｓｌ（ｌｏ、ｆｐｘ）がｐｓｉ⊂ｐｓ（ｌｔ）である場合、すなわち、ある衝突プロファイルセットｐｓｉが配布ライセンスのプロファイルセットｐｓ（ｌｔ）に属する場合、使用ライセンスと配布ライセンスは、衝突すると判断することができる。
【００５６】
前記と同じ方式で、判断留保に関するプロファイルセット、すなわち、各特徴点に対して、任意の配布ライセンスのある特徴点が、ある表現値を有する場合、衝突有無に対する判断を留保するか否かを表わす判断留保プロファイルセット及び判断留保プロファイルセットのリストｈｐｓｌ（ｌｏ、ｆｐｘ）を定義し、ある判断留保プロファイルセットが配布ライセンスのプロファイルセットｐｓ（ｌｔ）に属する場合、使用ライセンスと配布ライセンスとが衝突する‘可能性’があると判断することができる。この場合、当該特徴点と関連した事項を使用者に通知して使用者の判断に任せることができる。
【００５７】
図２及び図３は、本発明の他の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。本実施形態は、ライセンスの選択条項と変換条項とを考慮した再帰的衝突検査方法であって、ルーチン１（図２）とルーチン２（図３）とで構成される。
【００５８】
選択条項は、ライセンスの基本状態では無効であるが、配布者の判断によって有効化される制約・許可事項である。使用ライセンスにある制約が配布ライセンスに基本的に入っていないとしても、使用者が配布ライセンスにそれに該当する選択条項を入れて配布することにより、使用ライセンスと配布ライセンスは、互換されうる。
【００５９】
また、使用ライセンスに変換条項、すなわち、使用ライセンス下に配布された著作物を変換条項が指定した他のライセンスに再配布することができるという条項が入っている場合、指定されたライセンスと配布ライセンスとが互換性があれば、使用ライセンスと配布ライセンスは、間接的に互換されると言える。
【００６０】
図２に示すように、１００段階で、図１を参照して、前述した衝突検査方法を通じて使用ライセンスと配布ライセンスとの衝突有無を検査する。
【００６１】
２１０段階で、互換されると判断されれば、２５０段階に進行して互換判定を行う。
【００６２】
２１０段階で、衝突すると判断されれば、２２０段階に進行して、配布ライセンスが選択条項を有するか、使用ライセンスが変換条項を有するか、すなわち、他のライセンスへの変換を許容するか否かを判断する。
【００６３】
２２０段階で、配布ライセンスが選択条項を有さず、使用ライセンスが変換条項を有さなければ、２６０段階に進行して衝突（非互換）判定を行う。
【００６４】
２２０段階で、配布ライセンスが選択条項を有するか、使用ライセンスが変換条項を有するならば、２３０段階に進行して、図３に示されたフローチャートによってライセンス衝突有無を再検査する（ルーチン２呼び出し）。
【００６５】
２４０段階で、ルーチン２による再検査の結果、互換されると判断されれば、２５０段階に進行して互換判定を行う。
【００６６】
２４０段階で、ルーチン２による再検査の結果、衝突すると判断されれば、２６０段階に進行して衝突（非互換）判定を行う。
【００６７】
図３に示すように、３１０段階で、配布ライセンスには含まれず、使用ライセンスのみに含まれる特徴点が存在するか否かを判断する。このような特徴点は、配布ライセンスの場合、表現値が‘ンーメンション（ＮｏＭｅｎｔｉｏｎ）’であり、使用ライセンスの場合、表現値が‘ポジティブ（Ｐｏｓｉｔｉｖｅ）’あるいは‘ネガティブ（Ｎｅｇａｔｉｖｅ）’などである特徴点に該当する。
【００６８】
配布ライセンスには含まれず、使用ライセンスのみに含まれる特徴点が存在しなければ、３５０段階に進行し、存在すれば、３２０段階に進行する。
【００６９】
３２０段階で、使用ライセンスのみに含まれる特徴点がいずれも配布ライセンスの選択条項に含まれるか否かを判断する。使用ライセンスのみに含まれる特徴点が配布ライセンスの選択条項に含まれなければ、３５０段階に進行し、いずれも含まれれば、３３０段階に進行する。
【００７０】
３３０段階で、配布ライセンスの代わりに、配布ライセンスに選択条項を追加したライセンスを対象にして、図２のフローチャートによってライセンス衝突有無を検査する（ルーチン１呼び出し）。
【００７１】
３４０段階で、ルーチン１の遂行結果、互換されると判断されれば、３７０段階に進行して互換判定を行う。
【００７２】
３４０段階で、ルーチン１の遂行結果、衝突すると判断されれば、３５０段階に進行する。
【００７３】
３５０段階で、使用ライセンスの代わりに、使用ライセンスが変換を許容した他のライセンスを対象にして、図２のフローチャートによってライセンス衝突有無を検査する（ルーチン１呼び出し）。
【００７４】
３６０段階で、使用ライセンスが変換を許容した他のライセンスのうち何れか１つでも配布ライセンスと互換されると判断されれば、３７０段階に進行して互換判定を行う。
【００７５】
３６０段階で、使用ライセンスが変換を許容した他のライセンスのいずれも配布ライセンスと衝突すると判断されれば、３８０段階に進行して衝突（非互換）判定を行う。
【００７６】
前述したように、ＦＯＳＳライセンス７８種から２３個の特徴点を選定し、１０個のライセンス（ＧＰＬ２．０、ＧＰＬ３．０、ＢＳＤ−３、ＭＩＴ、Ａｐａｃｈｅ２．０、ＭＰＬ２．０、ＭＳ−ＲＬ、ＣＤＤＬ１．０、ＥＰＬ１．０、及びＣｅＣＩＬＬ２．１）に対して、本発明の実施形態によって衝突検査を行った。図４は、これによるライセンス互換性マトリックスを示す。
【００７７】
図４に示すように、ＧＰＬ２．０は、それ自体としてはＧＰＬ３．０と互換されないが、変換を許容した他のライセンスを通じてＧＰＬ３．０と互換される。同様に、ＣｅＣＩＬＬ２．１は、それ自体としてはＧＰＬ２．０、ＧＰＬ３．０と互換されないが、変換を許容した他のライセンスを通じてＧＰＬ２．０、ＧＰＬ３．０と互換される。
【００７８】
一方、上述した本発明の実施形態は、コンピュータで実行可能なプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を用いて、前記プログラムを動作させる汎用デジタルコンピュータで具現可能である。前記コンピュータで読み取り可能な記録媒体は、磁気記録媒体（例えば、ＲＯＭ、フロッピーディスク、ハードディスクなど）、光学的読み取り媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤなど）のような記録媒体を含む。
【００７９】
以上、本発明について、その望ましい実施形態を中心に説明した。当業者ならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態として具現可能であるということを理解できるであろう。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれたものと解釈しなければならない。
【産業上の利用可能性】
【００８０】
本発明は、オープンソースソフトウェアのライセンス検査のためのソフトウェア開発分野に用いられうる。
【図１】
2019520665.tif 000007
【図２】
2019520665.tif 000008
【図３】
2019520665.tif 000009
【図４】
2019520665.tif 000010
【国際調査報告】
2019520665.tif 000011
2019520665.tif 000012
2019520665.tif 000013
2019520665.tif 000014