JP6045707B2 - ライセンス管理装置、ライセンス管理方法、及びプログラム - Google Patents

ライセンス管理装置、ライセンス管理方法、及びプログラム Download PDF

Info

Publication number
JP6045707B2
JP6045707B2 JP2015533909A JP2015533909A JP6045707B2 JP 6045707 B2 JP6045707 B2 JP 6045707B2 JP 2015533909 A JP2015533909 A JP 2015533909A JP 2015533909 A JP2015533909 A JP 2015533909A JP 6045707 B2 JP6045707 B2 JP 6045707B2
Authority
JP
Japan
Prior art keywords
program
license
source code
programs
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015533909A
Other languages
English (en)
Other versions
JPWO2015029242A1 (ja
Inventor
紀之 小宮
紀之 小宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6045707B2 publication Critical patent/JP6045707B2/ja
Publication of JPWO2015029242A1 publication Critical patent/JPWO2015029242A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/184Intellectual property management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ソフトウェアを構成する複数のプログラムのライセンスを管理するライセンス管理装置、ライセンス管理方法、及びプログラムに関する。
近年、オープン・ソース・ソフトウェア(OSS)を利用した、ソフトウェアの開発が盛んとなっている。OSSの中には、そのOSSを利用した場合に、一定の条件を課すライセンスを伴うものが多い。従って、OSSを特に商用で利用する場合、そのライセンスの調査や管理に多大な工数が必要となる。特許文献1は、この多大な工数を減らすため、OSSのライセンスをチェックするシステムを開示している。具体的には、特許文献1に開示されたシステムは、ユーザがOSSをインターネットからダウンロードした際、そのOSSのライセンスをチェックする。そして、ユーザがそのOSSを用いて作成したソフトウェアをビルドする際、そのシステムは、そのソフトウェアが、そのOSSのライセンスに違反していないか判定し、その結果を出力する。
特開2008−191889号公報
OSSの中には、そのライセンスが、そのOSSを直接的に用いたソフトウェアだけでなく、そのOSSを間接的に用いたソフトウェアに伝播するものがある。例えば、OSSのライセンスの1つであるGPL(GNU General Public License)では、GPLを有するプログラムAを用いたプログラムBだけでなく、プログラムBを用いたプログラムCにも、GPLの影響が及ぶ。しかし、特許文献1に開示されたシステムは、ユーザによるOSSの改変、そのOSSへのリンクが、そのOSSのライセンスに違反しているか否かを判定できるが、そのOSSを間接的に用いたソフトウェアについては、そのOSSのライセンスに違反しているか判定することは、困難である。
本発明は、上記実情に鑑みてなされたものであり、ソフトウェアを構成する複数のプログラムのライセンスを漏れなく管理することが可能なライセンス管理装置、ライセンス管理方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明に係るライセンス管理装置では、プログラム取得部が、ソフトウェアを構成する複数のプログラムのソースコードを取得する。依存関係取得部は、プログラム取得部により取得された複数のプログラムのソースコード間の依存関係を表す依存関係情報を取得する。特定部は、プログラム取得部により取得された複数のプログラムのソースコードのうちから、予め定められたライセンスが必要なプログラムのソースコードを特定する。判定部は、複数のプログラムのソースコードのうち、特定部により特定されたプログラムのソースコード以外のプログラムのソースコードについて、依存関係取得部により取得された依存関係情報に基づいて、予め定められたライセンスが必要なプログラムのソースコードと依存関係があるか否かを判定する。
本発明によれば、ソフトウェアを構成する複数のプログラム間の依存関係に基づいて、ライセンスが伝播する範囲を特定することができるため、ソフトウェアを構成する複数のプログラムのライセンスを漏れなく管理することができる。
実施形態に係るライセンス管理システムの構成例を示す概略ブロック図である。 本実施形態に係るライセンス管理装置のハードウェア構成の一例を示す概略ブロック図である。 ライセンス情報テーブルに格納されるデータの一例を示す図である。 OSS情報テーブルに格納されるデータの一例を示す図である。 非OSS情報テーブルに格納されるデータの一例を示す図である。 制御部の機能構成の一例を示す概略ブロック図である。 依存関係取得部により取得された依存関係の一例を模式的に表す図である。 ソフトウェア診断処理のフローチャートの一例である。
本発明の実施の形態について、図面を参照して詳細に説明する。
(実施形態)
図1は、本発明の実施形態に係るライセンス管理システム1の構成例を示す概略ブロック図である。図1に示すように、ライセンス管理システム1は、ライセンスの管理対象であるソフトウェアが生成される情報処理装置100と、情報処理装置100により生成されたソフトウェアのライセンスを管理するライセンス管理装置200と、ライセンス管理装置200と有線または無線により通信可能に接続されたネットワーク300と、を備える。
情報処理装置100は、パーソナルコンピュータ等の一般的な情報処理装置から構成される。情報処理装置100において生成されるソフトウェアは、複数のプログラムから構成される。複数のプログラムは、ユーザが独自に作成したプログラムと、インターネット等の外部から取得されたOSSと、を含む。ここで、OSSは、一般に公開され、誰でも、無償で、利用や再配布、改変することができ、また、派生ソフトウェアの作成や配布を行うことができるプログラムである。情報処理装置100において生成されたソフトウェアは、情報処理装置100において実行されるものであってもよいし、例えば、図示しない機器に組み込まれ、その機器を動作させるものであってもよい。
ライセンス管理装置200は、情報処理装置100により生成されたソフトウェアのライセンスを管理する。具体的には、ライセンス管理装置200は、情報処理装置100により生成されたソフトウェアを構成する複数のプログラムに含まれるOSSのライセンスをチェックし、その結果を出力する。
ネットワーク300は、例えば、インターネットから構成される。
次に、本実施形態におけるライセンス管理装置200の構成について詳細に説明する。
図2に本実施形態に係るライセンス管理装置200のハードウェア構成の一例を示す。図2に示すように、ライセンス管理装置200は、制御部210と、記憶部220と、通信部230と、入力部240と、出力部250と、を備え、各部はバス260により接続されている。
制御部210は、例えば、CPU(Central Processing Unit)、CPUが実行するプログラムを格納するROM(Read Only Memory)、CPUが生成したデータを一時的に格納するRAM(Random Access Memory)から構成され、ライセンス管理装置200全体の制御を行う。
記憶部220は、ハードディスクドライブや、フラッシュメモリ、SSD(Solid State Drive)のような、書き込み可能な記憶装置から構成される。記憶部220は、ライセンス情報テーブル221と、OSS情報テーブル222と、非OSS情報テーブル223と、を記憶する。
ライセンス情報テーブル221は、ライセンスを特定するための情報と、そのライセンスの種別とを表す情報を格納する。
図3に、ライセンス情報テーブル221に格納されるデータの一例を示す。図3に示すライセンス情報テーブル221には、ライセンス特定情報と、ライセンス種別と、を表す情報が対応付けて格納されている。ライセンス特定情報は、ライセンスを特定するための情報であって、例えば、そのライセンスを有するプログラムのソースコード中に一般的に記述されるキーワードである。ライセンス種別は、ライセンスの種類を表す。具体的なライセンスの種類は、例えば、GPL、BSD(Berkeley Software Distribution License)等である。ライセンス情報テーブル221に格納される各種データは、予め、例えばライセンス管理を担当するユーザにより、入力され、ライセンス情報テーブル221に格納される。
ここで、GPLは、あるOSSを利用したソフトウェア全体に対して、そのソースコードの公開等、そのOSSのライセンスの影響が及ぶ、すなわち、そのOSSのライセンスの影響が伝播するライセンスである。例えば、あるOSSが、GPLを有する場合、そのOSSを改変することにより作成されたプログラム、そのOSSが組み込まれたプログラム、そのOSSへのリンクを含むプログラム等のプログラムも、GPLを有することとなる。従って、それらのプログラムも、そのソースコードを公開することが義務付けられる。
これに対し、BSDライセンスは、BSDライセンスを有するOSSの利用、再配布にあたり、所定の条件を満たせばよく、制限が少ないライセンスである。BSDライセンスを有するOSSを改変したプログラムは、そのソースコードを非公開にすることができる。
従って、本実施形態に係るライセンス管理装置200は、GPLは伝播性があり、BSDライセンスは伝播性がないとして、ライセンス管理対象であるソフトウェアを構成する複数のプログラムにおいて、GPLが伝播する範囲を特定する。
OSS情報テーブル222は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムに含まれるOSSに関する情報を格納する。
図4に、OSS情報テーブル222に格納されるデータの一例を示す。図4に示すOSS情報テーブル222には、OSS毎に、OSSのファイル名と、OSSのバージョン情報と、OSSのライセンス種別と、OSSのURI(Uniform Resource Identifier)と、OSSの利用実績と、を表す情報が対応付けて格納されている。OSSのURIは、具体的には、そのOSSがインターネットのウェブ上で公開されている場合、そのウェブページのアドレスである。また、OSSの利用実績は、具体的には、そのOSSを利用している会社、そのOSSを利用している機器、その機器の型番等を表す情報である。OSS情報テーブル222に格納される各種データは、後述する処理により、インターネットを介して収集され、OSS情報テーブル222に格納される。
非OSS情報テーブル223は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムに含まれる、OSS以外のプログラム(非OSS)に関する情報を格納する。
図5に、非OSS情報テーブル223に格納されるデータの一例を示す。図5に示す非OSS情報テーブル223には、非OSS毎に、非OSSのファイル名と、ライセンス伝播の有無と、伝播元ライセンス種別と、伝播元ファイル名と、を表す情報が対応付けて格納されている。ライセンス伝播の有無は、その非OSSが、ライセンス伝播の影響を受けるか否かを表す。図5において、ライセンス伝播の有無が"Y"である場合、その非OSSはライセンス伝播の影響を受ける。また、ライセンス伝播の有無が"N"である場合、その非OSSはライセンス伝播の影響を受けない。伝播元ライセンス種別は、その非OSSがライセンス伝播の影響を受ける場合、その非OSSに影響を与える原因であるOSSのライセンス種別である。また、伝播元ファイル名は、その非OSSがライセンス伝播の影響を受ける場合、その非OSSに影響を与える原因であるOSSのファイル名である。非OSS情報テーブル223に格納される各種データは、後述する処理において生成され、非OSS情報テーブル223に格納される。
通信部230は、情報処理装置100及びネットワーク300と、無線または有線による通信を行うためのインターフェースから構成される。
入力部240は、ボタン、タッチパネル、キーボード等の入力装置から構成される。入力部240は、ユーザからの操作入力を受け付け、受け付けた操作入力に対応する操作入力信号を制御部210に出力する。
出力部250は、CRT(Cathode Ray Tube)や液晶ディスプレイ等の表示装置から構成され、制御部210から供給される文字や画像等のデータを表示する。
次に、ライセンス管理装置200の制御部210の機能について説明する。図6は、制御部210の機能構成の一例を示す概略ブロック図である。図6に示すように、制御部210は、プログラム取得部211、依存関係取得部212、特定部213、情報収集部214、判定部215、結果出力部216として機能する。
プログラム取得部211は、情報処理装置100から、情報処理装置100において生成されたソフトウェアを構成する複数のプログラムを取得する。また、プログラム取得部211は、そのソフトウェアに利用されている、少なくとも1つのOSSから構成されるOSSアーカイブを、情報処理装置100から取得する。
依存関係取得部212は、プログラム取得部211により取得された複数のプログラム間の依存関係を取得する。プログラム間の依存関係は、例えば、あるプログラムが、他のプログラムをリンクするという形式で利用している関係である。リンクには、動的リンクや静的リンクが含まれる。具体的には、依存関係取得部212は、プログラム取得部211により取得された複数のプログラムに含まれる"makefile"の参照、または、ソフトウェアに実装されている依存関係を抽出するためのコマンドの使用等、一般的に知られている手法により、依存関係を取得する。
図7は、依存関係取得部212により取得された依存関係の一例を模式的に表す図である。図7に示す依存関係は、プログラム取得部211により取得された複数のプログラムそれぞれを表すノードと、依存関係があるプログラムを表すノード間を結ぶリンクと、から構成される木構造で表される。例えば、プログラム"xxx.c"が、"abc.c"と"xxxx.c"との2つのプログラムをリンクすることにより利用している場合、プログラム"xxx.c"を表すノードは、"abc.c"と"xxxx.c"を表すノードそれぞれと、リンクにより結ばれる。
特定部213は、プログラム取得部211により取得された複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する。具体的には、特定部213は、ライセンス情報テーブル221を参照し、複数のプログラムのうちから、ライセンス情報テーブル221に格納されたライセンス特定情報を含むプログラムを特定する。例えば、特定部213は、プログラム取得部211により取得された複数のプログラムのソースコード毎に、ライセンス特定情報として、"GNU General Public License"というキーワードが含まれているか否か判定する。そして、特定部213は、そのキーワードが含まれるプログラムを、ライセンス種別が"GPL"であるOSSとして、特定する。そして、特定部213は、OSSとして特定したプログラムのファイル名を、OSS情報テーブル222に格納する。
また、特定部213は、ソフトウェアを構成する複数のプログラムのうちからOSSを特定する際に、プログラムのテキストファイルであるソースコードの他、プログラムのバイナリ形式のファイルについても、所定のライセンスを有するプログラムか否かを判定してもよい。
なお、特定部213は、プログラム取得部211により取得された複数のプログラムのうち、プログラム取得部211により取得されたOSSアーカイブにすでに格納されているプログラムについては、ライセンス情報テーブル221を参照して、OSSか否か判定しなくてもよい。すなわち、特定部213は、そのプログラムがOSSか否かの判定を行わずに、そのプログラムのファイル名をOSS情報テーブル222に格納してもよい。
また、特定部213は、プログラム取得部211により取得された複数のプログラムのうちから、所定のライセンスを有するプログラムを特定しなかったプログラムを、非OSSとして特定する。そして、特定部213は、非OSSとして特定したプログラムのファイル名を、非OSS情報テーブル223に格納する。
情報収集部214は、特定部213により特定されたプログラムに関連する各種情報を、ネットワーク300を介して収集する。具体的には、情報収集部214は、特定部213により特定されたプログラム毎に、そのプログラムのファイル名、またはそのプログラムのソースコードと一致、または部分一致するプログラムをキーワードとして、インターネット上で検索する。そして、情報収集部214は、検索されたプログラムのURI、及び、その検索されたプログラムと関連付けて公開されている利用実績を収集し、OSS情報テーブル222に格納する。
判定部215は、特定部213により非OSSとして特定されたプログラムについて、依存関係取得部212により取得された依存関係に基づいて、所定のライセンスを有するプログラムと依存関係があるか否かを判定する。具体的には、判定部215は、非OSS情報テーブル223に格納されている非OSS毎に、依存関係取得部212により取得された依存関係を辿って、OSS情報テーブル222に格納されているOSSのうち、例えばライセンス種別が"GPL"であるOSSと依存関係があるか否かを判定する。例えば、非OSS情報テーブル223に格納されているファイル名"MThij.c"について、判定部215は、図7に示す依存関係から、"MThij.c"を表すノードの下位のノードの中に、OSS情報テーブル222に格納されている、ライセンス種別が"GPL"の"abc.c"を表すノードが存在することを特定する。そして、判定部215は、非OSS情報テーブル223に、"MThij.c"と対応付けて、ライセンス伝播の有無に"Y"、伝播元ライセンス種別に"GPL"、伝播元ファイル名に"abc.c"を格納する。
結果出力部216は、OSS情報テーブル222及び非OSS情報テーブル223に格納されたデータを、出力部250に出力する。
次に、本実施形態に係るライセンス管理装置200の動作について説明する。
ライセンス管理装置200の制御部210が実行するソフトウェア診断処理について説明する。ソフトウェア診断処理は、例えば制御部210のCPUがROMに記憶されたプログラムを読み込むことにより実行される。
図8は、ライセンス管理装置200の制御部210が実行するソフトウェア診断処理のフローチャートの一例である。ソフトウェア診断処理は、例えば、ユーザにより、入力部240を介して、ソフトウェア診断処理の実行開始を表す旨の操作入力を受け取ったことを契機として、開始する。
まず、プログラム取得部211は、情報処理装置100から、ライセンスの管理対象であるソフトウェアを構成する複数のプログラムと、OSSアーカイブと、を取得する(ステップS101)。
次に、依存関係取得部212は、ステップS101において取得された複数のプログラム間の依存関係を表す依存関係情報を取得する(ステップS102)。
次に、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS101において取得されたOSSアーカイブに格納されていないプログラムについて、ライセンス情報テーブル221を参照して、OSSであるプログラムを特定する(ステップS103)。また、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS101において取得されたOSSアーカイブに格納されているプログラムと同じプログラムを、OSSとして特定する。そして、特定部213は、OSSとして特定したプログラムのファイル名を、OSS情報テーブル222に格納する。
次に、情報収集部214は、OSS情報テーブル222に格納されている各OSSについて、インターネットを介して、そのOSSのURIや利用実績を収集し、OSS情報テーブル222に格納する(ステップS104)。
次に、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS103においてOSSとして特定されなかったプログラムを非OSSとして特定する(ステップS105)。そして、特定部213は、非OSSとして特定したプログラムのファイル名を、非OSS情報テーブル223に格納する。
次に、判定部215は、非OSS情報テーブル223に格納されている各非OSSについて、ステップS102において取得された依存関係情報に基づいて、ライセンス伝播の有無を判定する(ステップS106)。ライセンス伝播が有ると判定した場合、判定部215は、その非OSSのファイル名と対応付けて、ライセンス伝播が有る旨と、その伝播元のライセンス種別と、伝播元のOSSのファイル名とを表す情報を、非OSS情報テーブル223に格納する。
次に、結果出力部216は、OSS情報テーブル222に格納されている各種情報、及び非OSS情報テーブル223に格納されている各種情報を、出力部250に出力表示する(ステップS107)。例えば、結果出力部216は、OSS情報テーブル222及び非OSS情報テーブル223に格納された各種情報を、それぞれ図4及び図5に示すような表形式で出力する。この際、結果出力部216は、予め設定された条件に合致する情報を、強調表示してもよい。例えば、結果出力部216は、非OSS情報テーブル223に格納されたライセンス伝播の有無が"Y"である非OSSの各種情報を強調表示してもよい。そして、ソフトウェア診断処理は終了する。
以上説明したように、本実施形態のライセンス管理装置200は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムについて、OSSと非OSSのうちいずれか特定する。そして、ライセンス管理装置200は、特定された非OSSについて、依存関係があるOSSによるライセンス伝播が有るか否かを判定する。従って、ライセンス管理装置200は、ライセンスの影響が伝播するOSSと依存関係があるプログラムを特定でき、ライセンスを漏れなく管理することができる。
以上、本発明の実施形態について説明したが、本発明は本実施形態によって限定されるものではない。
例えば、上記の実施形態において、ライセンス管理装置200は、情報処理装置100から、ライセンスの管理対象であるソフトウェアを構成する複数のプログラムと、OSSアーカイブと、を取得するが、ライセンスの管理対象であるソフトウェア等の取得方法はこれに限られない。例えば、ライセンスの管理対象であるソフトウェア等のデータをDVD(Digital Versatile Disk)等のメディアに記録し、そのDVDをライセンス管理装置200に読み取らせることで、そのソフトウェア等のデータを取得してもよい。
また、上記の実施形態では、ライセンス管理装置200と情報処理装置100とが、別々の機器により実現されている例が記載されているが、その両方の装置の上述した機能が、1つのパーソナルコンピュータ等の機器によって実現されてもよい。また、情報処理装置100の機能のうち、ライセンスの管理対象であるソフトウェアの開発環境と、ライセンス管理装置200の機能とが、同一の機器により実現され、その機器が、OSSが組み込まれた機器と通信可能に接続されるように構成されてもよい。これらの場合において、ライセンス管理装置200の機能を実現するソフトウェアは、必要な場合に、情報処理装置100の機能が組み込まれた機器にインストールされ、不要になった場合に、アンインストールされてもよい。
また、上記の実施形態では、情報処理装置100において、ライセンスの管理対象であるソフトウェアの開発環境としての機能と、前記ソフトウェアの実行環境としての機能との両方が、1つの機器により実現されている例が記載されているが、その両方の機能が、通信可能に接続されている別々の機器によって実現されてもよい。
なお、上記実施の形態において、ライセンス管理装置200が実行するプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD、MO(Magneto-Optical Disk)等のコンピュータ読み取り可能な記録媒体に格納されて配布されてもよい。そして、そのプログラムがパーソナルコンピュータ等の情報処理装置にインストールされることにより、上述の処理を実行する装置が構成されてもよい。
また、プログラムは、インターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納されてもよい。そして、プログラムは、例えば、搬送波に重畳されて、ダウンロードされてもよい。
また、上述の機能を、OS(Operating System)が分担して実現する場合またはOSとアプリケーションとの協働により実現する場合、OSの機能を実現する部分以外のプログラムのみが、記録媒体に格納されて配布されてもよく、また、ダウンロードされてもよい。
本発明は、本発明の広義の精神と範囲に逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本発明は、ソフトウェアを構成する複数のプログラムのライセンス管理に適する。
1 ライセンス管理システム、100 情報処理装置、200 ライセンス管理装置、210 制御部、211 プログラム取得部、212 依存関係取得部、213 特定部、214 情報収集部、215 判定部、216 結果出力部、220 記憶部、221 ライセンス情報テーブル、222 OSS情報テーブル、223 非OSS情報テーブル、230 通信部、240 入力部、250 出力部、260 バス、300 ネットワーク

Claims (8)

  1. ソフトウェアを構成する複数のプログラムのソースコードのライセンスを管理するライセンス管理装置であって、
    前記複数のプログラムのソースコードを取得するプログラム取得部と、
    前記プログラム取得部により取得された前記複数のプログラムのソースコード間の依存関係を表す依存関係情報を取得する依存関係取得部と、
    前記プログラム取得部により取得された前記複数のプログラムのソースコードのうちから、予め定められたライセンスが必要なプログラムのソースコードを特定する特定部と、
    前記複数のプログラムのソースコードのうち、前記特定部により特定されたプログラムのソースコード以外のプログラムのソースコードについて、前記依存関係取得部により取得された前記依存関係情報に基づいて、前記予め定められたライセンスが必要なプログラムのソースコードと依存関係があるか否かを判定する判定部と、
    を備えるライセンス管理装置。
  2. 前記特定部により特定されたプログラムのソースコードについて、そのプログラムのソースコードに関連する情報をインターネットから取得する情報収集部と、
    前記判定部により依存関係があると判定されたプログラムのソースコードと、そのプログラムのソースコードと依存関係がある前記予め定められたライセンスが必要なプログラムのソースコードとを表す情報と、前記情報収集部により取得された情報と、を出力する出力部と、をさらに備える、
    請求項1に記載のライセンス管理装置。
  3. 前記情報収集部は、前記特定されたプログラムのソースコードに関する情報として、前記プログラムのソースコードを利用している会社に関する情報、又は前記プログラムのソースコードが利用されている機器に関する情報のいずれか一つを含む利用実績情報を取得し、
    前記出力部は、前記取得した利用実績情報をさらに出力する、
    請求項2に記載のライセンス管理装置。
  4. 前記情報収集部は、前記特定されたプログラムのソースコードに関する情報として、前記プログラムのソースコードの前記インターネット上の公開元に関する情報を取得し、
    前記出力部は、前記取得した公開元に関する情報をさらに出力する、
    請求項2又は3に記載のライセンス管理装置。
  5. 前記予め定められたライセンスを特定するキーワードを記憶するライセンス情報記憶部をさらに備え、
    前記特定部は、前記プログラム取得部により取得された前記複数のプログラムのソースコードのうちから、前記ライセンス情報記憶部に記憶された前記キーワードを含むプログラムのソースコードを、前記予め定められたライセンスが必要なプログラムのソースコードとして特定する、
    請求項1から4のいずれか1項に記載のライセンス管理装置。
  6. 前記予め定められたライセンスは、その予め定められたライセンスが必要なプログラムのソースコードと依存関係があるプログラムのソースコードのライセンスに影響を与える、
    請求項1から5のいずれか1項に記載のライセンス管理装置。
  7. ソフトウェアを構成する複数のプログラムのソースコードのライセンスを管理するライセンス管理装置が実行するライセンス管理方法であって、
    前記ライセンス管理装置が、前記複数のプログラムのソースコードを取得するプログラム取得ステップと、
    前記ライセンス管理装置が、取得された前記複数のプログラムのソースコード間の依存関係を表す依存関係情報を取得する依存関係取得ステップと、
    前記ライセンス管理装置が、取得された前記複数のプログラムのソースコードのうちから、予め定められたライセンスが必要なプログラムのソースコードを特定する特定ステップと、
    前記ライセンス管理装置が、前記複数のプログラムのソースコードのうち、特定されたプログラムのソースコード以外のプログラムのソースコードについて、取得された前記依存関係情報に基づいて、前記予め定められたライセンスが必要なプログラムのソースコードと依存関係があるか否かを判定する判定ステップと、
    を有するライセンス管理方法。
  8. コンピュータに
    ソフトウェアを構成する複数のプログラムのソースコードを取得するプログラム取得ステップと、
    取得された前記複数のプログラムのソースコード間の依存関係を表す依存関係情報を取得する依存関係取得ステップと、
    取得された前記複数のプログラムのソースコードのうちから、予め定められたライセンスが必要なプログラムのソースコードを特定する特定ステップと、
    前記複数のプログラムのソースコードのうち、特定されたプログラムのソースコード以外のプログラムのソースコードについて、取得された前記依存関係情報に基づいて、前記予め定められたライセンスが必要なプログラムのソースコードと依存関係があるか否かを判定する判定ステップと、
    を実行させるためのプログラム。
JP2015533909A 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム Active JP6045707B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/073485 WO2015029242A1 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6045707B2 true JP6045707B2 (ja) 2016-12-14
JPWO2015029242A1 JPWO2015029242A1 (ja) 2017-03-02

Family

ID=52585849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015533909A Active JP6045707B2 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6045707B2 (ja)
WO (1) WO2015029242A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6480754B2 (ja) * 2015-02-25 2019-03-13 アルパイン株式会社 データ処理装置、データ処理システム及びコンピュータプログラム
CN107241201B (zh) * 2016-03-28 2022-05-06 中兴通讯股份有限公司 工单处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188608A1 (en) * 2001-06-12 2002-12-12 Nelson Dean S. Automated license dependency resolution and license generation
US20080209399A1 (en) * 2007-02-27 2008-08-28 Michael Bonnet Methods and systems for tracking and auditing intellectual property in packages of open source software
US20100223592A1 (en) * 2009-03-02 2010-09-02 International Business Machines Corporation Code component level intellectual property remediation
US20100242028A1 (en) * 2009-03-18 2010-09-23 Novell, Inc. System and method for performing code provenance review in a software due diligence system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188608A1 (en) * 2001-06-12 2002-12-12 Nelson Dean S. Automated license dependency resolution and license generation
US20080209399A1 (en) * 2007-02-27 2008-08-28 Michael Bonnet Methods and systems for tracking and auditing intellectual property in packages of open source software
US20100223592A1 (en) * 2009-03-02 2010-09-02 International Business Machines Corporation Code component level intellectual property remediation
US20100242028A1 (en) * 2009-03-18 2010-09-23 Novell, Inc. System and method for performing code provenance review in a software due diligence system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014006493; 大須賀 俊憲 Toshinori Osuka: 'ソフトウェア統合検索を利用した再利用支援システム Reuse Support System based on Software Integral Se' レクチャーノート/ソフトウェア学33 ソフトウェア工学の基礎XIV , 20071130, pp.203-208, 株式会社近代科学社 *
JPN6014006496; 中田 敦: 'OSSが実現する"呉越同舟"' 日経コンピュータ no.807 NIKKEI COMPUTER , 20120426, pp.28-33, 日経BP社 Nikkei Business Publications,Inc. *
JPN6014006497; 江端 俊昭 Toshiaki Ebata: '組み込みLinuxエンジニアになるための基本学習帳' SoftwareDesign No.160 , 20040218, pp.180〜190, (株)技術評論社 *

Also Published As

Publication number Publication date
WO2015029242A1 (ja) 2015-03-05
JPWO2015029242A1 (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
CN107925696B (zh) 用于识别、索引和导航至移动应用的深度状态的系统和方法
US10019256B2 (en) Systems and methods for incremental software development
US9842210B2 (en) Universal extensible firmware interface module identification and analysis
US20140207753A1 (en) Method and system that routes requests for electronic files
JP2010521726A (ja) カスタマイズされたソフトウェア製品を配布する方法、システム、およびコンピュータ・プログラム
WO2013175560A1 (ja) 情報通信システム及び情報変換方法
WO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびコンピュータ読み取り可能な記録媒体
KR102472345B1 (ko) 계층화 문서를 관리하는 방법 및 이를 이용한 장치
CN108694049B (zh) 一种更新软件的方法和设备
JP5900193B2 (ja) 更新判定プログラムおよび更新判定装置
US9116713B1 (en) System and method for expression evaluation in a distributed networking environment
JPWO2014184896A1 (ja) プログラム解析装置、プログラム解析方法およびプログラム解析プログラム
JP6045707B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
CN105447040A (zh) 二进制文件管理、更新方法、装置以及系统
JP7318704B2 (ja) テスト装置、テスト方法及びプログラム
CN113704281A (zh) 一种数据格式转换方法、装置、存储介质和电子设备
JP2012088940A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6717140B2 (ja) 解析プログラム、解析方法、及び解析装置
JP2017016479A (ja) 情報処理プログラム、装置、及び方法
JP7381290B2 (ja) 計算機システム及びデータの管理方法
US11256602B2 (en) Source code file retrieval
US11080123B2 (en) Information processing apparatus
JP6313987B2 (ja) ファイル管理プログラム、ファイル管理方法、及びファイル管理システム
JP6937589B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
CN108139950B (zh) 分布式扩展执行的方法及计算系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160923

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161115

R150 Certificate of patent or registration of utility model

Ref document number: 6045707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250