(57)【要約】【目的】ソフトウェアが依存する他のプログラムから受けるライセンス制限を自動的に効率良く判別することができるライセンス判別システムの提供。【構成】ユーザが作成したソフトウェア及びユーザに提供されたソフトウェアのライセンスを管理するライセンス判別システムにおいて、対象ソフトウェアが自身のプログラム情報テーブルを有し、各種ソフトウェアのプログラム情報テーブルと各種ライセンス情報テーブルを格納したデータベースを有し、前記データベースを参照することより対象ソフトウェアが依存するソフトウェアから受けるライセンス制限を判別する手段を持つ。【選択図】      図１
2004252870.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが作成したソフトウェア及びユーザに提供されたソフトウェアのライセンスを管理するライセンス判別システムにおいて、
対象ソフトウェアが自身のプログラム情報テーブルを有し、各種ソフトウェアのプログラム情報テーブルと各種ライセンス情報テーブルを格納したデータベースを有し、前記データベースを参照することより対象ソフトウェアが依存するソフトウェアから受けるライセンス制限を判別する手段を持つことを特徴とするライセンス判別システム。
【請求項２】
前記対象ソフトウェアのプログラム情報において、その情報テーブルをプログラムのヘッダに埋めこんで保持することを特徴とする請求項１記載のライセンス判別システム。
【請求項３】
前記データベースにおいて、依存ソフトウェアのプログラム情報がない場合、データベースの更新を促すステップを有することを特徴とする請求項１記載のライセンス判別システム。
【請求項４】
前記システムにおいて、判別されたライセンスを含む対象ソフトウェアのプログラム情報をデータベースに登録するステップを有することを特徴とする請求項１記載のライセンス判別システム。
【請求項５】
前記システムで判別したライセンスにおいて、ライセンスの特徴若しくはライセンス文を表示するステップを持つことを特徴とする請求項１記載のライセンス判別システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザが開発若しくは提供されたソフトウェアを管理する上で、対象ソフトウェアが他の依存ソフトウェアより制限を受けるライセンスを自動的に判別するためのライセンス判別システムに関する。
【０００２】
【従来の技術】
従来より、開発したソフトウェアは依存する他のソフトウェアによりライセンスの制限を受けるため、ライセンスの判別は必要なことである。そのため、開発者は、依存するソフトウェアのライセンス及びその開発したソフトウェアとの依存形態を調べ、各ライセンスの情報を調査することにより開発したプログラムが制限を受けるライセンスを手動で判別していた。又、ソフトウェアのソース自体を解析することよって依存プログラムを調べ、ライセンスを判別するようなプログラムは存在していた。
【０００３】
【発明が解決しようとする課題】
しかしながら、依存するすべてのソフトウェアのライセンスを調べるのは多くの工数が掛かる。又、判別する基準が曖昧なために情報を見落とし、間違ったライセンスを判別してしまうことが考えられ、効率良く共通化されたライセンス判別手段が求められていた。
【０００４】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、ソフトウェアが依存する他のプログラムから受けるライセンス制限を自動的に効率良く判別することができるライセンス判別システムを提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ユーザが作成したソフトウェア及びユーザに提供されたソフトウェアのライセンスを管理するライセンス判別システムにおいて、対象ソフトウェアが自身のプログラム情報テーブルを有し、各種ソフトウェアのプログラム情報テーブルと各種ライセンス情報テーブルを格納したデータベースを有し、前記データベースを参照することより対象ソフトウェアが依存するソフトウェアから受けるライセンス制限を判別する手段を持つことを特徴とする。
【０００６】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【０００７】
図１は本発明の特徴を最も良く示す図面であり、同図において、１は中央演算処理装置（ＣＰＵ）であり、２はメモリ、３は磁気ディスク装置（ＨＤ）、４はキーボード等の入力装置、５は表示装置、６はデータベースである。
【０００８】
ＣＰＵ１は、システムの全体の動作を制御する装置である。メモリ２は、プログラムのライセンスを判別するための各種処理プログラムをロードする記憶装置である。ＨＤ３は前記各種処理プログラムや対象となるソフトウェア及びその情報テーブル等各種データを格納する記憶装置である。入力装置４は、システムへの操作指示を入力する装置である。表示装置５は判別結果を表示する装置である。
【０００９】
データベース６には、各種ソフトウェアのプログラム情報テーブル及び各種ライセンス情報テーブルを格納するデータベースである。
【００１０】
図２及び図３は本発明の全体のフローチャートを示している。斯かるフローチャートを使用して、本システムの動作を以下順を追って説明する。
【００１１】
図２のフローチャートは、ライセンスを求める対象のソフトウェアの判別を指示するところから始まる。指示は入力装置４から行う。
【００１２】
先ず、Ｓ１０１では、ライセンスを求める対象ソフトウェアのプログラム情報を取得する。プログラム情報は、対象ソフトウェアのヘッダ部にテーブルとして保持しているか、ファイルとして添付してある。プログラム情報の内容は、図４に示すように、ソフトウェア名・ソフトウェアのバージョン・ライセンス・依存するソフトウェア一覧から成っている。依存するソフトウェア一覧の項目は、各依存ソフトウェア名とそのバージョン、対象ソフトウェアからの依存形態を示しているとする。図５にプログラム情報の一例を示した。ライセンス判別を行っていない時点ではプログラム情報のライセンスの項目は未登録であるか、若しくはライセンスをユーザが初期設定することが可能であるとする。
【００１３】
対象ソフトウェアのプログラム情報が存在しない場合は、Ｓ１０８においてプログラム情報作成を促す表示を行い、処理を終了する。
【００１４】
次に、Ｓ１０２では対象ソフトウェアのプログラム情報から得られた情報に基づいて制限を受けるライセンスの判別処理を行う。  ライセンス判別処理の詳細は図３のフローチャートで説明する。
【００１５】
Ｓ１０３ではＳ１０２で判別された対象ソフトウェアのライセンス判別結果を表示する。表示は表示装置５で行う。表示結果の一例を図８に示す。
【００１６】
次に、Ｓ１０４において判別したライセンスの詳細表示を行うかの選択を行う。ここで詳細表示が選択されればＳ１０５においてライセンスの特徴或はライセンス文の表示を行う。各ライセンスはそれぞれ特徴及びライセンス文を持っている。これらの情報はＳ１０２においてデータベースに格納されたライセンス情報テーブルより取得したものである。図７でデータベースに格納されたライセンス情報テーブルの一例を挙げている。Ｓ１０４において表示が選択されなければＳ１０６へと移り処理を継続する。
【００１７】
その後、Ｓ１０６において得られた対象ソフトウェアのプログラム情報をデータベースに登録を行うかの選択をする。Ｓ１０６において登録が選択されなければ処理を終了し、選択されたならばＳ１０７において対象ソフトウェアのプログラム情報を新たにデータベースへ登録する。ここで述べているプログラム情報とは図４に示した対象ソフトウェアが保持していたプログラム情報のライセンス項目を更新したものである。データベースへの登録行われると、対象ソフトウェアのプログラム情報はデータベース上の各種ソフトウェアのプログラム情報テーブルに追加され、以降他のソフトウェアのライセンス判別に用いることが可能となる。
【００１８】
次に、図３のフローチャートを用いて対象ソフトウェアのライセンス判別処理の詳細について説明する。
【００１９】
図３のフローチャートはライセンス判別処理の開始を指示するところから始まる。
【００２０】
先ず、Ｓ２０１では、ライセンスＬ１、制限力Ｐの初期化を行う。対象ソフトウェアのライセンスが予め設定されているなら、Ｌ１１  及びＰに対象ソフトウェアのプログラム情報から取得したライセンスとその制限力をセットする。このとき、制限力は整数としてもっており、図７に例を示したデータベース内の各種ライセンス情報テーブルを参照することによって得る。初期設定がないときは初期値として制限力Ｐに０をセットする。
【００２１】
Ｓ２０２以降では、対象ソフトウェアのプログラム情報から得た依存ソフトウェア一覧に記述された各ソフトウェアに対して１つずつ処理を行う。
【００２２】
Ｓ２０２では、１つ目の依存ソフトウェアのプログラム情報をデータベース内の各種プログラム情報テーブルから取得を試みる。データベース内のプログラム情報テーブルは、図４に示した対象ソフトウェアのプログラム情報と同じ項目を持っており、図６においてこのプログラム情報テーブルの一例を示している。
【００２３】
ここで取得を試みた依存ソフトウェアのプログラム情報がデータベースにない場合、或は取得したプログラム情報を参照し対象ソフトウェアで使われているものよりバージョンが古い場合、Ｓ２０７に移りデータベース内の依存ソフトウェアのプログラム情報更新を促す表示を行う。Ｓ２０８では終了の選択を行い、終了が選択されなければＳ２０５の処理に移り処理を継続する。
【００２４】
Ｓ２０３ではＳ２０２で得た依存ソフトウェアのプログラム情報のライセンス項目と、対象ソフトウェアが保持するプログラム情報から得られる依存ライブラリへの依存形態を条件とし、データベースの各種ライセンス情報テーブルを参照することよって、対象ソフトウェアが制限を受けるライセンスの情報を取得する。ここでデータベース上のライセンステーブルは図７に一例を示している。ライセンス情報テーブルには、ライセンス毎にライセンスの制限力、各依存形態別に受けるライセンス及びライセンスの特徴或はライセンス文を含んでいるとする。
【００２５】
Ｓ２０４ではＳ２０３で得た依存ライブラリから制限を受けるライセンスの制限力を、Ｐにセットされている値と比較し、Ｐよりも大きければ、ライセンスＬｉと制限力Ｐを取得したライセンスとその制限力で更新する。ここで、制限力が等しく、ライセンスが異なる場合はＬ１のライセンスはそのままとし、新たにＬ２に取得したライセンスをセットすることとする。
【００２６】
Ｓ２０５では対象ソフトウェアの依存ソフトウェア一覧から次の依存ソフトウェアがあるか調べる。次のソフトウェアあれば、Ｓ２０２に戻りＳ２０２からＳ２０５までの処理を繰り返し、ライセンスＬｉ及びＰの更新を行っていく。
【００２７】
Ｓ２０５で次の依存ソフトウェアがない場合、Ｓ２０６ステップに移り、ライセンスＬ１〜Ｌｎに登録されているものを対象ソフトウェアの判別結果と見なしライセンス判別処理が完了する。以降、前記のＳ１０３〜からＳ１０７においてライセンスの表示及びＤＢへの登録が行われる。
【００２８】
以上、図２及び図３のフローチャートが示す一連の処理によって、対象となるソフトウェアが持つプログラム情報に基づいてデータベースの参照を行うことによって、ライセンスを効率良く自動的に判別することが可能となった。又、求めた結果をデータベースに登録することにより、以降対象ソフトウェアに依存したソフトウェア作成した際にもライセンス判別が可能となる。
【００２９】
【発明の効果】
以上の説明で明らかなように、本発明によれば、ユーザが作成したソフトウェア及びユーザに提供されたソフトウェアのライセンスを管理するライセンス判別システムにおいて、対象ソフトウェアが自身のプログラム情報テーブルを有し、各種ソフトウェアのプログラム情報テーブルと各種ライセンス情報テーブルを格納したデータベースを有し、前記データベースを参照することより対象ソフトウェアが依存するソフトウェアから受けるライセンス制限を判別する手段を設けたため、ソフトウェアが依存する他のプログラムから受けるライセンス制限を自動的に効率良く判別することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明のシステムの全体図である。
【図２】ライセンス判別システムの全体の流れを示すフローチャートである。
【図３】ライセンス判別処理を示すフローチャートである。
【図４】プログラム情報の内容を示す図である。
【図５】プログラム情報の一例を示す図である。
【図６】プログラム情報テーブルの一例を示す図である。
【図７】イセンス情報テーブルの一例を示す図である。
【図８】ライセンス判別結果の一例を示す図である。
【図９】ライセンスの特徴表示の一例を示す図である。
【符号の説明】
１      中央演算処理装置（ＣＰＵ）
２      メモリ
３      磁気ディスク装置（ＨＤ）
４      入力装置
５      表示装置
６      データベース
【図１】
2004252870.tif 000003
【図２】
2004252870.tif 000004
【図３】
2004252870.tif 000005
【図４】
2004252870.tif 000006
【図５】
2004252870.tif 000007
【図６】
2004252870.tif 000008
【図７】
2004252870.tif 000009
【図８】
2004252870.tif 000010
【図９】
2004252870.tif 000011