-
Notifications
You must be signed in to change notification settings - Fork 4
/
541.txt
220 lines (162 loc) · 8.81 KB
/
541.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
[5]
[[SPDX]] は [[Linux]] [[ソフトウェアパッケージ]]を [[RDFデータモデル]]を使って記述する規格ですが、
[[ライセンス記述]]についても規定があります。
* 仕様書
[REFS[
- [2]
[CITE@en-US[Specifications – SPDX]], [TIME[2024-05-03T04:46:56.000Z]] <https://spdx.dev/use/specifications/>
--[3] [CITE@en[SPDX Specification 2.1 (web version) | Software Package Data Exchange (SPDX)]]
( ([TIME[2016-12-20 16:40:30 +09:00]]))
<https://spdx.org/spdx-specification-21-web-version>
--- [1] 移転確認 [TIME[2024-05-03T04:46:45.000Z]]
-- [23]
[CITE@en[Annex B: License Matching Guidelines and Templates - specification v2.3.0]], [TIME[2024-04-23T02:59:46.000Z]], [TIME[2024-05-03T08:21:39.153Z]] <https://spdx.github.io/spdx-spec/v2.3/license-matching-guidelines-and-templates/>
-- [4] [CITE@en[Description - SPDX v3 Specification]], [TIME[2024-04-23T02:59:46.000Z]], [TIME[2024-05-03T04:47:06.999Z]] <https://spdx.github.io/spdx-spec/v3.0/model/Licensing/Licensing/>
-- [35]
[CITE@en[Using SPDX short identifiers in Source Files - SPDX v3 Specification]], [TIME[2024-04-23T02:59:46.000Z]], [TIME[2024-05-03T09:01:48.700Z]] <https://spdx.github.io/spdx-spec/v3.0/annexes/using-SPDX-short-identifiers-in-source-files/>
-- [36]
[CITE@en[SPDX License Expressions - SPDX v3 Specification]], [TIME[2024-04-23T02:59:46.000Z]], [TIME[2024-05-03T09:05:53.493Z]] <https://spdx.github.io/spdx-spec/v3.0/annexes/SPDX-license-expressions/>
]REFS]
* SPDX License List
[11]
[DFN[SPDX License List]]
は
[[SPDX]]
の[[ライセンス]]情報データベースです。
[SRC[>>9]]
[12]
年に数回更新されています。基本的には[[オープンソース]]またはそれに類する[[ライセンス]]が対象ですが、
そうでないものも一部含まれるようです。 [SRC[>>9, >>7, >>14, >>15]]
[16]
単体の[[ライセンス]]の他に、[[ライセンス]]に追加される例外条項もいくつか登録されています。
[SRC[>>14, >>22]]
[13] 登録されている[[ライセンス]]は[[Webサイト]]で一覧表示されている
[SRC[>>9]]
ほか、
元データは [[GitHub]] で管理されており [SRC[>>7]]、
扱いやすい [[JSON]] 形式でも提供されています [SRC[>>10]]。
[17] データファイル自体の[[ライセンス]]は困ったことにどこにも明記されていません。
ただし[[Webページ]]には運営元の
[[Linux Foundation]]
の利用規約ページへのリンクがあり、そのリンク先記事によると
[[Creative Commons Attribution 3.0 License]]
で利用できます
[SRC[>>9, >>19]]。
[TIME[2024-05-03T08:11:45.300Z]]
[21]
一覧の各[[ライセンス]]、例外には[[ASCII文字]]で構成される短い識別子が割り当てられています。
(>>6)
[18]
一覧には [[OSI]]
の承認 ([SEE[ [[Open Source Initiative]] ]]) の有無が記載されています。
[SRC[>>9]]
[[OSI]] で承認された[[ライセンス]]は一覧に掲載されることになっているようです。
[SRC[>>14]]
[20]
一覧には[[自由ソフトウェア財団]]による[[自由]]な[[ライセンス]]との判断の有無
([SEE[ [[自由ソフトウェア]] ]]) が記載されています。
[SRC[>>9]]
[REFS[
-
[9] [CITE[[[SPDX License List]] | Software Package Data Exchange (SPDX)]]
([TIME[2020-05-16 03:28:38 +09:00]])
<https://spdx.org/licenses/>
--
[22]
[CITE[License Exceptions | Software Package Data Exchange (SPDX)]], [TIME[2024-02-08T17:37:48.000Z]], [TIME[2024-05-03T08:21:03.398Z]] <https://spdx.org/licenses/exceptions-index.html>
- [7]
[CITE@en[GitHub - spdx/license-list-XML: This is the repository for the master files that comprise the SPDX License List]], [TIME[2024-05-03T07:50:22.000Z]] <https://github.com/spdx/license-list-XML>
-- [14]
[CITE@en[license-list-XML/DOCS/license-inclusion-principles.md at main · spdx/license-list-XML · GitHub]], [TIME[2024-05-03T08:00:43.000Z]] <https://github.com/spdx/license-list-XML/blob/main/DOCS/license-inclusion-principles.md>
-- [15]
[CITE@en[license-list-XML/CONTRIBUTING.md at main · spdx/license-list-XML · GitHub]], [TIME[2024-05-03T08:01:27.000Z]] <https://github.com/spdx/license-list-XML/blob/main/CONTRIBUTING.md>
-- [24] [CITE@en[license-list-XML/DOCS/license-fields.md at main · spdx/license-list-XML · GitHub]], [TIME[2024-05-03T08:25:57.000Z]] <https://github.com/spdx/license-list-XML/blob/main/DOCS/license-fields.md>
- [8]
[CITE@en[GitHub - spdx/license-list-data: Various data formats for the SPDX License List including RDFa, HTML, Text, and JSON]], [TIME[2024-05-03T07:52:28.000Z]] <https://github.com/spdx/license-list-data>
--[10]
[CITE@en[license-list-data/json at main · spdx/license-list-data · GitHub]], [TIME[2024-05-03T07:52:39.000Z]] <https://github.com/spdx/license-list-data/tree/main/json>
--
[27]
[CITE@en[license-list-data/template at main · spdx/license-list-data · GitHub]], [TIME[2024-05-03T08:31:42.000Z]] <https://github.com/spdx/license-list-data/tree/main/template>
- [19]
[CITE@en[Terms | [[Linux Foundation]]]], [TIME[2024-04-30T19:33:59.000Z]], [TIME[2024-05-03T08:12:43.913Z]] <https://www.linuxfoundation.org/legal/terms>
]REFS]
* SPDXライセンス識別子
[6]
[[SPDX]] は各[[ライセンス]]および例外に識別子を与えています。
[DFN[SPDX license identifier]],
[DFN[SPDX ID]] などと呼ばれて
[[SPDX]] 以外でも使われています。
[25]
[[SPDX License List]] では short identifier (短い識別子) と呼ばれています。
短い識別子は、
[[ASCII英数字]],
[CH[.]],
[CH[-]]
で構成されます。
[SRC[>>24]]
* SPDX ライセンス式
[37]
[DFN[SPDX license expression]] ([DFN[SPDX license expression]])
は[[ライセンス]]を表す[[式言語]]です。
[38]
[[ライセンス]]は、 [[SPDX License List]] の短い識別子で表せます。
[SRC[>>36, >>29]]
[39]
また、未登録の[[利用者]]定義の[[ライセンス]]を [CODE[DocumentRef-]]
から始まる名前で記述する方法もあります。 [SRC[>>36]]
;; [40] しかし [[SPDX]] 以外での利用が多いと思われますが、
そこでは[[利用者]]定義の[[ライセンス]]を定義したファイルを明示する方法がなく、
実質的に使えないと思われます。
[41]
[[ライセンス]]の末尾に [CODE[+]] をつけることで、その版'''[[以上]]'''を表せます。
[SRC[>>36, >>29]]
[42] ただし [[GNU]] 系[[ライセンス]]は「以上」入りの[[ライセンス]]の定義が
[[SPDX License List]]
に登録されているので、そちらを使うことになっています。
[SRC[>>29, >>43]]
[REFS[
- [43]
[CITE@en[Don't Say “Licensed under GNU GPL 2”! - GNU Project - Free Software Foundation]], [TIME[2024-05-03T09:11:06.000Z]] <https://www.gnu.org/licenses/identify-licenses-clearly.html>
]REFS]
* [CODE[SPDX-License-Identifier:]]
[30]
[DFN[SPDX short form identifier]]
と称して[[ソースコード]]等に[[コメント]]として[[ライセンス]]情報を記述することを
[[SPDX]] では推奨しています。
[SRC[>>29]]
[28]
具体的には
[DFN[[CODE[SPDX-License-Identifier:]]]]
の後に
[[SPDXライセンス識別子]]または[[SPDXライセンス式]]を書きます。
[SRC[>>29, >>35]]
[31]
[[プログラミング言語]]の[[コメント]]としての記号を前後にいれることができます。
[EG[
[32] 例えば
[PRE[
// SPDX-License-Identifier: Apache-2.0 AND (MIT OR GPL-2.0-only)
]PRE]
のように書けます。
[SRC[>>29]]
]EG]
[33] この記述は[[ライセンス]]の種類を記述するだけです。従来の[[著作権表記]]等はそのまま書く必要があるとされます。
[SRC[>>29]]
[34]
この表記法は比較的新しい慣習で、[[オープンソース]]コミュニティーの一部では受け入れられていますが、
一方でこのような表記の必要を感じないとして拒む人々もいます。
[REFS[
- [29]
[CITE@en-US[Handling License Info – [[SPDX]]]], [TIME[2024-05-03T08:37:14.000Z]] <https://spdx.dev/learn/handling-license-info/>
]REFS]
* ライセンス条項の一致判定
[26]
[[SPDX License List]] には各[[ライセンス]]の適用を記述する著作権表記等の文章の雛形が含まれています
[SRC[>>27]]。
例えば条項の文言のうち権利者名がここに入る、というような形で記載されています。
[[SPDX]]
仕様書では、この雛形を使用して実際の著作権表記等の文章との[DFN[一致][SPDXライセンス一致]]を判定する方法が定められています
[SRC[>>23]]。
例えばこのような表記揺れは無視する、などの規則が列挙されています。
* メモ