(57)【要約】      （修正有）【課題】ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置で、ソフトウエアのライセンスに関する条項や用語を効果的に調査する。【解決手段】ライセンス条項パターン辞書２３がライセンスの条項のパターンのデータを記憶する。処理部１２が調査対象となるソフトウエアに含まれる文のデータから前記ライセンス条項パターン辞書２３に記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する。出力部１４が前記処理部１２による検出結果を出力する。【選択図】図１
2006079385.tif 000002
【特許請求の範囲】
【請求項１】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置であって、
ライセンスの条項のパターンのデータを記憶するライセンス条項パターンデータ記憶手段と、
調査対象となるソフトウエアに含まれる文のデータから前記ライセンス条項パターンデータ記憶手段に記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する一致文字列データ検出手段と、
前記一致文字列データ検出手段による検出結果を出力する一致文字列データ検出結果出力手段と、
を備えたことを特徴とするソフトウエア処理装置。
【請求項２】
請求項１に記載のソフトウエア処理装置において、
ライセンスの用語のパターンのデータを記憶するライセンス用語パターンデータ記憶手段と、
前記一致文字列データ検出手段により検出された文字列のデータを前記調査対象となるソフトウエアに含まれる文のデータから除いた部分について、前記ライセンス用語パターンデータ記憶手段に記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する一致語句データ検出手段と、
前記一致語句データ検出手段による検出結果を出力する一致語句データ検出結果出力手段と、
を備えたことを特徴とするソフトウエア処理装置。
【請求項３】
請求項２に記載のソフトウエア処理装置において、
前記ライセンス用語パターンデータ記憶手段は、ライセンスの用語のパターンのデータと対応付けて重要度を表す値のデータを記憶し、
前記一致語句データ検出結果出力手段は、前記ライセンス用語パターンデータ記憶手段に記憶されたデータを参照して、前記一致語句データ検出手段により検出された語句のデータについて前記重要度を表す値の総和値を算出し、当該総和値を前記一致語句データ検出手段による検出結果として出力する、
ことを特徴とするソフトウエア処理装置。
【請求項４】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置であって、
ライセンスの用語のパターンのデータを記憶するライセンス用語パターンデータ記憶手段と、
調査対象となるソフトウエアに含まれる文のデータから前記ライセンス用語パターンデータ記憶手段に記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する一致語句データ検出手段と、
前記一致語句データ検出手段による検出結果を出力する一致語句データ検出結果出力手段と、
を備えたことを特徴とするソフトウエア処理装置。
【請求項５】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置におけるソフトウエア処理方法であって、
前記ソフトウエア処理装置の一致文字列データ検出手段が、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出し、
前記ソフトウエア処理装置の一致文字列データ検出結果出力手段が、前記一致文字列データ検出手段による検出結果を出力する、
ことを特徴とするソフトウエア処理方法。
【請求項６】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置におけるソフトウエア処理方法であって、
前記ソフトウエア処理装置の一致語句データ検出手段が、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出し、
前記ソフトウエア処理装置の一致語句データ検出結果出力手段が、前記一致語句データ検出手段による検出結果を出力する、
ことを特徴とするソフトウエア処理方法。
【請求項７】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムであって、
調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する機能と、
当該検出結果を出力する機能を、当該コンピュータにより実現する、
ことを特徴とするプログラム。
【請求項８】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムであって、
調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する機能と、
当該検出結果を出力する機能を、当該コンピュータにより実現する、
ことを特徴とするプログラム。
【請求項９】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶した記憶媒体であって、
当該プログラムは、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する処理と、
当該検出結果を出力する処理を、当該コンピュータに実行させる、
ことを特徴とする記憶媒体。
【請求項１０】
ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶した記憶媒体であって、
当該プログラムは、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する処理と、
当該検出結果を出力する処理を、当該コンピュータに実行させる、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウエアのライセンスに関する条項や用語を効果的に調査するソフトウエア処理装置に関する。
【背景技術】
【０００２】
従来では、ソフトウエアのパッケージのライセンスを調査する場合には、そのパッケージ中に含まれる各ファイルのライセンスを、全て、人間が手作業と目視で調査していた。このため、調査に莫大な工数が必要であり、調査結果に信頼性を保証するために何度も確認することなどが必要であった。
また、近年では、ソフトウエアの規模が大きくなっているため、このような作業の煩雑さは増大しており、更に、オープンソフトウエアの広がりにより、ライセンスを調査することの重要性がますます高まっている。
【０００３】
そこで、例えば、ライセンスの条項や用語を扱うために、文字列照合を利用することが考えられる。
文字列を照合する技術としては、或るファイルの行のうち、指定文字列に一致したものを抽出するｇｒｅｐというツールがよく知られている。
また、一例として、従来では、文字列照合の際に、共通部分を削除して、差異を抽出する方法が提案されている（例えば、特許文献１参照。）。
しかしながら、このような技術だけでは、ライセンスの条項や用語を扱うには不十分であった。
【０００４】
【特許文献１】特開昭６２−８９１３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、従来では、ソフトウエアのライセンスに関する条項や用語を調査するために十分な技術が開発されていなかった。
本発明は、このような従来の事情に鑑み為されたもので、ソフトウエアのライセンスに関する条項や用語を効果的に調査することができるソフトウエア処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るソフトウエア処理装置では、次のようにして、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査する。
すなわち、ライセンス条項パターンデータ記憶手段が、ライセンスの条項のパターンのデータを記憶する。
一致文字列データ検出手段が、調査対象となるソフトウエアに含まれる文のデータから、前記ライセンス条項パターンデータ記憶手段に記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する。
一致文字列データ検出結果出力手段が、前記一致文字列データ検出手段による検出結果を出力する。
【０００７】
従って、調査対象となるソフトウエアの文の中で、所定のライセンス条項パターンと一致する文字列が検出されて、当該検出結果が出力されるため、ソフトウエアのライセンスに関する条項（文字列）を効果的に調査することができる。
【０００８】
ここで、ライセンス内容の調査対象となるソフトウエアとしては、種々なものが用いられてもよく、例えば、パッケージに含まれるファイルなどを用いることができる。
また、ソフトウエアに含まれるライセンスを規定する文のデータとしては、例えば、ソースコードにおけるテキスト文のデータを用いることができる。
また、ソフトウエアには、例えば、プログラムのデータなども含まれる。
【０００９】
また、データを記憶する手段としては、例えば、メモリ（記憶装置）を用いて構成することができる。
また、ライセンスの条項のパターンとしては、種々なものが用いられてもよく、例えば、固定的な条項の文のパターンが用いられてもよく、或いは、特定の語句部分については所定の複数の語句のうちのいずれも許容するような条項の文のパターンが用いられてもよく、或いは、特定の部分については任意の語句を許容するような条項の文のパターンが用いられてもよい。
【００１０】
また、ライセンス条項パターンと一致する文字列を検出した結果（検出結果）としては、種々な情報が出力されてもよく、例えば、一致した文字列（ライセンス条項パターン）や文書中における当該文字列の位置を出力するような態様を用いることができる。
また、検出結果を出力する態様としては、種々な態様が用いられてもよく、例えば、検出結果の情報を画面に表示出力する態様や、検出結果の情報をプリンタにより印刷出力する態様などを用いることができる。
【００１１】
本発明に係るソフトウエア処理装置では、一構成例として、次のような構成とした。
すなわち、ライセンス用語パターンデータ記憶手段が、ライセンスの用語のパターンのデータを記憶する。
一致語句データ検出手段が、前記一致文字列データ検出手段により検出された文字列のデータを前記調査対象となるソフトウエアに含まれる文のデータから除いた部分について、前記ライセンス用語パターンデータ記憶手段に記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する。
一致語句データ検出結果出力手段が、前記一致語句データ検出手段による検出結果を出力する。
【００１２】
従って、調査対象となるソフトウエアの文の中で、所定のライセンス用語パターンと一致する語句が検出されて、当該検出結果が出力されるため、ソフトウエアのライセンスに関する用語（語句）を効果的に調査することができる。また、所定のライセンス条項パターンに一致する文字列が除かれた文書部分から、所定のライセンス用語パターンと一致する語句が検出されるため、例えば、既知なライセンス条項パターンに係るライセンス以外の未知なライセンスに関する用語（語句）を発見することが可能である。
【００１３】
ここで、ライセンスの用語のパターンとしては、種々なものが用いられてもよく、例えば、固定的な用語（語句）のパターンが用いられてもよく、或いは、同様な意味を有するものについて品詞の違いや活用形の違いを許容するような用語（語句）のパターンが用いられてもよい。
また、ライセンス用語パターンと一致する語句を検出した結果（検出結果）としては、種々な情報が出力されてもよく、例えば、一致した語句（ライセンス用語パターン）や文書中における当該語句の位置や一致の度合いに関する情報を出力するような態様を用いることができる。
【００１４】
本発明に係るソフトウエア処理装置では、一構成例として、次のような構成とした。
すなわち、前記ライセンス用語パターンデータ記憶手段は、ライセンスの用語のパターンのデータと対応付けて、重要度を表す値のデータを記憶する。
前記一致語句データ検出結果出力手段は、前記ライセンス用語パターンデータ記憶手段に記憶されたデータを参照して、前記一致語句データ検出手段により検出された語句のデータについて前記重要度を表す値の総和値を算出し、当該総和値を前記一致語句データ検出手段による検出結果として出力する。
【００１５】
従って、調査対象となるソフトウエアから検出された所定のライセンス用語パターンに一致する1つ以上の語句について、対応する重要度を表す値が総和されて、当該総和値が出力されるため、調査対象となるソフトウエアに関して、所定のライセンス用語との関連度をユーザに通知することができる。なお、重要度を表す値の総和値が大きい（高い）方が、所定のライセンス用語との関連度が大きい（高い）とみなす。
【００１６】
ここで、それぞれのライセンス用語パターンについての重要度を表す値としては、種々な値が用いられてもよい。
また、同一のライセンス用語パターンに一致する語句が複数の箇所で検出された場合には、例えば、これら複数個分だけ重要度を表す値を加算してもよく、或いは、これらをまとめて１個分とみなして１個分の重要度を表す値を用いてもよい。
【００１７】
本発明に係るソフトウエア処理装置では、次のようにして、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査する。
すなわち、ライセンス用語パターンデータ記憶手段が、ライセンスの用語のパターンのデータを記憶する。
一致語句データ検出手段が、調査対象となるソフトウエアに含まれる文のデータから、前記ライセンス用語パターンデータ記憶手段に記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する。
一致語句データ検出結果出力手段が、前記一致語句データ検出手段による検出結果を出力する。
【００１８】
従って、調査対象となるソフトウエアの文の中で、所定のライセンス用語パターンと一致する語句が検出されて、当該検出結果が出力されるため、ソフトウエアのライセンスに関する用語（語句）を効果的に調査することができる。
【００１９】
本発明では、以上に示したような技術思想を方法の発明として提供することも可能である。
一例として、本発明に係るソフトウエア処理方法では、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置において、次のような処理を行う。
すなわち、前記ソフトウエア処理装置の一致文字列データ検出手段が、調査対象となるソフトウエアに含まれる文のデータから、メモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する。前記ソフトウエア処理装置の一致文字列データ検出結果出力手段が、前記一致文字列データ検出手段による検出結果を出力する。
【００２０】
他の一例として、本発明に係るソフトウエア処理方法では、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置において、次のような処理を行う。
すなわち、前記ソフトウエア処理装置の一致語句データ検出手段が、調査対象となるソフトウエアに含まれる文のデータから、メモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する。前記ソフトウエア処理装置の一致語句データ検出結果出力手段が、前記一致語句データ検出手段による検出結果を出力する。
【００２１】
本発明では、以上に示したような技術思想をプログラムの発明として提供することも可能である。
一例として、本発明に係るプログラムは、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるものであり、次のような機能を有する。
すなわち、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する機能と、当該検出結果を出力する機能を、当該コンピュータにより実現する。
【００２２】
他の一例として、本発明に係るプログラムは、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるものであり、次のような機能を有する。
すなわち、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する機能と、当該検出結果を出力する機能を、当該コンピュータにより実現する。
【００２３】
本発明では、以上に示したような技術思想をプログラムを記憶した記憶媒体の発明として提供することも可能である。
一例として、本発明に係る記憶媒体では、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶したものである。
そして、当該プログラムは、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出する処理と、当該検出結果を出力する処理を、当該コンピュータに実行させる。
【００２４】
他の一例として、本発明に係る記憶媒体では、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するソフトウエア処理装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶したものである。
そして、当該プログラムは、調査対象となるソフトウエアに含まれる文のデータからメモリに記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出する処理と、当該検出結果を出力する処理を、当該コンピュータに実行させる。
ここで、記憶媒体としては、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭやＤＶＤなどのように、種々なものが用いられてもよい。
また、コンピュータの入力手段としては、例えば、各種の記憶媒体からデータ（ここでは、プログラム）を読み取り入力する読み取り部のように、種々なものが用いられてもよい。
【発明の効果】
【００２５】
以上説明したように、本発明に係るソフトウエア処理装置によると、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するに際して、調査対象となるソフトウエアに含まれる文のデータから記憶されたライセンスの条項のパターンのデータと一致する文字列のデータを検出し、当該検出結果を出力するようにしたため、ソフトウエアのライセンスに関する条項を効果的に調査することができる。
また、本発明に係るソフトウエア処理装置によると、ライセンスを規定する文のデータを含むソフトウエアのライセンス内容を調査するに際して、調査対象となるソフトウエアに含まれる文のデータから記憶されたライセンスの用語のパターンのデータと一致する語句のデータを検出し、当該検出結果を出力するようにしたため、ソフトウエアのライセンスに関する用語を効果的に調査することができる。
【発明を実施するための最良の形態】
【００２６】
本発明に係る一実施例を図面を参照して説明する。
図1には、本発明に係るソフトウエア処理装置１の構成例を示してある。
本例のソフトウエア処理装置１は、例えばコンピュータから構成されており、記憶部１１と、処理部１２と、入力部１３と、出力部１４を備えている。
本例のソフトウエア処理装置１は、例えば、基本ソフトウエアとなるオペレーティングシステム（ＯＳ）やＯＳ上で動作するアプリケーションソフトウエアなどのソフトウエアのライセンスを調査するために、作業者（ユーザ）により操作される。ユーザは、例えば千個以上といった多数のファイルを含むソフトウエアのパッケージについて、それぞれのファイル毎に、ソースコードを用いて、ライセンスの内容を調査する。
【００２７】
記憶部１１は、例えば、データを記憶する記憶装置から構成されており、ソフトウエアのライセンスの調査を行うための処理を実行するライセンス調査用のソフトウエア２１や、ライセンス調査の対象となるソフトウエア２２や、ライセンス条項パターン辞書２３や、ライセンス用語パターン辞書２４などを記憶する。
ライセンス調査対象ソフトウエア２２は、例えば、コンフィギュレーション対象ソフトウエアとして、コンフィギュレーション用ソフトウエアとの組として、それを売っているベンダーなどからソースコード（人が分かるプログラム）として入手して、ソフトウエア処理装置１の記憶部１１へ格納される。通常、コンフィギュレーション用ソフトウエアは、コンフィギュレーション対象ソフトウエアに付随している。
なお、商品となるソフトウエアとしては、種々なものが用いられてもよく、例えば、プリンタや複合機などに関するソフトウエアなどを用いることができる。
【００２８】
処理部１２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメインメモリなどから構成されており、各種の処理や制御を行う。本例では、処理部１２は、ユーザからの指示に従って、ライセンス調査用ソフトウエア２１によるライセンス調査の処理を実行して、ライセンス調査対象ソフトウエア２２のライセンス調査を行う。
入力部１３は、例えば、ユーザにより操作されるキーボードやマウスなどから構成されており、ライセンス調査に関する指示などをユーザから入力して処理部１２へ渡す。
出力部１４は、例えば、ユーザに対してデータを出力する表示画面やプリンタなどから構成されており、ライセンス調査の作業中のデータや、ライセンス調査の結果のデータなどを出力する。
【００２９】
図２には、ライセンス条項パターン辞書２３により保持されるデータの内容の一例を示してある。
ライセンス条項パターン辞書２３は、ライセンス条項パターンのデータの集合を保持する。
図２の例では、ライセンス条項パターンとして、「Ｔｈｅ  ｌｉｃｅｎｓｅ  ｏｆ  ｔｈｉｓ  ｓｏｆｔｗａｒｅ  ・・・」というパターンや「Ｉｆ  ｙｏｕ  ｗａｎｔ  ｔｏ  ｒｅｄｉｓｔｒｉｂｕｔｅ  ｔｈｉｓ  ｓｏｆｔｗａｒｅ，  ・・・」というパターンなどを保持している。
ライセンス条項パターンの言語としては、ライセンス調査対象ソフトウエア２２に含まれ得る任意の言語が用いられてもよく、例えば、日本語や、英語などを用いることができる。
【００３０】
本例では、ライセンス条項パターンとしては、例えば、ＧＮＵ  ＧＰＬ（Ｇｅｎｅｒａｌ  Ｐｕｂｌｉｃ  Ｌｉｃｅｎｓｅ）のライセンスやＢＳＤ（Ｂｅｒｋｅｌｅｙ  Ｓｙｓｔｅｍｓ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）のライセンスなどのように既知のライセンスに関して、一文のパターンや、二文のパターンや、或いは、三文以上のパターンを用いる。
一例として、日本語の場合、ＧＰＬのライセンスに関して「このソフトウエアは、ＧＰＬライセンスに従います」というテキスト文のパターンを用いることや、ＢＳＤライセンスに関して「このソフトウエアは、ＢＳＤライセンスに従います」というテキスト文のパターンを用いることなどができる。
【００３１】
ライセンス条項パターンとしては、例えば、定型句のパターンや、或いは、定型句ながらも変化部分（バリエーション）が含められるパターンなどを用いることができる。
定型句を用いたライセンス条項パターンとしては、例えば、予め設定された語や、任意の語（いずれの語であってもよいもの）を用いた組み合わせのパターンなどを用いることができる。
また、定型句ながらもバリエーションが含められるパターンとしては、例えば、既知のライセンス条項と照合する場合にライセンス条項に含まれる多少の変化を吸収するために、ライセンス条項を正規表現などでパターン化したものを用いることができる。
【００３２】
正規表現としては、例えば、「Ｍ」及びそれより大きな「Ｎ」をそれぞれ或る数値として、「Ａ」及び「Ｂ」をそれぞれ或る単語として、「単語Ａと単語Ｂとの間に任意の単語がＭ語以上Ｎ語以内存在するパターン」などをライセンス条項パターンとして用いることができる。
また、正規表現としては、例えば、「Ａ」、「Ｂ」、「Ｃ」、「Ｘ」、「Ｙ」、「Ｚ」をそれぞれ単語として、「ＡＢＣとＸＹＺとの間にはアルファベットの小文字が３文字以上６文字以下である」という条件や、「或る特定の箇所に必ずスペースが配置されていなければならない」という条件や、「４桁の数字が（西暦として）含まれている」という条件などを単独で或いは組み合わせて用いて、種々なライセンス条項パターンを生成することができる。
【００３３】
また、例えば、日本語を使用する場合に、「このソフトウエア」と「このライブラリ」と「このプログラム」という語のいずれであっても同一の類型のライセンス条項パターンに含まれることとすることができる。同様に、英語を使用する場合に、「ｔｈｉｓ  ｓｏｆｔｗａｒｅ」と「ｔｈｉｓ  ｌｉｂｒａｒｙ」と「ｔｈｉｓ  ｐｒｏｇｒａｍ」という語のいずれであっても同一の類型のライセンス条項パターンに含まれることとすることができる。これらでは、「この」や「ｔｈｉｓ」の後に配置される語に揺らぎを持たせている。
このように、ライセンス条項パターンでは、同様な文に対して、変化部分（バリエーション）を有する幾つかの同様なパターンを設定しておくことにより、揺らぎを持った文を検出することができる。
【００３４】
そして、本例では、調査対象となるソフトウエアに含まれるライセンスを規定するテキスト部分の中で、ライセンス条項パターン辞書２３に保持されたライセンス条項パターンと一致（マッチ）するテキスト文を検出した場合には、その旨或いは検出したテキスト文（ライセンス条項パターン）などを表すデータをユーザに対して表示出力などして通知する。
例えば、ＧＰＬのライセンスに関するライセンス条項パターンに一致するテキスト文を検出した場合に、「ＧＰＬライセンスに関するライセンス条項パターンがマッチしました」という内容のメッセージを出力することや、ＢＳＤのライセンスに関するライセンス条項パターンに一致するテキスト文を検出した場合に、「ＢＳＤライセンスに関するライセンス条項パターンがマッチしました」という内容のメッセージを出力することや、或いは、これら両方のライセンス条項パターンに一致するテキスト文を検出した場合に、その旨を出力することなどを行う。
【００３５】
図３には、ライセンス用語パターン辞書２４により保持されるデータの内容の一例を示してある。
ライセンス用語パターン辞書２４は、ライセンス用語パターンのデータと、重要度を表す点数（重要度点数）のデータとの組の集合を保持する。
図３の例では、ライセンス用語パターン及びその重要度点数の組として、「ｌｉｃｅｎｓｅ」及び「３０点」の組や、「ｌｅｇａｌ」及び「２０点」の組や、「ｐｅｒｍｉｓｓｉｏｎ」及び「１０点」の組などのデータを保持している。
ライセンス用語パターンの言語としては、ライセンス調査対象ソフトウエア２２に含まれ得る任意の言語が用いられてもよく、例えば、日本語や、英語などを用いることができる。
【００３６】
本例では、ライセンス用語パターンとしては、例えば、未知のライセンスを規定するテキスト文書に含まれる可能性があると考えられる語のパターンを用いている。
ライセンス用語パターンとしては、例えば、ライセンスに出現しやすい単語や句が用いられ、２つ以上の単語から構成されてもよく、ライセンス条項パターンと比較して短いものが用いられる。
【００３７】
また、ライセンス用語パターンとしては、定型的な語句や、或いは、ライセンス用語の多少の変化部分（バリエーション）を吸収するためにライセンス用語を正規表現などでパターン化したものなどを用いることができる。
例えば、多少の変化を吸収するパターンとして、「ｐｅｒｍｉｔ」や「ｐｅｒｍｉｓｓｉｏｎ」のように同様な意味を有する単語を同一の類型のライセンス用語パターンとして検出することにより、アルファベットの揺らぎを吸収することができる。
また、重要度点数としては、例えば、固定的な値が用いられる。
【００３８】
次に、本例のソフトウエア処理装置１によりソフトウエアのライセンスに関する条項や用語を調査する処理の具体例を示す。
本例では、ソフトウエアのパッケージの中には、何千個ものファイルが含まれており、１つ１つのファイルについてライセンスに関するテキスト部分の内容を調べる。
図４には、ライセンス調査対象ソフトウエア２２に含まれる１つのファイルのデータを出力部１４により画面に表示出力したものの一例を示してある。
図４に示される画面には、ライセンス調査の対象となる１つのファイルを構成するライセンスに関する部分のテキスト文が表示されている。
【００３９】
ここで、ライセンスの条項は、ソフトウエア（本例では、ファイル）のソースコード上に、テキストで埋め込まれている。
また、ライセンスの条項は、例えば、プログラムの先頭又は後尾に配置されることが多いが、他の位置に配置されていてもよい。
また、ライセンスの条項は、種々な言語で生成されていてもよい。
また、ライセンスの条項は、一文であってもよいが、一般に、複数の文から構成されて、長い文章であることが多い。
【００４０】
利用者であるユーザにより操作されて、本例のソフトウエア処理装置１により行われる処理の手順（１）〜（６）の一例を示す。
（１）まず、ユーザは、ソフトウエア処理装置１に対して、ライセンス調査対象ソフトウエア２２のパッケージに含まれるファイルの中から、ライセンスを調査する対象とするファイル群を指定する。なお、ファイル群としては、１つのファイルが指定されてもよく、或いは、複数のファイルが指定されてもよい。
（２）ソフトウエア処理装置１は、ユーザにより指定された調査対象となるファイル群の中の各ファイルに対して、次のような処理（３）〜（６）を行う。
【００４１】
（３）ソフトウエア処理装置１は、まず、該当するファイルに含まれるテキスト文について、ライセンス条項パターン辞書２３中の各ライセンス条項パターンと一致する部分があるか否かを照合する。
（４）この結果、１つ以上のライセンス条項パターンについて一致（マッチ）するテキスト文を検出した場合には、当該一致した各ライセンス条項パターンをユーザに対して提示するとともに、各ライセンス条項パターンと一致した部分文字列をファイル全体の文字列からライセンス用語調査対象として除外する。
【００４２】
図４の例では、「Ｔｈｅ  ｌｉｃｅｎｓｅ  ｏｆ  ｔｈｉｓ  ｓｏｆｔｗａｒｅ  ・・・」というライセンス条項パターンと「Ｉｆ  ｙｏｕ  ｗａｎｔ  ｔｏ  ｒｅｄｉｓｔｒｉｂｕｔｅ  ｔｈｉｓ  ｓｏｆｔｗａｒｅ，  ・・・」というライセンス条項パターンについて、一致する部分文字列がファイルのテキスト文中から検出されており、これら一致する部分文字列が枠に囲まれてユーザに通知されている。また、これらのようにライセンス条項パターンに一致する部分文字列は、ライセンス用語パターンとの照合では、除外される。なお、図４に示されるように、表示については、ライセンス条項パターンに一致する部分文字列も表示される。
【００４３】
（５）ソフトウエア処理装置１は、ライセンス条項パターンに一致する部分文字列が除外された後におけるファイルのテキスト文（除外された残りの部分）について、ライセンス用語パターン辞書２４中の各ライセンス用語パターンと一致する部分があるか否かを照合し、その結果をユーザに対して提示する。また、一致したライセンス用語パターンに対応した重要度点数を記憶部１１などの記憶装置に記録する。
図４の例では、「ｌｉｃｅｎｓｅ」というライセンス用語パターンと「ｌｅｇａｌ」というライセンス用語パターンと「ｐｅｒｍｉｓｓｉｏｎ」というライセンス用語パターンについて、一致する部分文字列がファイルのテキスト文中から検出されており、これら一致する部分文字列が枠に囲まれてユーザに通知されている。
【００４４】
（６）ソフトウエア処理装置１は、ライセンス用語パターンと一致した部分文字列の全てについて、重要度点数を総和（累積的に加算）して、当該総和結果（合計結果）の値をライセンス用語マッチング度としてユーザに対して提示する。
なお、同一のライセンス用語パターンと一致する部分文字列が複数存在する場合には、これら複数分について重要度数を加算してもよく、或いは、これらをまとめて１つ分の重要度数のみを加算してもよい。例えば、重要度数が３０点である「ｌｉｃｅｎｓｅ」という部分文字列が３箇所に存在する場合には、これら複数分について重要度数を加算して９０点としてもよく、或いは、これらをまとめて３０点としてもよい。
図４の例では、表示画面の下方に、「ライセンス用語パターンとのマッチング度は６０点です。」というメッセージが表示されてユーザに通知されている。
【００４５】
また、本例では、調査対象となる何千個のファイルについて、それぞれのライセンス用語マッチング度が検出される。
例えば、ライセンス用語マッチング度が検出された複数のファイルについて、検出されたライセンス用語マッチング度の値が大きい方からＬ個のファイルを選択して、選択したファイルについてその識別情報（例えば、ファイル名など）やライセンス用語マッチング度の値を表示出力などしてユーザに通知することが可能である。ここで、Ｌ個としては、例えば、１０個や、１００個などの種々な値を用いることができる。
また、例えば、ライセンス用語マッチング度が検出された複数のファイルについて、検出されたライセンス用語マッチング度の値が所定の閾値以上である（或いは、所定の閾値を超える）ファイルを選択して、選択したファイルについてその識別情報（例えば、ファイル名など）やライセンス用語マッチング度の値を表示出力などしてユーザに通知することが可能である。
【００４６】
次に、ライセンス条項パターン辞書２３に保持されるライセンス条項パターンのデータや、ライセンス用語パターン辞書２４に保持されるライセンス用語パターンのデータを成長させる処理の例を示す。
本例では、調査対象となる複数のファイルについて、それぞれのライセンス用語マッチング度が検出される。ライセンス用語マッチング度は、ライセンス用語パターンとの一致（マッチング）の度合いを数値化したものである。
そして、ライセンス用語マッチング度の値が大きい（高い）ファイルの方が、ライセンス用語マッチング度の値が小さい（低い）ファイルと比べて、何らかのライセンスに関係がありそうであり、未知のライセンス条項が含まれている可能性が高いとみなすことが可能である。これにより、未知のライセンスに関する条項や用語を探すことができる。
【００４７】
例えば、ライセンス用語マッチング度の値が大きい方から所定の複数個のファイルを検査して、或いは、ライセンス用語マッチング度の値が所定の閾値以上である（或いは、所定の閾値を超える）複数個のファイルを検査して、ライセンス条項パターン辞書２３に登録（保持）されていない同一の文或いは類似する文が所定数以上のファイル（全てのファイルという条件でもよい）に存在することを検出した場合には、このような文のパターンをライセンス条項パターンとして新たにライセンス条項パターン辞書２３に登録する（保持させる）ことができる。
【００４８】
また、例えば、ライセンス用語マッチング度の値が大きい方から所定の複数個のファイルを検査して、或いは、ライセンス用語マッチング度の値が所定の閾値以上である（或いは、所定の閾値を超える）複数個のファイルを検査して、ライセンス用語パターン辞書２４に登録（保持）されていない同一の語句或いは類似する語句が所定数以上のファイル（全てのファイルという条件でもよい）に存在することを検出した場合には、このような語句のパターンをライセンス用語パターンとして新たにライセンス用語パターン辞書２４に登録する（保持させる）ことができる。また、例えば、或る語句と組になって多く（例えば、所定数以上のファイルで）現れる語句のパターンをライセンス用語パターンとして新たにライセンス用語パターン辞書２４に登録する（保持させる）ことができる。
【００４９】
以上のように、本例のソフトウエア処理装置１では、ソースコードを含むソフトウエアやネットワークライブラリなどのパッケージについて、ライセンスに関する条項や用語を自動的に確実に調査することができ、ライセンスの調査にかかる工数を削減することができる。
例えば、本例のソフトウエア処理装置１では、ライセンス条項パターン辞書２３に含まれる既知の各ライセンス条項パターンと一致する文が自動的に且つ確実に検出され、また、ライセンス用語パターン辞書２４に登録されているライセンス用語パターンを用いて、ライセンス用語マッチング度が算出され、これにより、ライセンス条項パターン辞書２３に含まれていない未知のライセンス条項パターンや、ライセンス用語パターン辞書２３に含まれていない未知のライセンス用語パターンを発見することが可能となる。
【００５０】
ここで、本例では、ライセンス条項パターン辞書２３を用いてライセンス条項に関する調査を行う構成と、ライセンス用語パターン辞書２４を用いてライセンス用語に関する調査を行う構成とを組み合わせた構成を示したが、例えば、いずれか一方の構成のみを実施することも可能である。
【００５１】
なお、本例のソフトウエア処理装置１では、ライセンス条項パターン辞書２３の機能によりライセンス条項パターンデータ記憶手段が構成されており、ライセンス用語パターン辞書２４の機能によりライセンス用語パターンデータ記憶手段が構成されており、処理部１２の機能により一致文字列データ検出手段や一致語句データ検出手段が構成されており、出力部１４の機能により一致文字列データ検出結果出力手段や一致語句データ検出結果出力手段が構成されている。
【００５２】
ここで、本発明に係るソフトウエア処理装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録（記憶）する記録媒体（記憶媒体）などとして提供することも可能であり、また、種々な装置やシステムとして提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
【００５３】
また、本発明に係るソフトウエア処理装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施例に係るソフトウエア処理装置の構成例を示す図である。
【図２】ライセンス条項パターン辞書の一例を示す図である。
【図３】ライセンス用語パターン辞書の一例を示す図である。
【図４】ライセンス調査対象ファイルの表示の一例を示す図である。
【符号の説明】
【００５５】
１・・ソフトウエア処理装置、  １１・・記憶部、  １２・・処理部、  １３・・入力部、  １４・・出力部、  ２１・・ライセンス調査用ソフトウエア、  ２２・・ライセンス調査対象ソフトウエア、  ２３・・ライセンス条項パターン辞書、  ２４・・ライセンス用語パターン辞書、
【図１】
2006079385.tif 000003
【図２】
2006079385.tif 000004
【図３】
2006079385.tif 000005
【図４】
2006079385.tif 000006