Open Source License Analysis Using K-Shingle Text Similarity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing open-source license detection tools lack the ability to perform comprehensive risk assessment and analysis, often failing to identify conflicts between multiple licenses and providing insufficient support for users in managing legal risks in commercial software development environments.
Innovation Solution
An open-source license analyzing method and apparatus that utilizes a k-shingle algorithm to determine the vocabulary and characteristic matrices of documents and licenses, calculating text similarity to identify the most relevant licenses and detect conflicts, generating risk assessment reports based on these analyses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If simple detection and statistical operations are used for license analysis, then the analysis process is fast and easy to implement, but the ability to perform comprehensive risk assessment and identify conflicts between multiple licenses is insufficient
Solution Approach 1:
The patent segments the license analysis process into distinct modules: detection module for identifying licenses, analysis module for examining license terms, and risk assessment module for evaluating conflicts. This segmentation allows each module to specialize in specific tasks, improving overall reliability while managing complexity through modular design.
Solution Approach 2:
The patent introduces an intermediary analysis layer between simple detection and final risk assessment. This intermediary module processes detected licenses, compares them against each other and against the software's intended usage, and generates detailed analysis reports that feed into the risk assessment, thereby enhancing reliability without directly increasing top-level system complexity.
2Measurement precision
If comprehensive risk assessment and conflict analysis are implemented, then the accuracy of license identification and risk detection is improved, but the complexity of the analysis tool increases
Solution Approach 1:
The patent performs preliminary actions by pre-processing license texts into structured formats, pre-identifying key terms and conditions, and pre-comparing licenses against each other before the actual analysis is requested. This preliminary processing improves detection accuracy by preparing data in advance, while the complexity is managed by performing these operations once during setup rather than repeatedly during analysis.
Solution Approach 2:
The patent changes parameters by transforming unstructured license texts into structured data with specific parameters (license type, permissions, restrictions, obligations). This parameterization improves measurement precision by enabling systematic comparison, while managing complexity through standardized parameter schemas that can be processed algorithmically.
3Loss of information
If detailed risk assessment reports are generated, then users can make informed decisions about license compliance, but the time and computational resources required for analysis increase
Solution Approach 1:
The patent implements feedback mechanisms where the analysis system continuously refines its assessments based on intermediate results. If initial detection identifies high-risk patterns, the system intensifies analysis in those areas; if low-risk patterns are detected, analysis is streamlined. This feedback-driven approach ensures comprehensive information is captured when needed while reducing time expenditure for low-risk cases.
Solution Approach 2:
The patent applies partial action by focusing detailed analysis only on critical aspects of license compliance rather than examining every detail uniformly. The system performs excessive action on high-risk areas (detailed conflict analysis, multiple comparison scenarios) while using streamlined analysis for low-risk areas, thereby balancing information completeness with time efficiency.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Provided are a method and device for analyzing an open-source license. The method comprises: receiving a test file and a planning condition (201); detecting an open-source license associated with the test file (202); performing conflict matching on the detected open-source license and the planning condition to determine a first conflict between the detected open-source license and the planning condition (203); and generating, according to the first conflict, a first risk evaluation report (204). The method and device are used to analyze and evaluate risk relating to usage of the open-source license.