Dowell Open Source License
Compatibility Library

Simplify license compatibility complexities

Dowell Payments API Definition

Dowell OS License Compatibility Library

The DoWell Legalzard Package provides a seamless interface to the Dowell Open Source License Compatibility Library powered by DoWell UX Living Lab.

The Dowell Opensource License Compatibility Library provides access to a wide range of legal information and resources. It allows developers to retrieve information about software licenses, legal documents, legal entities, check license compatibility, and more. The library aims to facilitate the integration of legal information into applications, websites, or other software systems.

Key Features

license

Creating Licenses

Use the method get_all Get all licenses submitted. The method returns a response body with two parameters, isSucsess, a boolean showing retrieval status and data, a list of licenses.

Dowell Open Source License Compatibility Library

Retrieving all licenses

Create a license by adding all the fields required by using the create method which accepts one argument in the form of a dictionary. This argument contains all the license information to be created.

one

Retrieving a single license

Retrieve license information using an ID by using the method retrieve and passing an Id. The response is similar to the get_all method but the list of of licenses only contains a single license.

update

Updating a license

Use the update method. This method updates the license information stored on the database. It accepts two arguments, id and license object as a dictionary similar to what the create method accepts.

bin

Deleting a license

Deleting a license Using the delete method pass an id and to remove license.

search

Searching for a license

The API the feature of search for licenses containing a specific phrase. The method accepts a search_term argument and returns a response object similar to the get_all method with list of matching licenses.

Compatible

Retrieving license compatibility

Use the check_compatibility method to check the level of compatibility of two licenses. The method accepts a comparison_data dictionary.

history

Check Comparison History

Get the comparison history by user using the get_compatibility_history method that accepts two arguments, organization_id and user_id. The response object contains a list of comparison history objects.pip

Installation

  • Install the package using pip:
				
					pip install Opensource-License-Compatibility-from-DoWell
				
			

Usage

  • Import the package:
				
					from doWellOpensourceLicenseCompatibility import doWellOpensourceLicenseCompatibility

				
			
  • Create an instance of the API. You use this instance to access all the package-API methods

				
					license = doWellOpensourceLicenseCompatibility(api_key='YOUR-VALID-API-KEY')
				
			

 

Library Reference:

  Methods

  • __init__(api_key) Initializes the package
  • get_all() Retrieves all of the licenses
  • create(license: dict) Creates a license in the databases. See examples for parameters
  • retrieve(event_id) Fetch license information by ID
  • update(event_id: str, license: dict) Updates an already existing license by receiving its ID and new license information
  • delete(event_id: str) Deletes a license by ID
  • search(search_term: str) Find a license by passing a phrase within the license
  • check_compatibility(comparison_data: dict) Check the compatibility of two licenses by passing a dictionary with the license information. See data exmples for parameters.
  • get_compatibility_history(organization_id: str = None, user_id: str = None) Retrieves compatibility check history. It receives to optional parameters organization_id and user_id.

Usage Example:

 

				
					from doWellOpensourceLicenseCompatibility import doWellOpensourceLicenseCompatibility license = doWellOpensourceLicenseCompatibility(api_key='<YOUR_API_KEY>') # Get licenses all = license.get_all() # Search License srch = license.search('personal info')
				
			

 

Data Example:

  • License creation parameters
				
					{
     "license_name": "Test & Sample",
     "license_tags": [],
     "version": "No Version",
     "type_of_license": "PERMISSIVE",
     "short_description": "You can copy,modify and distribute this license as long as you fulfill license requirements.",
     "description": "The SFL (Standard Function Library) from iMatix is a portable function library for C/C++ programs.The SFL is written in ANSI C and has been ported to MS-DOS, Windows, OS/2, Linux and other UNIX systems and Digital OpenVMS. It comes with complete sources and documentation in HTML. The SFL is free software that you may use and distribute for private or commercial purposes according to license agreement.",
     "disclaimer": "Copyright © 1991-2000 iMatix Corporation.",
     "risk_for_choosing_license": "This license places a lot of conditions on use and distribution of it.",
     "limitation_of_liability": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.",
     "license_url": "https://spdx.org/licenses/iMatix.html",
     "logo_detail": {
         "filename": "img_02c8ccb5-3ffb-4737-83db-effb3da529ed.png",
         "actual_filename": "Logo.png",
         "file_extension": "png",
         "url": "https://100080.pythonanywhere.com/media/img/img_02c8ccb5-3ffb-4737-83db-effb3da529ed.png"
     },
     "recommendation": "",
     "is_active": false,
     "permissions": [
         {
             "action": "Patent Use",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Patent Grant",
             "permission": "No",
             "has_other_condition": false
         }
     ],
     "conditions": [
         {
             "action": "Disclose Source Code",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Network Use is for Distribution",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Release Under Same License",
             "permission": "Yes",
             "has_other_condition": false
         },
         {
             "action": "State Changes",
             "permission": "Yes",
             "has_other_condition": false
         },
         {
             "action": "Code can be used in closed source project",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Copied",
             "permission": "Yes",
             "has_other_condition": false
         },
         {
             "action": "Distributed",
             "permission": "Yes",
             "has_other_condition": true
         },
         {
             "action": "Reproduced",
             "permission": "Yes",
             "has_other_condition": false
         },
         {
             "action": "Modified",
             "permission": "Yes",
             "has_other_condition": true
         },
         {
             "action": "Commercial Used",
             "permission": "Yes",
             "has_other_condition": false
         }
     ],
     "limitations": [
         {
             "action": "Liability",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Warranty",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Trademark use",
             "permission": "No",
             "has_other_condition": false
         },
         {
             "action": "Redistribution",
             "permission": "Yes",
             "has_other_condition": true
         }
     ],
     "references": [],
     "laws": "Not Fixed",
     "sources": [
         {
             "action": "FSF Approved",
             "permission": "Yes"
         },
         {
             "action": "OSI Approved",
             "permission": "No"
         }
     ],
     "must_includes": [
         {
             "action": "License",
             "permission": "Yes"
         },
         {
             "action": "Copyright Notice",
             "permission": "Yes"
         }
     ]
 }
				
			

 

  • Compatibility Check parameters
				
					{
 "license_event_id_one": "FB1010000000167238702450728865",
 "license_event_id_two": "FB1010000000167247184554419413",
 "user_id": 609,
 "organization_id": "63cf89a0dcc2a171957b290b"
 }
				
			

 

Configuration:

  • The Package requires a valid API key for authentication.

Dependencies:

  • requests : Required to make HTTP requests
  • json : Require to parse data as JSON objects

License:

  • Apache License 2.0

Version:

  • Version 0.3.0

Powered by:

Dowell Open Source License Compatibility Library Demonstrative Scenarios

how to get dowell open source license compatibility library service key