License Profile Editor User Guide

Authoring a License Profile

When you onboard a model or create a composite model on Acumos platform, you can add a license profile to your model. You can also update the license profile from the my models license profile tab before publishing in case things change during the development process:

  • Upload a license profile json file
  • Select from default list of license profiles templates and modify
  • Create a new license profile

When you modify or create a new license profile the portal will present you with the license profile editor.

When creating your license profile, we require the following fields to be specified:

  1. License Key - Such as a SPDX License Identifier
  2. License Name - Friendly license name not the license Identifier
  3. Copyright year
  4. Copyright Company
  5. Copyright Suffix: for example, “All Rights Reserved.”
  6. Contact Name
  7. Contact URL or place to find out how to purchase the model.
  8. Contact email
  9. Right to Use Required - yes or no – if yes then a Right To Use agreement is required.

Examples:

New license profile:

../../../_images/license-profile-editor-new.png

Modify an existing license profile:

../../../_images/license-profile-editor-modify.png

Viewing the License Profile in portal

../../../_images/view-license-in-portal.png

License Profile Examples

We have 3 different examples of license profiles here:

  • Company B Proprietary License Profile
{
  "$schema": "https://raw.githubusercontent.com/acumos/license-manager/master/license-manager-client-library/src/main/resources/schema/1.0.0/license-profile.json",
  "keyword": "Company-B-Commercial",
  "licenseName": "Company B Commmercial License",
  "copyright": {
    "year": 2020,
    "company": "Company B",
    "suffix": "All Rights Reserved"
  },
  "softwareType": "Machine Learning Model",
  "companyName": "Company B",
  "contact": {
    "name": "Company B Team Member",
    "URL": "http://Company-B.com",
    "email": "support@Company-B.com"
  },
  "additionalInfo": "http://Company-B.com/licenses/Company-B-Commercial",
  "rtuRequired": true
}
  • Vendor A OSS License Profile
{
  "$schema": "https://raw.githubusercontent.com/acumos/license-manager/master/license-manager-client-library/src/main/resources/schema/1.0.0/license-profile.json",
  "keyword": "Vendor-A-OSS",
  "licenseName": "Vendor A Open Source Software License",
  "copyright": {
    "year": 2020,
    "company": "Vendor A",
    "suffix": "All Rights Reserved"
  },
  "softwareType": "Machine Learning Model",
  "companyName": "Vendor A",
  "contact": {
    "name": "Vendor A Team",
    "URL": "http://Vendor-A.com",
    "email": "support@Vendor-A.com"
  },
  "additionalInfo": "http://Vendor-A.com/licenses/Vendor-A-OSS",
  "rtuRequired": true
}
  • Apache 2.0 License Profile
{
  "$schema": "https://raw.githubusercontent.com/acumos/license-manager/master/license-manager-client-library/src/main/resources/schema/1.0.0/license-profile.json",
  "keyword": "Apache-2.0",
  "licenseName": "Apache License 2.0",
  "copyright": {
    "year": 2020,
    "company": "Company A",
    "suffix": "All Rights Reserved"
  },
  "softwareType": "Machine Learning Model",
  "companyName": "Company A",
  "contact": {
    "name": "Company A  Team Member",
    "URL": "http://companya.com",
    "email": "support@companya.com"
  },
  "rtuRequired": true
}

Using the Portal UI, You can select and modify these examples as per your licensing requirements.

License Profile Json Schema 1.0.0

The schema for the license profile:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "version": "1.0.0",
  "required": [
    "$schema",
    "keyword",
    "licenseName",
    "copyright",
    "rtuRequired"
  ],
  "properties": {
    "$schema": {
      "type": "string",
      "default": "https://raw.githubusercontent.com/acumos/license-manager/master/license-manager-client-library/src/main/resources/schema/1.0.0/license-profile.json"
    },
    "keyword": {
      "type": "string"
    },
    "licenseName": {
      "type": "string"
    },
    "intro": {
      "type": "string"
    },
    "copyright": {
      "type": "object",
      "required": [
        "year",
        "company",
        "suffix"
      ],
      "properties": {
        "year": {
          "type": "integer",
          "default": 2019
        },
        "company": {
          "type": "string"
        },
        "suffix": {
          "type": "string"
        }
      }
    },
    "softwareType": {
      "type": "string"
    },
    "companyName": {
      "type": "string"
    },
    "contact": {
      "type": "object",
      "required": [
        "name",
        "URL",
        "email"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "URL": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      }
    },
    "additionalInfo": {
      "type": "string"
    },
    "rtuRequired":{
      "type": "boolean",
      "description": "When true a right to use must be provided by the supplier to enable use."
    }
  }
}

Admin: Add new or update license profile templates

As a Platform Operator, you can configure different license profile templates - making it easy for the onboarding of a model with a license profile.

Prerequisite: Must have access to Common data service swagger.

Steps:

  1. get admin CDS user Id (not user name)
  2. POST /lic/templ

From the CDS swagger find the license controller

../../../_images/license-controller-cds.png

Example payload creating a new license profile template for Company Z

{
  "priority": 10,
  "template": "{\"$schema\":\"https://raw.githubusercontent.com/acumos/license-manager/master/license-manager-client-library/src/main/resources/schema/1.0.0/license-profile.json\",\"keyword\":\"Company-Z-Commercial\",\"licenseName\":\"Company Z Commmercial License\",\"copyright\":{\"year\":2019,\"company\":\"Company Z\",\"suffix\":\"All Rights Reserved\"},\"softwareType\":\"Machine Learning Model\",\"companyName\":\"Company Z\",\"contact\":{\"name\":\"Company Z Team Member\",\"URL\":\"http://Company-Z.com\",\"email\":\"support@Company-Z.com\"},\"additionalInfo\":\"http://Company-Z.com/licenses/Company-Z-Commercial\",\"rtuRequired\":true}",
  "templateId": 4,
  "templateName": "Company Z License",
  "userId": "12345678-abcd-90ab-cdef-1234567890ab"
}

The “priority” attribute would allow you to define order for license profile templates entries.

  1. Go back to Onboarding and notice new license profile template
../../../_images/company-z-new-license-profile-template.png

4. If you have enabled security verification license checking then make sure that you have the correct configuration for any new license profile keyword that you introduce. This is important if you have the security verification feature enabled in your Acumos instance. For example if you added “Company Z Commercial” license profile template, you also need to add to the SV scan code rules

License Scanning setup