Skip to content

Commit 863ee59

Browse files
committed
Update proposals after sync call
1 parent b052e8c commit 863ee59

1 file changed

Lines changed: 101 additions & 12 deletions

File tree

decision-records/0001-schema-improvements.md

Lines changed: 101 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,23 @@ In any case, this file format does not have default values. Optimizations to rem
2222

2323
### Solution A
2424

25+
- Remove `commitment` object
26+
- Update `object` to `defines` field
27+
- Update `writer` to `used by` field
28+
- Update `audience` to `addressed to` field
29+
- Update `references` to `described in` field
30+
2531
#### Schema
2632

2733
```json
2834
"<terms type name>": {
2935
"defines": "...",
30-
"used by": "...", // Default value: "service provider"
31-
"addressed to": "...", // Default value: "end user"
32-
"also known as": [ // Optional
36+
"used by": "...",
37+
"addressed to": "...",
38+
"also known as": [ // Optional array of strings
3339
"..."
3440
],
35-
"described in": { // Optional
41+
"described in": { // Optional object with name/url pairs
3642
"name": "url"
3743
}
3844
}
@@ -43,10 +49,12 @@ In any case, this file format does not have default values. Optimizations to rem
4349
```json
4450
"Editorial Policy": {
4551
"defines": "the writing and publishing standards and principles",
52+
"used by": "service provider",
53+
"addressed to": "end user",
4654
"also known as": [
4755
"Editorial Guidelines"
4856
],
49-
"referenced by": {
57+
"described in": {
5058
"Open Terms Archive discussion": "https://github.com/OpenTermsArchive/terms-types/discussions/35"
5159
}
5260
}
@@ -63,22 +71,80 @@ In any case, this file format does not have default values. Optimizations to rem
6371
}
6472
```
6573

66-
### Solution B
74+
### Solution B
75+
76+
- Remove `commitment` object
77+
- Remove `writer` field
78+
- Update `object` to `topic` field
79+
- Update `audience` to `target` field
80+
- Update `also known as` to `aliases` field
6781

6882
#### Schema
6983

84+
```json
85+
"<terms type name>": {
86+
"topic": "...",
87+
"target": "...",
88+
"aliases": [ // Optional array of strings
89+
"..."
90+
],
91+
"references": { // Optional object with name/url pairs
92+
"name": "url"
93+
}
94+
}
95+
```
96+
97+
##### Examples
98+
99+
```json
100+
"Editorial Policy": {
101+
"topic": "the writing and publishing standards and principles",
102+
"target": "end user",
103+
"aliases": [
104+
"Editorial Guidelines"
105+
],
106+
"references": {
107+
"Open Terms Archive discussion": "https://github.com/OpenTermsArchive/terms-types/discussions/35"
108+
}
109+
}
110+
```
111+
112+
```json
113+
"Conditions of Carriage": {
114+
"topic": "benefits and limitations associated with the transportation being provided",
115+
"target": "passenger",
116+
"aliases": [
117+
"Transport Conditions"
118+
]
119+
}
120+
```
121+
122+
### Solution C
123+
124+
- Remove `commitment` object
125+
- Remove `writer` field
126+
- Update `object` to `topic` field
127+
- Update `audience` to `obligee` field
128+
- Update `also known as` to `aliases` field
129+
- Add `indutries` field
130+
- Add `jurisdictions` field
131+
132+
#### Schema
70133

71134
```json
72135
"<terms type name>": {
73136
"topic": "...",
74-
"industry": [ // Default value: "any"
137+
"obligee": "...",
138+
"indutries": [ // Optional array of strings
139+
"..."
140+
],
141+
"jurisdictions": [ // Optional array of ISO 3166-2 region codes
75142
"..."
76143
],
77-
"recipient": "...", // Default value: "end user"
78-
"aliases": [ // Optional
144+
"aliases": [ // Optional array of strings
79145
"..."
80146
],
81-
"references": { // Optional
147+
"references": { // Optional object with name/url pairs
82148
"name": "url"
83149
}
84150
}
@@ -89,6 +155,7 @@ In any case, this file format does not have default values. Optimizations to rem
89155
```json
90156
"Editorial Policy": {
91157
"topic": "writing and publishing standards and principles",
158+
"obligee": "end user",
92159
"aliases": [
93160
"Editorial Guidelines"
94161
],
@@ -101,21 +168,43 @@ In any case, this file format does not have default values. Optimizations to rem
101168
```json
102169
"Conditions of Carriage": {
103170
"topic": "benefits and limitations associated with the transportation being provided",
104-
"industry": [
171+
"obligee": "passenger",
172+
"indutries": [
105173
"Air Transport",
106174
"Maritime Transport",
107175
"Rail Transport",
108176
"Road Freight and Trucking",
109177
"Public Transit (Bus, Metro)",
110178
"Delivery and Courier Services"
111179
],
112-
"recipient": "passenger",
113180
"aliases": [
114181
"Transport Conditions"
115182
]
116183
}
117184
```
118185

186+
```json
187+
"Anti-corruption Policy": {
188+
"topic": "risk mitigation and prevention of involvement in bribery",
189+
"obligee": "any person working directly or indirectly for the service provider",
190+
"jurisdictions": [
191+
"US",
192+
"GB",
193+
"FR"
194+
],
195+
"aliases": [
196+
"Anti-bribery Policy"
197+
],
198+
"references": {
199+
"Open Terms Archive discussion": "https://github.com/OpenTermsArchive/terms-types/discussions/39",
200+
"🇺🇸 Foreign Corrupt Practices Act": "https://www.justice.gov/criminal/criminal-fraud/foreign-corrupt-practices-act",
201+
"🇬🇧 Bribery Act 2010": "https://www.legislation.gov.uk/ukpga/2010/23/contents",
202+
"🇫🇷 Loi n°2016-1691 du 9 décembre 2016 relative à la transparence, à la lutte contre la corruption et à la modernisation de la vie économique, dite « Sapin II »": "https://www.legifrance.gouv.fr/loda/id/JORFTEXT000033558528",
203+
"ISO 37001 Anti-bribery management systems": "https://www.iso.org/iso-37001-anti-bribery-management.html"
204+
},
205+
}
206+
```
207+
119208
## Decision Outcome
120209

121210
...

0 commit comments

Comments
 (0)