JP2019520665A - Collision detection method between feature-point based open source licenses - Google Patents
Collision detection method between feature-point based open source licenses Download PDFInfo
- Publication number
- JP2019520665A JP2019520665A JP2019520340A JP2019520340A JP2019520665A JP 2019520665 A JP2019520665 A JP 2019520665A JP 2019520340 A JP2019520340 A JP 2019520340A JP 2019520340 A JP2019520340 A JP 2019520340A JP 2019520665 A JP2019520665 A JP 2019520665A
- Authority
- JP
- Japan
- Prior art keywords
- license
- collision
- feature point
- feature
- licenses
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000007689 inspection Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005352 clarification Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本発明によるオープンソースライセンス間の衝突検査方法は、(a)与えられた第1ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第2ライセンスに対して、各特徴点に対する表現値を入力される段階、及び(b)該第1ライセンスの各特徴点に対する表現値と該第2ライセンスの各特徴点に対する表現値とを用いて、該第1ライセンスと該第2ライセンスとの衝突有無を判断する段階を含むことを特徴とする。The collision detection method between open source licenses according to the present invention comprises the steps of: (a) receiving an expression value for each feature point for a given first license, and for each feature point for a given second license Inputting a representation value; and (b) using the representation value for each feature point of the first license and the representation value for each feature point of the second license, and And determining the presence or absence of a collision.
Description
本発明は、オープンソースライセンス間の衝突検査方法に係り、より詳細には、特徴点に基づいてオープンソースライセンス間の衝突を検査する方法に関する。 The present invention relates to an open source license conflict check method, and more particularly, to a method of checking open source license conflict based on feature points.
セットトップボックスや保安装備などの開発時に、オープンソース形態の組み込みソフトウェアが活用されているが、オープンソースライセンスに対する理解不足によって、法的訴訟に巻き込まれる場合がしばしばある。 While open source embedded software is being used at the time of development of set-top boxes and security equipment, etc., a lack of understanding of open source licenses often leads to a lawsuit.
特に、オープンソースを2個以上同時に活用するか、所望のライセンスに変更して配布しようとする場合、ライセンス間の衝突問題が発生し、衝突発生時に、当該オープンソースを使用することができなくなる。 In particular, when using two or more open sources simultaneously or changing to a desired license for distribution, a conflict between licenses occurs, and it becomes impossible to use the open source when a conflict occurs.
2個以上のライセンスが共存する場合、衝突有無を検査するためには、法律的解釈が必要であり、現在、法律専門家がライセンス条項全体(Full text)を互いに比較して検討している。 When two or more licenses co-exist, a legal interpretation is required to check for a collision, and legal experts are currently comparing the full license terms with each other.
オープンソースライセンスは、非常に多様に存在し、OSI(Open Source Initiative)で公式認証したライセンスの種類は、現在78個、SPDX(Software Package Data Exchange)グループで使用しているライセンスの種類は、120個以上が存在する。 There are a great variety of open source licenses, and 78 types of licenses officially certified under the Open Source Initiative (OSI) currently use 120 types of licenses in the Software Package Data Exchange (SPDX) group. There are more than one.
したがって、多数のオープンソースライセンス条項全体を毎度解釈し、比較検討するには多くの難点があり、開発者が所望する最適のライセンスを推薦しにくい。 Therefore, there are many difficulties in interpreting and comparing multiple open source license terms each time, and it is difficult for developers to recommend the best license they want.
本発明が解決しようとする技術的課題は、オープンソースライセンス間の衝突検査を自動化することができる方法を提供することである。 The technical problem to be solved by the present invention is to provide a method that can automate collision inspection between open source licenses.
前記技術的課題を解決するための本発明によるオープンソースライセンス間の衝突検査方法は、(a)与えられた第1ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第2ライセンスに対して、各特徴点に対する表現値を入力される段階、及び(b)前記第1ライセンスの各特徴点に対する表現値と前記第2ライセンスの各特徴点に対する表現値とを用いて、前記第1ライセンスと前記第2ライセンスとの衝突有無を判断する段階を含むことを特徴とする。 According to the present invention, there is provided a collision detection method between open source licenses according to the present invention, which comprises the steps of: (a) inputting an expression value for each feature point for a given first license; Using the expression value for each feature point for the license, and (b) using the expression value for each feature point of the first license and the expression value for each feature point of the second license The method may include determining whether there is a collision between the first license and the second license.
前記(b)段階は、(b1)前記第2ライセンスに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセットを定義する段階、(b2)前記第1ライセンスの各特徴点の表現値に基づいて、各特徴点に対して、任意のライセンスのある特徴点が、ある表現値を有する場合、前記第1ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット及び前記衝突プロファイルセットのリストを定義する段階、及び(b3)前記衝突プロファイルセットのリストに含まれた各衝突プロファイルセットと前記第2ライセンスのプロファイルセットとを比較して、前記第1ライセンスと前記第2ライセンスとの衝突有無を判断する段階を含みうる。 The step (b) comprises: (b1) defining a profile set which is a set of feature point profiles defined as feature points and representation values with respect to the second license; (b2) each of the first license A collision profile set indicating whether a feature point of any license for each feature point collides with the feature point of the first license based on the representative point of the feature point if it has a certain representative value, and Defining the list of collision profile sets, and (b3) comparing each of the collision profile sets included in the collision profile set list with the profile set of the second license to obtain the first license and the first license It may include the step of determining whether there is a conflict with the two licenses.
前記(b3)段階で、前記衝突プロファイルセットのリストに含まれた、ある衝突プロファイルセットが、前記第2ライセンスのプロファイルセットに属する場合、前記第1ライセンスと前記第2ライセンスとが衝突すると判断することができる。 In the step (b3), if a collision profile set included in the collision profile set list belongs to the profile set of the second license, it is determined that the first license and the second license collide be able to.
前記衝突検査方法は、前記(b)段階で、前記第1ライセンスと前記第2ライセンスとが衝突すると判断される場合、前記第2ライセンスには含まれず、前記第1ライセンスのみに含まれる特徴点が存在し、前記第2ライセンスが選択条項を有し、前記第1ライセンスのみに含まれる特徴点が、いずれも前記第2ライセンスの選択条項に含まれれば、前記第2ライセンスの代わりに、前記第2ライセンスに前記第1ライセンスのみに含まれる特徴点に該当する選択条項を追加したライセンスを対象にして、前記(a)及び(b)段階を行う段階をさらに含みうる。 In the collision inspection method, when it is determined that the first license and the second license collide in the step (b), a feature point is not included in the second license but included only in the first license. Is present, the second license has an optional clause, and the feature points included only in the first license are all included in the optional clause of the second license, instead of the second license. The method may further include performing the steps (a) and (b) on a license in which a selection clause corresponding to a feature included only in the first license is added to the second license.
前記衝突検査方法は、前記(b)段階で、前記第1ライセンスと前記第2ライセンスとが衝突すると判断される場合、前記第1ライセンスが、前記第1ライセンスの以外の他のライセンスへの変換を許容すれば、前記第1ライセンスの代わりに、前記他のライセンスを対象にして、前記(a)及び(b)段階を行う段階をさらに含みうる。 In the collision inspection method, when it is determined that the first license and the second license collide in the step (b), the first license is converted to another license other than the first license. The method may further include performing the steps (a) and (b) on the other license instead of the first license.
前記技術的課題を解決するために、前記した本発明によるオープンソースライセンス間の衝突検査方法を実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。 According to another aspect of the present invention, there is provided a computer readable recording medium having recorded thereon a program for executing the method of checking collision between open source licenses according to the present invention.
本発明によれば、オープンソースライセンス間の衝突検査を自動化することができる。 According to the present invention, it is possible to automate collision check between open source licenses.
以下、図面を参照して、本発明の望ましい実施形態を詳しく説明する。以下、説明及び添付図面で実質的に同じ構成要素は、それぞれ同じ符号で示すことにより、重複説明を省略する。また、本発明を説明するに当って、関連した公知の機能または構成についての具体的な説明が、本発明の要旨を不明にする恐れがあると判断される場合、それについての詳細な説明は省略する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. Hereinafter, substantially the same components in the description and the attached drawings will be denoted by the same reference numerals, and redundant description will be omitted. Further, in the description of the present invention, when it is determined that the specific description of the related known function or configuration may make the gist of the present invention unclear, the detailed description of the present invention will be I omit it.
本明細書では、次のように用語を定義する。但し、このような定義は、個別ライセンスではこれとは異なって再定義されうる。 In the present specification, terms are defined as follows. However, such a definition may be redefined differently in an individual license.
ライセンス:ライセンスは、それが適用された著作物の使用者が守らなければならない事項が明示された契約書である。 License: A license is a written contract that specifies matters that the user of the work to which it is applied has to protect.
配布者(ライセンサー;Licensor、ディストリビュータ;Distributor):原著作物の配布者である。 Distributor (Licensor; Licenser; Distributor): A distributor of the original work.
使用者(ライセンシー;Licensee、レシピエント;Recipient):配布された任意の著作物を使用する者である。 User (licensee; Licensee, recipient; Recipient): A person who uses any distributed work.
使用ライセンス:(原著作物の)配布者が、使用者が受けた著作物に適用したライセンスである。 Use license: A license (of the original work) applied by the distributor to the work received by the user.
再配布:再配布とは、著作物の使用者が、その著作物を1)そのまま、あるいは2)改変して(modified work)、または3)一部として使用した著作物(派生著作物;derivative works)を配布すること。再配布される著作物を再配布物と言う。 Redistribution: Redistribution means a work (derivative work; derivative work) that the user of the work uses 1) as it is, 2) modified (modified work), or 3) the work. Distribute works). Redistributed works are called redistributed products.
配布ライセンス:使用者が再配布物を配布する時、使用者が再配布物に適用したライセンスである。 Distribution license: A license applied to a redistribution by the user when the user distributes the redistribution.
変換(Relicense):適用されている任意のライセンスの代わりに、他の(定められた)ライセンスを新たに適用することである。 Relicense: A new application of another (defined) license instead of any license applied.
選択条項(Optional Clause):ライセンスの基本状態では、不活性化されている条項であるが、配布者が明示的に追加する場合、活性化される条項である。 Optional Clause: In the basic condition of the license, this is a clause that has been deactivated but that is activated if the distributor explicitly adds it.
本発明の実施形態では、オープンソースライセンスが適用されている任意の著作物の使用者が、原著作物に適用されているライセンスとは異なる他のライセンスで再配布しようとする場合の2つのライセンス間の衝突検査方法に関して説明する。すなわち、説明の便宜上、使用ライセンスと配布ライセンスとの衝突を検査する方法を例として説明する。但し、本発明の実施形態は、任意の2つのライセンス間の衝突を検査する方法に適用可能であり、この場合、‘使用ライセンス’は、‘第1ライセンス’に、配布ライセンスは、‘第2ライセンス’に一般化されうる。 In an embodiment of the present invention, the user of any work to which an open source license is applied is between two licenses where it is intended to redistribute with another license different from the license applied to the original work. The collision inspection method will be described. That is, for convenience of explanation, a method of checking a collision between a use license and a distribution license will be described as an example. However, an embodiment of the present invention is applicable to a method of checking for a conflict between any two licenses, where 'use license' is' first license ', distribution license is' second It can be generalized to 'license'.
ある著作物が任意の使用ライセンスで配布された場合、原著作物の使用者は、その使用ライセンスの内容に従わなければならない。また、任意の使用ライセンス下で配布された著作物を任意の配布ライセンス下で再配布しようとする場合、再配布された著作物の使用者は、原著作物の使用ライセンスの代わりに、使用者が適用した配布ライセンスに従わなければならない。配布される著作物、特に、FOSSソフトウェアに適用するライセンスは、一般的にその著作物の使用を許可する権利、禁止事項及び再配布時に守らなければならない事項などが明示されている。特に、再配布に関して使用ライセンスが所定の制約を加えていれば、使用者は、その制約下で配布ライセンスを選択しなければならない。この制約は、再配布に直接・間接的に関連ある制約全体を意味する。 When a work is distributed under any use license, the user of the original work must follow the content of the use license. Also, if you intend to redistribute the work distributed under any use license under any distribution license, the user of the redistributed work will be the user in lieu of the use license of the original work. You must follow the distribution license you have applied. The copyrighted material to be distributed, in particular, the license applied to the FOSS software, generally specifies the right to permit the use of the copyrighted material, prohibited matters, and matters to be observed at the time of redistribution. In particular, if the use license imposes predetermined restrictions on redistribution, the user must select a distribution license under the restriction. This constraint implies the entire constraint that is directly or indirectly related to redistribution.
そのために、使用者は、再配布物に任意の配布ライセンスを適用して再配布したい場合、配布ライセンスと使用ライセンスとの内容が相衝しないかを確認しなければならない。 For this purpose, when the user applies the arbitrary distribution license to the redistribution and wants to redistribute it, the user must confirm whether the contents of the distribution license and the use license do not conflict with each other.
本発明の実施形態において、ライセンス互換性の問題は、次のように定義することができる。ライセンス集合は、L1={l1、l2、...}、特徴点の集合は、FP={fp1、fp2、...}、特徴点に対する表現値の集合は、ET={NoMention、Positive、Negative}、そして、互換性判定値の集合は、CS={Compatible、Suspicious、Incompatible}になりうる。ここで、特徴点とは、任意のライセンスでソフトウェア間の連結関係、配布義務、改変、特許権、私的利用、ライセンス保持、商標使用権などを表わすそれぞれの規定または条項を意味する。 In the embodiment of the present invention, license compatibility issues can be defined as follows. The license set is L 1 = {l 1 , l 2 ,. . . }, The set of feature points is FP = {fp 1 , fp 2 ,. . . The set of representation values for the feature points may be ET = {NoMention, Positive, Negative}, and the set of compatibility determination values may be CS = {Compatible, Suspicious, Incompatible}. Here, the feature points mean respective provisions or clauses representing the linking relationship between software, distribution obligation, modification, patent right, private use, license holding, trademark right and the like under any license.
各ライセンスliは、あらゆる特徴点FPに関して、その表現値
前記の定義によって、特徴点プロファイル(feature point profile)fppxを次のように定義することができる。
あるライセンスliの各特徴点の特徴点プロファイルから、ライセンスliに関する特徴点プロファイルの集合であるプロファイルセットを
本発明の実施形態では、FOSSライセンス78種に対する総合的な分析を通じて、FOSSライセンスの互換性検証時に必要な代表的な特徴点として、次のように23個の特徴点を選定した。但し、このような特徴点は、例示に過ぎず、特徴点は、いくらでも修正または削除されるか、追加されうるということはいうまでもない。 In the embodiment of the present invention, the following twenty-three feature points were selected as representative feature points required at the time of compatibility verification of the FOSS license through comprehensive analysis of 78 types of FOSS licenses. However, it goes without saying that such feature points are merely examples, and any number of feature points may be modified or deleted.
1.(1)追加制約禁止(それ以上の制限なし;No further restriction)
当該ライセンスで明示的に定めた事項の以外に、使用者(受取人)の権利を制限する事項賦課(サブライセンス;sublicense、リライセンス;relicenseなどで)制限
1. (1) No additional restriction (No further restriction)
In addition to matters explicitly specified in the relevant license, matters that impose restrictions on the rights of the user (recipient) (imposed by sublicenses, sublicenses, relicenses, etc.) restrictions
2.(2)同一ライセンス保持(コピーレフト;Copyleft)
特定のライセンスで配布されたソースコードを受領して、原本あるいは改変して再配布する時、受領当時にソースコードに適用されたライセンスと同じライセンスで再配布することを義務化
2. (2) Holding the same license (Copyleft; Copyleft)
When receiving source code distributed under a specific license and redistributing it in original or modified form, oblige redistribution under the same license as the license applied to the source code at the time of receipt.
3.(3)ライセンス料なし、ロイヤリティーフリー(No license fee、Royalty free)
ソースコードの著作権使用に対する使用料賦課禁止
・配布のために必要な最小限の配布コスト請求は該当しない。
・サービスコスト請求は該当しない。
・特許に対するライセンス料なし、ロイヤリティーフリー(No license fee、Royalty free)と区分する。
3. (3) No license fee, royalty free (No license fee, Royalty free)
No royalty charge for copyright use of source code-The minimum distribution cost claim necessary for distribution does not apply.
-The service cost charge does not apply.
・ Separate from license fees for patents and royalty free (No license fee, royalty free).
4.ソースコード(Source Code)関連
(4)コード(Code)公開
・ソースコード公開(原本ソースコードあるいは原本+改変ソースコード)
・ソースコードを受領することができるということを明示する条項が存在(例:機械で読める完全なソースコードを受け取る;to receive the complete machine−readable source code)
(5)コード(Code)提供
・ソースコード提供方法に係わる明示(ウェブに掲載しなさい、あるいはUSBに提供しなさいなど)
・ソースコード提供約定書の提供
・ソースコード提供保証期間の明示
・ソースコード配布に必要なコスト請求不可能の明示(一般的に配布に必要な最小限のコスト請求が可能であるために、請求が不可能な場合、マトリックスに条項表示)
4. Source code (Source Code) related (4) Code (Code) release-Source code release (original source code or original + modified source code)
・ A clause explicitly stating that source code can be received (eg, receive complete source code readable by machine; to receive the complete machine-readable source code)
(5) Providing code (Code)-Expressing how to provide source code (eg, publish on the web or provide to USB)
・ Provision of source code provision agreement ・ Clarification of guarantee period of provision of source code ・ Clarification of non-claimable cost required for distribution of source code (claim for being able to claim minimum cost necessary for distribution in general) If it is impossible, the terms are displayed in the matrix
5.表示(Notice)保持
(6)著作権表示(Copyright notices)保持
・著作権及び著作権関連告知事項保持
・Copyright(c)yyyy.mm.dd*****and other contributors、All rights reserved。
(7)著者アトリビューション(Author Attribution)保持:寄与者情報の記載
(8)法的通知(Legal notices):作成者または寄与者に留保されている知識財産権に対する告知事項の作成及び保持
5. Notice (Notice) (6) Copyright notice (Copyright notices) ・ Copyright and copyright related notice matter hold ・ Copyright (c) yyyy. mm. dd ***** and other contributors, All rights reserved.
(7) Author Attribution retention: Description of contributor information (8) Legal notices: Creation and retention of notice matters for intellectual property rights reserved by the creator or contributor
6.(9)改変告知
ソースコードを改変した場合、改変に関する事項を明示(例:改変日時、改変ファイル名、改変範囲など)
6. (9) Modification notice If the source code has been modified, specify the items related to modification (eg, modification date, modified file name, modified range, etc.)
7.特許
(10)特許実施許諾:ソースコードなどに関する特許権使用実施許諾を明示的に規定
(11)特許報復条項:ソースコードなどに関する特許権使用実施許諾を明示的に規定
(12)差別的ライセンス禁止:特許実施許諾付与に差別を設けることを禁止(Aに特許実施許諾付与、BにX)
7. Patent (10) Patent License: Explicitly specify patent license for source code etc. (11) Patent Retaliation clause: Specify patent license for source code etc. explicitly (12) Prohibition of differential license : Prohibition of discrimination against granting patent license (grant patent license to A, X to B)
8.商標関連
(13)広告目的の使用禁止
(14)商号、商標、サービスマークの使用禁止
・商号、商標、サービスマークの使用禁止
・寄与者、著作権者の名前の使用禁止
・具体的に‘名前’を明示し、その‘名前’の使用を禁止
8. Trademark related (13) Prohibition of use for advertising purpose (14) Prohibition of use of trade name, trademark, service mark ・ Prohibition of use of trade name, trademark, service mark ・ Prohibition of use of contributor's name, name of copyright holder ・ Specifically 'Name Explicitly disallow the use of the 'name'
9.保証関連
(15)保証否認:2つの当事者間の契約を通じて選択的に保証義務を提供することは該当しない。
(16)兔責:2つの当事者間の契約を通じて選択的に責任義務を提供することは該当しない。
9. Warranty Related (15) Warranty Disclaimer: It is not applicable to selectively provide a warranty obligation through a contract between two parties.
(16) Repulsion: It is not applicable to selectively provide a duty of liability through a contract between two parties.
10.(17)リバースエンジニアリングの許可(Permission of Reverse engineering):コード逆分析許容 10. (17) Permission of Reverse engineering: Allow code reverse analysis
11.(18)DRM禁止
参照:GPL3.0第3条(技術手段に対する迂回行為禁止)
11. (18) DRM ban Reference: GPL 3.0 Article 3 (prohibition of detours for technical means)
12.(19)インストール情報(Installation Information)提供
提供されたコードのコンパイルとインストールに必要なあらゆる情報を提供する義務。受取者がソースコードの改変に必要なファイルやスクリプトなどの提供義務は該当しない。
12. (19) Provision of Installation Information. The obligation to provide all the information necessary to compile and install the provided code. There is no obligation to provide files, scripts, etc. that the recipient needs to modify the source code.
13.(20)準拠法
・準拠法の明示
・管轄裁判所の明示
・特定法の定義によるライセンス解釈
13. (20) Governing law · Explicit indication of applicable law · Explicit indication of jurisdictional court · Interpretation of license by definition of specific law
14.ライセンス変換許容(リライセンス;Relicensing)
(21)特定ライセンスへの‘リライセンス(Relicensing)’
・‘特定ライセンス’名を具体的に記載(例:GPL2.0などに変換可能)
・‘特定ライセンス’と並行して使用可能(例:GPL3.0とAGPL3.0)
(22)次期ライセンスへの変換許容
14. License conversion permitted (Relicensing)
(21) 'Relicensing' to a specific license
・ Specifically specify 'specific license' name (example: convertible to GPL 2.0 etc.)
・ Available in parallel with 'Specific license' (Example: GPL 3.0 and AGPL 3.0)
(22) Allow conversion to next license
15.(23)選択的な条項適用
必要に応じて任意に追加可能なライセンス条項(特徴点)
15. (23) Selective clause application License clause (feature point) that can be added as needed
図1は、本発明の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。 FIG. 1 shows a flowchart of a method of checking for conflicts between licenses according to an embodiment of the present invention.
110段階で、与えられた使用ライセンスloに対して、各特徴点に対する表現値を入力され、与えられた配布ライセンスltに対して、各特徴点に対する表現値を入力される。
In
120段階で、配布ライセンスltに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセット
130段階で、使用ライセンスloの各特徴点の表現値に基づいて、各特徴点に対して、任意の配布ライセンスのある特徴点が、ある表現値を有する場合、使用ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット(conflict profile set)psi及び衝突プロファイルセットのリストcpsl(lo、fpx)を定義する。この衝突プロファイルセットのリストは、使用ライセンスが各特徴点に対して如何なる表現値を有するかによって定められる。
In
一般的には、2つのライセンスが互換されるか否かを検討する時、同種の特徴点に対する表現値のみ考慮すれば良い。例えば、コード提供事項と兔責事項は、互いに無関係であり、ライセンス料なし、ロイヤリティーフリー(No license fee、Royalty free)事項とライセンス写本提供事項は、互いに無関係である。このような場合には、使用ライセンスと配布ライセンスとの特徴点プロファイルの同一性のみを検査すれば、互換性を判断することができる。このような場合、各特徴点に対する衝突プロファイルセットは、要素が1つである‘衝突プロファイル’であれば十分である。 In general, when considering whether two licenses are compatible, it is sufficient to consider only the expression value for the same kind of feature point. For example, code offerings and liability matters are not related to each other, and no license fee, royalty free matters and license manuscript offerings are not related to each other. In such a case, the compatibility can be determined by checking only the identity of the feature point profile between the use license and the distribution license. In such a case, the collision profile set for each feature point is sufficient if it is a 'collision profile' having one element.
しかし、追加的制約禁止事項または同一ライセンス適用事項のような特徴点の互換性は、自分自身の表現値だけではなく、他の特徴点の表現値も考慮しなければならない。このような問題によって、各特徴点に対して‘衝突プロファイル’の代わりに、‘衝突プロファイルセット’を定義する。例えば、i番目の特徴点に対する衝突プロファイルセットは、i番目の特徴点に対する特徴点プロファイルのみを含み(衝突プロファイルセットの要素が1つである場合)、i番目の特徴点に対する特徴点プロファイルと共に他のj番目の特徴点に対する特徴点プロファイルを含むこともある(衝突プロファイルセットの要素が2つ以上である場合)。 However, the compatibility of feature points, such as additional restrictions or the same license application, should take into account not only their own representation values, but also the representation values of other feature points. Due to such problems, 'collision profile set' is defined instead of 'collision profile' for each feature point. For example, the collision profile set for the i-th feature point includes only the feature point profile for the i-th feature point (when the collision profile set has only one element), and the feature point profile for the i-th feature point It may also include a feature point profile for the j-th feature point of (when there are two or more elements in the collision profile set).
140段階で、衝突プロファイルセットのリストcpsl(lo、fpx)に含まれた各衝突プロファイルセットpsiと配布ライセンスのプロファイルセットps(lt)とを比較して、使用ライセンスと配布ライセンスとの衝突有無を判断する。ここで、ある衝突プロファイルセットpsi⊂cpsl(lo、fpx)がpsi⊂ps(lt)である場合、すなわち、ある衝突プロファイルセットpsiが配布ライセンスのプロファイルセットps(lt)に属する場合、使用ライセンスと配布ライセンスは、衝突すると判断することができる。
In
前記と同じ方式で、判断留保に関するプロファイルセット、すなわち、各特徴点に対して、任意の配布ライセンスのある特徴点が、ある表現値を有する場合、衝突有無に対する判断を留保するか否かを表わす判断留保プロファイルセット及び判断留保プロファイルセットのリストhpsl(lo、fpx)を定義し、ある判断留保プロファイルセットが配布ライセンスのプロファイルセットps(lt)に属する場合、使用ライセンスと配布ライセンスとが衝突する‘可能性’があると判断することができる。この場合、当該特徴点と関連した事項を使用者に通知して使用者の判断に任せることができる。 In the same manner as described above, the profile set for judgment retention, that is, for each feature point, if a certain feature point of any distribution license has a certain representation value, it indicates whether or not to keep a determination on the presence or absence of a collision. judgment reserved the profile set and determine reserves profile set of list hpsl (l o, fp x) is defined, and if the determination reserves profile set that belongs to the distribution license of the profile set ps (l t), and the use and distribution license license It can be determined that there is a 'possibility' to collide. In this case, it is possible to notify the user of matters related to the feature point and leave it to the judgment of the user.
図2及び図3は、本発明の他の一実施形態によるライセンス間の衝突検査方法のフローチャートを示す。本実施形態は、ライセンスの選択条項と変換条項とを考慮した再帰的衝突検査方法であって、ルーチン1(図2)とルーチン2(図3)とで構成される。 FIGS. 2 and 3 show a flowchart of a method of checking for collision between licenses according to another embodiment of the present invention. The present embodiment is a recursive collision inspection method in consideration of a license selection clause and a conversion clause, and is composed of a routine 1 (FIG. 2) and a routine 2 (FIG. 3).
選択条項は、ライセンスの基本状態では無効であるが、配布者の判断によって有効化される制約・許可事項である。使用ライセンスにある制約が配布ライセンスに基本的に入っていないとしても、使用者が配布ライセンスにそれに該当する選択条項を入れて配布することにより、使用ライセンスと配布ライセンスは、互換されうる。 Optional clauses are restrictions / permissions that are not valid in the basic state of the license but are activated at the discretion of the distributor. Even if restrictions on use licenses are not basically included in the distribution license, the use license and the distribution license can be compatible if the user distributes the selection license in the distribution license.
また、使用ライセンスに変換条項、すなわち、使用ライセンス下に配布された著作物を変換条項が指定した他のライセンスに再配布することができるという条項が入っている場合、指定されたライセンスと配布ライセンスとが互換性があれば、使用ライセンスと配布ライセンスは、間接的に互換されると言える。 In addition, if the use license includes a conversion clause, that is, a provision that the work distributed under the use license can be redistributed to other licenses specified by the conversion clause, the specified license and distribution license If there is compatibility, it can be said that the use license and the distribution license are indirectly compatible.
図2に示すように、100段階で、図1を参照して、前述した衝突検査方法を通じて使用ライセンスと配布ライセンスとの衝突有無を検査する。
As shown in FIG. 2, in
210段階で、互換されると判断されれば、250段階に進行して互換判定を行う。
If it is determined in
210段階で、衝突すると判断されれば、220段階に進行して、配布ライセンスが選択条項を有するか、使用ライセンスが変換条項を有するか、すなわち、他のライセンスへの変換を許容するか否かを判断する。
If it is determined that there is a conflict in
220段階で、配布ライセンスが選択条項を有さず、使用ライセンスが変換条項を有さなければ、260段階に進行して衝突(非互換)判定を行う。
In
220段階で、配布ライセンスが選択条項を有するか、使用ライセンスが変換条項を有するならば、230段階に進行して、図3に示されたフローチャートによってライセンス衝突有無を再検査する(ルーチン2呼び出し)。
In
240段階で、ルーチン2による再検査の結果、互換されると判断されれば、250段階に進行して互換判定を行う。
In
240段階で、ルーチン2による再検査の結果、衝突すると判断されれば、260段階に進行して衝突(非互換)判定を行う。
In
図3に示すように、310段階で、配布ライセンスには含まれず、使用ライセンスのみに含まれる特徴点が存在するか否かを判断する。このような特徴点は、配布ライセンスの場合、表現値が‘ンーメンション(NoMention)’であり、使用ライセンスの場合、表現値が‘ポジティブ(Positive)’あるいは‘ネガティブ(Negative)’などである特徴点に該当する。
As shown in FIG. 3, in
配布ライセンスには含まれず、使用ライセンスのみに含まれる特徴点が存在しなければ、350段階に進行し、存在すれば、320段階に進行する。 If there is no feature point that is not included in the distribution license but included only in the use license, the process proceeds to 350, and if it exists, it proceeds to 320.
320段階で、使用ライセンスのみに含まれる特徴点がいずれも配布ライセンスの選択条項に含まれるか否かを判断する。使用ライセンスのみに含まれる特徴点が配布ライセンスの選択条項に含まれなければ、350段階に進行し、いずれも含まれれば、330段階に進行する。
At
330段階で、配布ライセンスの代わりに、配布ライセンスに選択条項を追加したライセンスを対象にして、図2のフローチャートによってライセンス衝突有無を検査する(ルーチン1呼び出し)。
At
340段階で、ルーチン1の遂行結果、互換されると判断されれば、370段階に進行して互換判定を行う。
If it is determined in
340段階で、ルーチン1の遂行結果、衝突すると判断されれば、350段階に進行する。
If it is determined in
350段階で、使用ライセンスの代わりに、使用ライセンスが変換を許容した他のライセンスを対象にして、図2のフローチャートによってライセンス衝突有無を検査する(ルーチン1呼び出し)。
At
360段階で、使用ライセンスが変換を許容した他のライセンスのうち何れか1つでも配布ライセンスと互換されると判断されれば、370段階に進行して互換判定を行う。
If it is determined in
360段階で、使用ライセンスが変換を許容した他のライセンスのいずれも配布ライセンスと衝突すると判断されれば、380段階に進行して衝突(非互換)判定を行う。
If it is determined in
前述したように、FOSSライセンス78種から23個の特徴点を選定し、10個のライセンス(GPL2.0、GPL3.0、BSD−3、MIT、Apache2.0、MPL2.0、MS−RL、CDDL1.0、EPL1.0、及びCeCILL2.1)に対して、本発明の実施形態によって衝突検査を行った。図4は、これによるライセンス互換性マトリックスを示す。 As described above, 23 feature points from 78 FOSS licenses are selected, and 10 licenses (GPL 2.0, GPL 3.0, BSD-3, MIT, Apache 2.0, MPL 2.0, MS-RL, Collision testing was performed on CDDL 1.0, EPL 1.0, and CeCILL 2.1) according to an embodiment of the present invention. FIG. 4 shows a license compatibility matrix according to this.
図4に示すように、GPL2.0は、それ自体としてはGPL3.0と互換されないが、変換を許容した他のライセンスを通じてGPL3.0と互換される。同様に、CeCILL2.1は、それ自体としてはGPL2.0、GPL3.0と互換されないが、変換を許容した他のライセンスを通じてGPL2.0、GPL3.0と互換される。 As shown in FIG. 4, GPL 2.0 is itself compatible with GPL 3.0 through other licenses that are not compatible with GPL 3.0 but allow conversion. Similarly, CeCILL2.1 is itself compatible with GPL 2.0, GPL 3.0 through other licenses that are not compatible with GPL 2.0, GPL 3.0, but allow conversion.
一方、上述した本発明の実施形態は、コンピュータで実行可能なプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を用いて、前記プログラムを動作させる汎用デジタルコンピュータで具現可能である。前記コンピュータで読み取り可能な記録媒体は、磁気記録媒体(例えば、ROM、フロッピーディスク、ハードディスクなど)、光学的読み取り媒体(例えば、CD−ROM、DVDなど)のような記録媒体を含む。 Meanwhile, the embodiment of the present invention described above can be created as a computer-executable program, and can be embodied as a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer readable recording medium includes a recording medium such as a magnetic recording medium (e.g., a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (e.g., a CD-ROM, a DVD, etc.).
以上、本発明について、その望ましい実施形態を中心に説明した。当業者ならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態として具現可能であるということを理解できるであろう。したがって、開示された実施形態は、限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は、前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれたものと解釈しなければならない。 The present invention has been described above centering on its desirable embodiments. It will be understood by those skilled in the art that the present invention can be embodied as a modified form without departing from the essential characteristics of the present invention. Thus, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is not the description given above, but is shown in the claims, and any difference that falls within the equivalent scope should be construed as being included in the present invention.
本発明は、オープンソースソフトウェアのライセンス検査のためのソフトウェア開発分野に用いられうる。 The present invention can be used in the software development field for license check of open source software.
Claims (6)
(a)与えられた第1ライセンスに対して、各特徴点に対する表現値を入力され、与えられた第2ライセンスに対して、各特徴点に対する表現値を入力される段階と、
(b)前記第1ライセンスの各特徴点に対する表現値と前記第2ライセンスの各特徴点に対する表現値とを用いて、前記第1ライセンスと前記第2ライセンスとの衝突有無を判断する段階と、
を含むことを特徴とする衝突検査方法。 In the collision inspection method between open source licenses,
(A) inputting an expression value for each feature point with respect to a given first license, and inputting an expression value for each feature point with respect to a given second license;
(B) determining the presence or absence of a collision between the first license and the second license using an expression value for each feature point of the first license and an expression value for each feature point of the second license;
A collision inspection method characterized by including.
(b1)前記第2ライセンスに対して、特徴点及び表現値と定義される特徴点プロファイルの集合であるプロファイルセットを定義する段階と、
(b2)前記第1ライセンスの各特徴点の表現値に基づいて、各特徴点に対して、任意のライセンスのある特徴点が、ある表現値を有する場合、前記第1ライセンスの当該特徴点と衝突するかを表わす衝突プロファイルセット及び前記衝突プロファイルセットのリストを定義する段階と、
(b3)前記衝突プロファイルセットのリストに含まれた各衝突プロファイルセットと前記第2ライセンスのプロファイルセットとを比較して、前記第1ライセンスと前記第2ライセンスとの衝突有無を判断する段階と、
を含むことを特徴とする請求項1に記載の衝突検査方法。 In the step (b),
(B1) defining, for the second license, a profile set which is a set of feature point profiles defined as feature points and representation values;
(B2) If a feature point having any license for each feature point has a certain representation value based on the representation value of each feature point of the first license, the feature point of the first license and Defining a collision profile set indicating whether or not to collide and a list of the collision profile set;
(B3) comparing each collision profile set included in the list of collision profile sets with the profile set of the second license to determine whether there is a collision between the first license and the second license;
The collision inspection method according to claim 1, further comprising:
前記衝突プロファイルセットのリストに含まれた、ある衝突プロファイルセットが、前記第2ライセンスのプロファイルセットに属する場合、前記第1ライセンスと前記第2ライセンスとが衝突すると判断することを特徴とする請求項2に記載の衝突検査方法。 At the step (b3),
When a collision profile set included in the list of collision profile sets belongs to the profile set of the second license, it is determined that the first license and the second license collide. The collision inspection method according to 2.
前記第2ライセンスの代わりに、前記第2ライセンスに前記第1ライセンスのみに含まれる特徴点に該当する選択条項を追加したライセンスを対象にして、前記(a)及び(b)段階を行う段階をさらに含むことを特徴とする請求項3に記載の衝突検査方法。 In the step (b), when it is determined that the first license and the second license collide, a feature point which is not included in the second license but is included only in the first license is present. If two licenses have an optional clause, and the feature points included only in the first license are all included in the optional clause of the second license,
Performing the steps (a) and (b) on a license in which a selection clause corresponding to a feature included only in the first license is added to the second license instead of the second license; The method according to claim 3, further comprising:
前記第1ライセンスの代わりに、前記他のライセンスを対象にして、前記(a)及び(b)段階を行う段階をさらに含むことを特徴とする請求項3に記載の衝突検査方法。 In the step (b), if it is determined that the first license and the second license collide, if the first license permits conversion to another license other than the first license,
The collision inspection method according to claim 3, further comprising performing the steps (a) and (b) on the other license instead of the first license.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160084786A KR101766859B1 (en) | 2016-07-05 | 2016-07-05 | Method for checking incompatibilities between open source licenses based on feature points |
KR10-2016-0084786 | 2016-07-05 | ||
PCT/KR2016/012980 WO2018008810A1 (en) | 2016-07-05 | 2016-11-11 | Method for inspecting conflict between open source licenses on basis of feature point |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019520665A true JP2019520665A (en) | 2019-07-18 |
JP6681519B2 JP6681519B2 (en) | 2020-04-15 |
Family
ID=59925089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019520340A Active JP6681519B2 (en) | 2016-07-05 | 2016-11-11 | Feature point based open source license conflict checking method |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6681519B2 (en) |
KR (1) | KR101766859B1 (en) |
WO (1) | WO2018008810A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005099963A (en) | 2003-09-22 | 2005-04-14 | Konica Minolta Photo Imaging Inc | License management system and method, and recording medium for license management |
KR101999656B1 (en) * | 2012-06-20 | 2019-07-12 | 삼성전자 주식회사 | License verification method, apparatus and computer readable medium thereof |
KR20140050323A (en) * | 2012-10-19 | 2014-04-29 | 삼성전자주식회사 | Method and apparatus for license verification of binary file |
KR101648047B1 (en) * | 2014-11-10 | 2016-08-16 | 엘에스웨어(주) | System and method for recommending compatible open source software |
-
2016
- 2016-07-05 KR KR1020160084786A patent/KR101766859B1/en active IP Right Grant
- 2016-11-11 JP JP2019520340A patent/JP6681519B2/en active Active
- 2016-11-11 WO PCT/KR2016/012980 patent/WO2018008810A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR101766859B1 (en) | 2017-09-06 |
JP6681519B2 (en) | 2020-04-15 |
WO2018008810A1 (en) | 2018-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
German et al. | License integration patterns: Addressing license mismatches in component-based development | |
US7552429B2 (en) | Integrated development environment for managing software licensing restrictions | |
Henley et al. | Open source software: an introduction | |
Makari et al. | Prevalence and evolution of license violations in npm and RubyGems dependency networks | |
JP2019520665A (en) | Collision detection method between feature-point based open source licenses | |
Tsai | For Better or Worse: Introducing the GNU General Public License Version 3 | |
Manabe et al. | Analyzing the relationship between the license of packages and their files in free and open source software | |
Barbon et al. | Debugging of behavioural models with CLEAR | |
M. Mahally et al. | Barriers and enablers for shortening software development lead-time in mechatronics organizations: A case study | |
Matulevičius et al. | An approach to assess and compare quality of security models | |
Gue | Triggering Infection: Distribution and Derivative Works under the GNU General Public License | |
Unni | Fifty years of open source movement: An analysis through the prism of copyright law | |
Greifenberg et al. | Architectural Consistency Checking in Plugin-Based Software Systems | |
Helmreich | Best practices of adopting open source software in closed source software products | |
JP4001407B2 (en) | Information management method | |
Kaminski et al. | Open source software licensing patterns | |
Sherlock et al. | Open Source Software Opportunities and Risks | |
Manteghi | Understanding open source and free software licensing mechanism: A close review of the alternative approach to traditional notions of software licensing | |
Hassan | LicenseIntegrationPatterns: AddressingLicense MismatchesinComponent-basedDevelopment | |
Koning et al. | RESONANCETABLES-1.0 | |
Skidmore | FLOSS legal and engineering terms and a license taxonomy | |
Higashi et al. | A Preliminary Analysis of GPL-Related License Violations in Docker Images | |
Vendome | Assisting Software Developers With License Compliance | |
Sonntag | Legal pitfalls of SW placement and their security implications | |
Liu et al. | Catch the Butterfly: Peeking into the Terms and Conflicts among SPDX Licenses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200228 |
|
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: 20200310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200323 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6681519 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 |