├── LICENSE.pdf └── README.md /LICENSE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hitachi/open-license/HEAD/LICENSE.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OSS License Open Data 2 | 3 | **NOTE: This is in draft status. The schema and contents are subject to change.** 4 | 5 | Open data of logically decomposed OSS licenses. 6 | 7 | ## Description 8 | 9 | We publish the logically decomposed OSS licenses as open data in order to make it easy for people to understand OSS licenses. We believe it contributes to development of OSS. 10 | 11 | Each license is decomposed into vocabularies for actions, conditions, and notices. Conditions construct logic tree with AND node, OR node, and LEAF node. This is the reason we call this data as "logically decomposed" OSS licenses. 12 | 13 | ## Data format 14 | 15 | The data is distributed in an exchange format using JSON as following files: 16 | 17 | * [licenses.json](data/licenses.json) - Logically decomposed OSS Licenses which consist of actions, conditions, and notices. 18 | * [actions.json](data/actions.json) - Vocabularies for actions. 19 | * [conditions.json](data/conditions.json) - Vocabularies for conditions. 20 | * [notices.json](data/notices.json) - Vocabularies for notices. 21 | 22 | ### common attributes 23 | 24 | Metadata: 25 | 26 | | attribute | description | 27 | | --- | --- | 28 | | data | Top of each element | 29 | | schemaVersion | Version of schema. This documentation is for 0.1 | 30 | | uri | URI to identify the data | 31 | | baseUri | Base for relative URI in the "ref" attribute | 32 | | id | ID of the data. It shoud correspond to uri | 33 | 34 | Structure of language specific attributes: 35 | 36 | ```javascript 37 | "(attribute name)": [ 38 | { 39 | "language": "(language subtag *1)" 40 | "text": "(attribute value)" 41 | } 42 | ] 43 | ``` 44 | (*1) e.g. "en", "ja". see [RFC5646](https://tools.ietf.org/html/rfc5646) 45 | 46 | ### licenses.json 47 | 48 | Structure: 49 | 50 | ```text 51 | data 52 | (metadata) 53 | spdx 54 | summary 55 | description 56 | permissions 57 | summary 58 | description 59 | actions 60 | conditionHead 61 | notices 62 | content 63 | ``` 64 | 65 | | attribute | description | 66 | | --- | --- | 67 | | name | Name of the license | 68 | | spdx | SPDX identifier (optional) | 69 | | summary | Summary of the license (language specific) | 70 | | description | Description of the license (language specific) | 71 | | content | License text | 72 | 73 | Permissions sub structure: 74 | 75 | | attribute | description | 76 | | --- | --- | 77 | | permissions | List of actions and conditions. The conditions must be fulfilled when the action is taken | 78 | | summary | Summary of the permission (language specific) | 79 | | description | Description of the permission (language specific) | 80 | 81 | Actions sub structure: 82 | 83 | | attribute | description | 84 | | --- | --- | 85 | | actions | List of references to actions | 86 | | ref | Reference to an action | 87 | 88 | Logic tree sub structure: 89 | 90 | | attribute | description | 91 | | --- | --- | 92 | | conditionHead | Reference to head of logic tree of conditions | 93 | | type | Type of the logic tree node. The value is one of "AND", "OR", "LEAF" | 94 | | children | Children of "AND" or "OR" node | 95 | | ref | Reference to a condition for "LEAF" node | 96 | 97 | Notices sub structure: 98 | 99 | | attribute | description | 100 | | --- | --- | 101 | | notices | List of references to notices | 102 | | ref | Reference to a notice | 103 | 104 | ### actions.json 105 | 106 | Structure: 107 | 108 | ```text 109 | data 110 | (metadata) 111 | name 112 | description 113 | ``` 114 | 115 | | attribute | description | 116 | | --- | --- | 117 | | name | Name of the action (language specific) | 118 | | description | Description of the action (language specific) | 119 | 120 | ### conditions.json 121 | 122 | Structure: 123 | 124 | ```text 125 | data 126 | (metadata) 127 | conditionType 128 | name 129 | description 130 | ``` 131 | 132 | | attribute | description | 133 | | --- | --- | 134 | | conditionType | Type of the condition. The value is one of following: