github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/internal/spdxlicense/generate/generate_license_list_test.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 "os" 6 "testing" 7 8 "github.com/google/go-cmp/cmp" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestReplaceDeprecatedLicenses(t *testing.T) { 13 results := LicenseList{ 14 Licenses: []License{ 15 license1, 16 license2, 17 license3, 18 license4, 19 license5, 20 license6, 21 }, 22 } 23 24 expected := map[string]string{ 25 "abc1": "ABC-1.0-only", 26 "abc1only": "ABC-1.0-only", 27 "abc1.0": "ABC-1.0-only", 28 "abc1.0.0": "ABC-1.0-only", 29 "abc1.0only": "ABC-1.0-only", 30 "abc1.0.0only": "ABC-1.0-only", 31 "abc1+": "ABC-1.0-or-later", 32 "abc1.0+": "ABC-1.0-or-later", 33 "abc1.0.0+": "ABC-1.0-or-later", 34 "abc1orlater": "ABC-1.0-or-later", 35 "abc1.0orlater": "ABC-1.0-or-later", 36 "abc1.0.0orlater": "ABC-1.0-or-later", 37 "duh1": "Duh-1.0", 38 "duh1.0": "Duh-1.0", 39 "duh1.0.0": "Duh-1.0", 40 "duh1duh": "Duh-1.0-duh", 41 "duh1.0duh": "Duh-1.0-duh", 42 "duh1.0.0duh": "Duh-1.0-duh", 43 } 44 45 licenses := processSPDXLicense(results) 46 for k, v := range licenses { 47 e := expected[k] 48 require.Equal(t, e, v, k) 49 } 50 } 51 52 func Test_processSPDXLicense(t *testing.T) { 53 tests := []struct { 54 fixture string 55 want map[string]string 56 }{ 57 { 58 fixture: "test-fixtures/licenses.json", 59 want: map[string]string{ 60 "0bsd": "0BSD", 61 "aal": "AAL", 62 "abstyles": "Abstyles", 63 "adacoredoc": "AdaCore-doc", 64 "adobe2006": "Adobe-2006", 65 "adobe2006.0": "Adobe-2006", 66 "adobe2006.0.0": "Adobe-2006", 67 "adobeglyph": "Adobe-Glyph", 68 "adsl": "ADSL", 69 "afl1": "AFL-1.1", 70 "afl1.1": "AFL-1.1", 71 "afl1.1.0": "AFL-1.1", 72 "afl1.2": "AFL-1.2", 73 "afl1.2.0": "AFL-1.2", 74 "afl2": "AFL-2.0", 75 "afl2.0": "AFL-2.0", 76 "afl2.0.0": "AFL-2.0", 77 "afl2.1": "AFL-2.1", 78 "afl2.1.0": "AFL-2.1", 79 "afl3": "AFL-3.0", 80 "afl3.0": "AFL-3.0", 81 "afl3.0.0": "AFL-3.0", 82 "afmparse": "Afmparse", 83 "agpl1": "AGPL-1.0-only", 84 "agpl1.0": "AGPL-1.0-only", 85 "agpl1.0.0": "AGPL-1.0-only", 86 "agpl1.0.0only": "AGPL-1.0-only", 87 "agpl1.0.0orlater": "AGPL-1.0-or-later", 88 "agpl1.0only": "AGPL-1.0-only", 89 "agpl1.0orlater": "AGPL-1.0-or-later", 90 "agpl1only": "AGPL-1.0-only", 91 "agpl1orlater": "AGPL-1.0-or-later", 92 "agpl3": "AGPL-3.0-only", 93 "agpl3.0": "AGPL-3.0-only", 94 "agpl3.0.0": "AGPL-3.0-only", 95 "agpl3.0.0only": "AGPL-3.0-only", 96 "agpl3.0.0orlater": "AGPL-3.0-or-later", 97 "agpl3.0only": "AGPL-3.0-only", 98 "agpl3.0orlater": "AGPL-3.0-or-later", 99 "agpl3only": "AGPL-3.0-only", 100 "agpl3orlater": "AGPL-3.0-or-later", 101 "aladdin": "Aladdin", 102 "amdplpa": "AMDPLPA", 103 "aml": "AML", 104 "ampas": "AMPAS", 105 "antlrpd": "ANTLR-PD", 106 "antlrpdfallback": "ANTLR-PD-fallback", 107 "apache1": "Apache-1.0", 108 "apache1.0": "Apache-1.0", 109 "apache1.0.0": "Apache-1.0", 110 "apache1.1": "Apache-1.1", 111 "apache1.1.0": "Apache-1.1", 112 "apache2": "Apache-2.0", 113 "apache2.0": "Apache-2.0", 114 "apache2.0.0": "Apache-2.0", 115 "apafml": "APAFML", 116 "apl1": "APL-1.0", 117 "apl1.0": "APL-1.0", 118 "apl1.0.0": "APL-1.0", 119 "apps2.0.0p": "App-s2p", 120 "apps2.0p": "App-s2p", 121 "apps2p": "App-s2p", 122 "apsl1": "APSL-1.0", 123 "apsl1.0": "APSL-1.0", 124 "apsl1.0.0": "APSL-1.0", 125 "apsl1.1": "APSL-1.1", 126 "apsl1.1.0": "APSL-1.1", 127 "apsl1.2": "APSL-1.2", 128 "apsl1.2.0": "APSL-1.2", 129 "apsl2": "APSL-2.0", 130 "apsl2.0": "APSL-2.0", 131 "apsl2.0.0": "APSL-2.0", 132 "arphic1999": "Arphic-1999", 133 "arphic1999.0": "Arphic-1999", 134 "arphic1999.0.0": "Arphic-1999", 135 "artistic1": "Artistic-1.0", 136 "artistic1.0": "Artistic-1.0", 137 "artistic1.0.0": "Artistic-1.0", 138 "artistic1.0.0cl8": "Artistic-1.0-cl8", 139 "artistic1.0.0perl": "Artistic-1.0-Perl", 140 "artistic1.0cl8": "Artistic-1.0-cl8", 141 "artistic1.0perl": "Artistic-1.0-Perl", 142 "artistic1cl8": "Artistic-1.0-cl8", 143 "artistic1perl": "Artistic-1.0-Perl", 144 "artistic2": "Artistic-2.0", 145 "artistic2.0": "Artistic-2.0", 146 "artistic2.0.0": "Artistic-2.0", 147 "baekmuk": "Baekmuk", 148 "bahyph": "Bahyph", 149 "barr": "Barr", 150 "beerware": "Beerware", 151 "bitstreamcharter": "Bitstream-Charter", 152 "bitstreamvera": "Bitstream-Vera", 153 "bittorrent1": "BitTorrent-1.0", 154 "bittorrent1.0": "BitTorrent-1.0", 155 "bittorrent1.0.0": "BitTorrent-1.0", 156 "bittorrent1.1": "BitTorrent-1.1", 157 "bittorrent1.1.0": "BitTorrent-1.1", 158 "blessing": "blessing", 159 "blueoak1": "BlueOak-1.0.0", 160 "blueoak1.0": "BlueOak-1.0.0", 161 "blueoak1.0.0": "BlueOak-1.0.0", 162 "borceux": "Borceux", 163 "briangladman3.0.0clause": "Brian-Gladman-3-Clause", 164 "briangladman3.0clause": "Brian-Gladman-3-Clause", 165 "briangladman3clause": "Brian-Gladman-3-Clause", 166 "bsd1.0.0clause": "BSD-1-Clause", 167 "bsd1.0clause": "BSD-1-Clause", 168 "bsd1clause": "BSD-1-Clause", 169 "bsd2.0.0clause": "BSD-2-Clause", 170 "bsd2.0.0clausefreebsd": "BSD-2-Clause-Views", 171 "bsd2.0.0clausenetbsd": "BSD-2-Clause", 172 "bsd2.0.0clausepatent": "BSD-2-Clause-Patent", 173 "bsd2.0.0clauseviews": "BSD-2-Clause-Views", 174 "bsd2.0clause": "BSD-2-Clause", 175 "bsd2.0clausefreebsd": "BSD-2-Clause-Views", 176 "bsd2.0clausenetbsd": "BSD-2-Clause", 177 "bsd2.0clausepatent": "BSD-2-Clause-Patent", 178 "bsd2.0clauseviews": "BSD-2-Clause-Views", 179 "bsd2clause": "BSD-2-Clause", 180 "bsd2clausefreebsd": "BSD-2-Clause-Views", 181 "bsd2clausenetbsd": "BSD-2-Clause", 182 "bsd2clausepatent": "BSD-2-Clause-Patent", 183 "bsd2clauseviews": "BSD-2-Clause-Views", 184 "bsd3.0.0clause": "BSD-3-Clause", 185 "bsd3.0.0clauseattribution": "BSD-3-Clause-Attribution", 186 "bsd3.0.0clauseclear": "BSD-3-Clause-Clear", 187 "bsd3.0.0clauselbnl": "BSD-3-Clause-LBNL", 188 "bsd3.0.0clausemodification": "BSD-3-Clause-Modification", 189 "bsd3.0.0clausenomilitarylicense": "BSD-3-Clause-No-Military-License", 190 "bsd3.0.0clausenonuclearlicense": "BSD-3-Clause-No-Nuclear-License", 191 "bsd3.0.0clausenonuclearlicense2014": "BSD-3-Clause-No-Nuclear-License-2014", 192 "bsd3.0.0clausenonuclearwarranty": "BSD-3-Clause-No-Nuclear-Warranty", 193 "bsd3.0.0clauseopenmpi": "BSD-3-Clause-Open-MPI", 194 "bsd3.0clause": "BSD-3-Clause", 195 "bsd3.0clauseattribution": "BSD-3-Clause-Attribution", 196 "bsd3.0clauseclear": "BSD-3-Clause-Clear", 197 "bsd3.0clauselbnl": "BSD-3-Clause-LBNL", 198 "bsd3.0clausemodification": "BSD-3-Clause-Modification", 199 "bsd3.0clausenomilitarylicense": "BSD-3-Clause-No-Military-License", 200 "bsd3.0clausenonuclearlicense": "BSD-3-Clause-No-Nuclear-License", 201 "bsd3.0clausenonuclearlicense2014": "BSD-3-Clause-No-Nuclear-License-2014", 202 "bsd3.0clausenonuclearwarranty": "BSD-3-Clause-No-Nuclear-Warranty", 203 "bsd3.0clauseopenmpi": "BSD-3-Clause-Open-MPI", 204 "bsd3clause": "BSD-3-Clause", 205 "bsd3clauseattribution": "BSD-3-Clause-Attribution", 206 "bsd3clauseclear": "BSD-3-Clause-Clear", 207 "bsd3clauselbnl": "BSD-3-Clause-LBNL", 208 "bsd3clausemodification": "BSD-3-Clause-Modification", 209 "bsd3clausenomilitarylicense": "BSD-3-Clause-No-Military-License", 210 "bsd3clausenonuclearlicense": "BSD-3-Clause-No-Nuclear-License", 211 "bsd3clausenonuclearlicense2014": "BSD-3-Clause-No-Nuclear-License-2014", 212 "bsd3clausenonuclearwarranty": "BSD-3-Clause-No-Nuclear-Warranty", 213 "bsd3clauseopenmpi": "BSD-3-Clause-Open-MPI", 214 "bsd4.0.0clause": "BSD-4-Clause", 215 "bsd4.0.0clauseshortened": "BSD-4-Clause-Shortened", 216 "bsd4.0.0clauseuc": "BSD-4-Clause-UC", 217 "bsd4.0clause": "BSD-4-Clause", 218 "bsd4.0clauseshortened": "BSD-4-Clause-Shortened", 219 "bsd4.0clauseuc": "BSD-4-Clause-UC", 220 "bsd4.3.0reno": "BSD-4.3RENO", 221 "bsd4.3.0tahoe": "BSD-4.3TAHOE", 222 "bsd4.3reno": "BSD-4.3RENO", 223 "bsd4.3tahoe": "BSD-4.3TAHOE", 224 "bsd4clause": "BSD-4-Clause", 225 "bsd4clauseshortened": "BSD-4-Clause-Shortened", 226 "bsd4clauseuc": "BSD-4-Clause-UC", 227 "bsd4reno": "BSD-4.3RENO", 228 "bsd4tahoe": "BSD-4.3TAHOE", 229 "bsdadvertisingacknowledgement": "BSD-Advertising-Acknowledgement", 230 "bsdattributionhpnddisclaimer": "BSD-Attribution-HPND-disclaimer", 231 "bsdprotection": "BSD-Protection", 232 "bsdsourcecode": "BSD-Source-Code", 233 "bsl1": "BSL-1.0", 234 "bsl1.0": "BSL-1.0", 235 "bsl1.0.0": "BSL-1.0", 236 "busl1": "BUSL-1.1", 237 "busl1.1": "BUSL-1.1", 238 "busl1.1.0": "BUSL-1.1", 239 "bzip21": "bzip2-1.0.6", 240 "bzip21.0": "bzip2-1.0.6", 241 "bzip21.0.5": "bzip2-1.0.6", 242 "bzip21.0.6": "bzip2-1.0.6", 243 "cal1": "CAL-1.0", 244 "cal1.0": "CAL-1.0", 245 "cal1.0.0": "CAL-1.0", 246 "cal1.0.0combinedworkexception": "CAL-1.0-Combined-Work-Exception", 247 "cal1.0combinedworkexception": "CAL-1.0-Combined-Work-Exception", 248 "cal1combinedworkexception": "CAL-1.0-Combined-Work-Exception", 249 "caldera": "Caldera", 250 "catosl1": "CATOSL-1.1", 251 "catosl1.1": "CATOSL-1.1", 252 "catosl1.1.0": "CATOSL-1.1", 253 "cc01": "CC0-1.0", 254 "cc01.0": "CC0-1.0", 255 "cc01.0.0": "CC0-1.0", 256 "ccby1": "CC-BY-1.0", 257 "ccby1.0": "CC-BY-1.0", 258 "ccby1.0.0": "CC-BY-1.0", 259 "ccby2": "CC-BY-2.0", 260 "ccby2.0": "CC-BY-2.0", 261 "ccby2.0.0": "CC-BY-2.0", 262 "ccby2.5": "CC-BY-2.5", 263 "ccby2.5.0": "CC-BY-2.5", 264 "ccby2.5.0au": "CC-BY-2.5-AU", 265 "ccby2.5au": "CC-BY-2.5-AU", 266 "ccby2au": "CC-BY-2.5-AU", 267 "ccby3": "CC-BY-3.0", 268 "ccby3.0": "CC-BY-3.0", 269 "ccby3.0.0": "CC-BY-3.0", 270 "ccby3.0.0at": "CC-BY-3.0-AT", 271 "ccby3.0.0de": "CC-BY-3.0-DE", 272 "ccby3.0.0igo": "CC-BY-3.0-IGO", 273 "ccby3.0.0nl": "CC-BY-3.0-NL", 274 "ccby3.0.0us": "CC-BY-3.0-US", 275 "ccby3.0at": "CC-BY-3.0-AT", 276 "ccby3.0de": "CC-BY-3.0-DE", 277 "ccby3.0igo": "CC-BY-3.0-IGO", 278 "ccby3.0nl": "CC-BY-3.0-NL", 279 "ccby3.0us": "CC-BY-3.0-US", 280 "ccby3at": "CC-BY-3.0-AT", 281 "ccby3de": "CC-BY-3.0-DE", 282 "ccby3igo": "CC-BY-3.0-IGO", 283 "ccby3nl": "CC-BY-3.0-NL", 284 "ccby3us": "CC-BY-3.0-US", 285 "ccby4": "CC-BY-4.0", 286 "ccby4.0": "CC-BY-4.0", 287 "ccby4.0.0": "CC-BY-4.0", 288 "ccbync1": "CC-BY-NC-1.0", 289 "ccbync1.0": "CC-BY-NC-1.0", 290 "ccbync1.0.0": "CC-BY-NC-1.0", 291 "ccbync2": "CC-BY-NC-2.0", 292 "ccbync2.0": "CC-BY-NC-2.0", 293 "ccbync2.0.0": "CC-BY-NC-2.0", 294 "ccbync2.5": "CC-BY-NC-2.5", 295 "ccbync2.5.0": "CC-BY-NC-2.5", 296 "ccbync3": "CC-BY-NC-3.0", 297 "ccbync3.0": "CC-BY-NC-3.0", 298 "ccbync3.0.0": "CC-BY-NC-3.0", 299 "ccbync3.0.0de": "CC-BY-NC-3.0-DE", 300 "ccbync3.0de": "CC-BY-NC-3.0-DE", 301 "ccbync3de": "CC-BY-NC-3.0-DE", 302 "ccbync4": "CC-BY-NC-4.0", 303 "ccbync4.0": "CC-BY-NC-4.0", 304 "ccbync4.0.0": "CC-BY-NC-4.0", 305 "ccbyncnd1": "CC-BY-NC-ND-1.0", 306 "ccbyncnd1.0": "CC-BY-NC-ND-1.0", 307 "ccbyncnd1.0.0": "CC-BY-NC-ND-1.0", 308 "ccbyncnd2": "CC-BY-NC-ND-2.0", 309 "ccbyncnd2.0": "CC-BY-NC-ND-2.0", 310 "ccbyncnd2.0.0": "CC-BY-NC-ND-2.0", 311 "ccbyncnd2.5": "CC-BY-NC-ND-2.5", 312 "ccbyncnd2.5.0": "CC-BY-NC-ND-2.5", 313 "ccbyncnd3": "CC-BY-NC-ND-3.0", 314 "ccbyncnd3.0": "CC-BY-NC-ND-3.0", 315 "ccbyncnd3.0.0": "CC-BY-NC-ND-3.0", 316 "ccbyncnd3.0.0de": "CC-BY-NC-ND-3.0-DE", 317 "ccbyncnd3.0.0igo": "CC-BY-NC-ND-3.0-IGO", 318 "ccbyncnd3.0de": "CC-BY-NC-ND-3.0-DE", 319 "ccbyncnd3.0igo": "CC-BY-NC-ND-3.0-IGO", 320 "ccbyncnd3de": "CC-BY-NC-ND-3.0-DE", 321 "ccbyncnd3igo": "CC-BY-NC-ND-3.0-IGO", 322 "ccbyncnd4": "CC-BY-NC-ND-4.0", 323 "ccbyncnd4.0": "CC-BY-NC-ND-4.0", 324 "ccbyncnd4.0.0": "CC-BY-NC-ND-4.0", 325 "ccbyncsa1": "CC-BY-NC-SA-1.0", 326 "ccbyncsa1.0": "CC-BY-NC-SA-1.0", 327 "ccbyncsa1.0.0": "CC-BY-NC-SA-1.0", 328 "ccbyncsa2": "CC-BY-NC-SA-2.0", 329 "ccbyncsa2.0": "CC-BY-NC-SA-2.0", 330 "ccbyncsa2.0.0": "CC-BY-NC-SA-2.0", 331 "ccbyncsa2.0.0de": "CC-BY-NC-SA-2.0-DE", 332 "ccbyncsa2.0.0fr": "CC-BY-NC-SA-2.0-FR", 333 "ccbyncsa2.0.0uk": "CC-BY-NC-SA-2.0-UK", 334 "ccbyncsa2.0de": "CC-BY-NC-SA-2.0-DE", 335 "ccbyncsa2.0fr": "CC-BY-NC-SA-2.0-FR", 336 "ccbyncsa2.0uk": "CC-BY-NC-SA-2.0-UK", 337 "ccbyncsa2.5": "CC-BY-NC-SA-2.5", 338 "ccbyncsa2.5.0": "CC-BY-NC-SA-2.5", 339 "ccbyncsa2de": "CC-BY-NC-SA-2.0-DE", 340 "ccbyncsa2fr": "CC-BY-NC-SA-2.0-FR", 341 "ccbyncsa2uk": "CC-BY-NC-SA-2.0-UK", 342 "ccbyncsa3": "CC-BY-NC-SA-3.0", 343 "ccbyncsa3.0": "CC-BY-NC-SA-3.0", 344 "ccbyncsa3.0.0": "CC-BY-NC-SA-3.0", 345 "ccbyncsa3.0.0de": "CC-BY-NC-SA-3.0-DE", 346 "ccbyncsa3.0.0igo": "CC-BY-NC-SA-3.0-IGO", 347 "ccbyncsa3.0de": "CC-BY-NC-SA-3.0-DE", 348 "ccbyncsa3.0igo": "CC-BY-NC-SA-3.0-IGO", 349 "ccbyncsa3de": "CC-BY-NC-SA-3.0-DE", 350 "ccbyncsa3igo": "CC-BY-NC-SA-3.0-IGO", 351 "ccbyncsa4": "CC-BY-NC-SA-4.0", 352 "ccbyncsa4.0": "CC-BY-NC-SA-4.0", 353 "ccbyncsa4.0.0": "CC-BY-NC-SA-4.0", 354 "ccbynd1": "CC-BY-ND-1.0", 355 "ccbynd1.0": "CC-BY-ND-1.0", 356 "ccbynd1.0.0": "CC-BY-ND-1.0", 357 "ccbynd2": "CC-BY-ND-2.0", 358 "ccbynd2.0": "CC-BY-ND-2.0", 359 "ccbynd2.0.0": "CC-BY-ND-2.0", 360 "ccbynd2.5": "CC-BY-ND-2.5", 361 "ccbynd2.5.0": "CC-BY-ND-2.5", 362 "ccbynd3": "CC-BY-ND-3.0", 363 "ccbynd3.0": "CC-BY-ND-3.0", 364 "ccbynd3.0.0": "CC-BY-ND-3.0", 365 "ccbynd3.0.0de": "CC-BY-ND-3.0-DE", 366 "ccbynd3.0de": "CC-BY-ND-3.0-DE", 367 "ccbynd3de": "CC-BY-ND-3.0-DE", 368 "ccbynd4": "CC-BY-ND-4.0", 369 "ccbynd4.0": "CC-BY-ND-4.0", 370 "ccbynd4.0.0": "CC-BY-ND-4.0", 371 "ccbysa1": "CC-BY-SA-1.0", 372 "ccbysa1.0": "CC-BY-SA-1.0", 373 "ccbysa1.0.0": "CC-BY-SA-1.0", 374 "ccbysa2": "CC-BY-SA-2.0", 375 "ccbysa2.0": "CC-BY-SA-2.0", 376 "ccbysa2.0.0": "CC-BY-SA-2.0", 377 "ccbysa2.0.0uk": "CC-BY-SA-2.0-UK", 378 "ccbysa2.0uk": "CC-BY-SA-2.0-UK", 379 "ccbysa2.1.0jp": "CC-BY-SA-2.1-JP", 380 "ccbysa2.1jp": "CC-BY-SA-2.1-JP", 381 "ccbysa2.5": "CC-BY-SA-2.5", 382 "ccbysa2.5.0": "CC-BY-SA-2.5", 383 "ccbysa2jp": "CC-BY-SA-2.1-JP", 384 "ccbysa2uk": "CC-BY-SA-2.0-UK", 385 "ccbysa3": "CC-BY-SA-3.0", 386 "ccbysa3.0": "CC-BY-SA-3.0", 387 "ccbysa3.0.0": "CC-BY-SA-3.0", 388 "ccbysa3.0.0at": "CC-BY-SA-3.0-AT", 389 "ccbysa3.0.0de": "CC-BY-SA-3.0-DE", 390 "ccbysa3.0at": "CC-BY-SA-3.0-AT", 391 "ccbysa3.0de": "CC-BY-SA-3.0-DE", 392 "ccbysa3at": "CC-BY-SA-3.0-AT", 393 "ccbysa3de": "CC-BY-SA-3.0-DE", 394 "ccbysa4": "CC-BY-SA-4.0", 395 "ccbysa4.0": "CC-BY-SA-4.0", 396 "ccbysa4.0.0": "CC-BY-SA-4.0", 397 "ccpddc": "CC-PDDC", 398 "cddl1": "CDDL-1.0", 399 "cddl1.0": "CDDL-1.0", 400 "cddl1.0.0": "CDDL-1.0", 401 "cddl1.1": "CDDL-1.1", 402 "cddl1.1.0": "CDDL-1.1", 403 "cdl1": "CDL-1.0", 404 "cdl1.0": "CDL-1.0", 405 "cdl1.0.0": "CDL-1.0", 406 "cdlapermissive1": "CDLA-Permissive-1.0", 407 "cdlapermissive1.0": "CDLA-Permissive-1.0", 408 "cdlapermissive1.0.0": "CDLA-Permissive-1.0", 409 "cdlapermissive2": "CDLA-Permissive-2.0", 410 "cdlapermissive2.0": "CDLA-Permissive-2.0", 411 "cdlapermissive2.0.0": "CDLA-Permissive-2.0", 412 "cdlasharing1": "CDLA-Sharing-1.0", 413 "cdlasharing1.0": "CDLA-Sharing-1.0", 414 "cdlasharing1.0.0": "CDLA-Sharing-1.0", 415 "cecill1": "CECILL-1.0", 416 "cecill1.0": "CECILL-1.0", 417 "cecill1.0.0": "CECILL-1.0", 418 "cecill1.1": "CECILL-1.1", 419 "cecill1.1.0": "CECILL-1.1", 420 "cecill2": "CECILL-2.0", 421 "cecill2.0": "CECILL-2.0", 422 "cecill2.0.0": "CECILL-2.0", 423 "cecill2.1": "CECILL-2.1", 424 "cecill2.1.0": "CECILL-2.1", 425 "cecillb": "CECILL-B", 426 "cecillc": "CECILL-C", 427 "cernohl1": "CERN-OHL-1.1", 428 "cernohl1.1": "CERN-OHL-1.1", 429 "cernohl1.1.0": "CERN-OHL-1.1", 430 "cernohl1.2": "CERN-OHL-1.2", 431 "cernohl1.2.0": "CERN-OHL-1.2", 432 "cernohlp2": "CERN-OHL-P-2.0", 433 "cernohlp2.0": "CERN-OHL-P-2.0", 434 "cernohlp2.0.0": "CERN-OHL-P-2.0", 435 "cernohls2": "CERN-OHL-S-2.0", 436 "cernohls2.0": "CERN-OHL-S-2.0", 437 "cernohls2.0.0": "CERN-OHL-S-2.0", 438 "cernohlw2": "CERN-OHL-W-2.0", 439 "cernohlw2.0": "CERN-OHL-W-2.0", 440 "cernohlw2.0.0": "CERN-OHL-W-2.0", 441 "cfitsio": "CFITSIO", 442 "checkmk": "checkmk", 443 "clartistic": "ClArtistic", 444 "clips": "Clips", 445 "cmumach": "CMU-Mach", 446 "cnrijython": "CNRI-Jython", 447 "cnripython": "CNRI-Python", 448 "cnripythongplcompatible": "CNRI-Python-GPL-Compatible", 449 "coil1": "COIL-1.0", 450 "coil1.0": "COIL-1.0", 451 "coil1.0.0": "COIL-1.0", 452 "communityspec1": "Community-Spec-1.0", 453 "communityspec1.0": "Community-Spec-1.0", 454 "communityspec1.0.0": "Community-Spec-1.0", 455 "condor1": "Condor-1.1", 456 "condor1.1": "Condor-1.1", 457 "condor1.1.0": "Condor-1.1", 458 "copyleftnext0.3": "copyleft-next-0.3.0", 459 "copyleftnext0.3.0": "copyleft-next-0.3.0", 460 "copyleftnext0.3.1": "copyleft-next-0.3.1", 461 "cornelllosslessjpeg": "Cornell-Lossless-JPEG", 462 "cpal1": "CPAL-1.0", 463 "cpal1.0": "CPAL-1.0", 464 "cpal1.0.0": "CPAL-1.0", 465 "cpl1": "CPL-1.0", 466 "cpl1.0": "CPL-1.0", 467 "cpl1.0.0": "CPL-1.0", 468 "cpol1": "CPOL-1.02", 469 "cpol1.02": "CPOL-1.02", 470 "cpol1.02.0": "CPOL-1.02", 471 "crossword": "Crossword", 472 "crystalstacker": "CrystalStacker", 473 "cuaopl1": "CUA-OPL-1.0", 474 "cuaopl1.0": "CUA-OPL-1.0", 475 "cuaopl1.0.0": "CUA-OPL-1.0", 476 "cube": "Cube", 477 "cuda1": "C-UDA-1.0", 478 "cuda1.0": "C-UDA-1.0", 479 "cuda1.0.0": "C-UDA-1.0", 480 "curl": "curl", 481 "dfsl1": "D-FSL-1.0", 482 "dfsl1.0": "D-FSL-1.0", 483 "dfsl1.0.0": "D-FSL-1.0", 484 "diffmark": "diffmark", 485 "dldeby2": "DL-DE-BY-2.0", 486 "dldeby2.0": "DL-DE-BY-2.0", 487 "dldeby2.0.0": "DL-DE-BY-2.0", 488 "doc": "DOC", 489 "dotseqn": "Dotseqn", 490 "drl1": "DRL-1.0", 491 "drl1.0": "DRL-1.0", 492 "drl1.0.0": "DRL-1.0", 493 "dsdp": "DSDP", 494 "dvipdfm": "dvipdfm", 495 "ecl1": "ECL-1.0", 496 "ecl1.0": "ECL-1.0", 497 "ecl1.0.0": "ECL-1.0", 498 "ecl2": "ECL-2.0", 499 "ecl2.0": "ECL-2.0", 500 "ecl2.0.0": "ECL-2.0", 501 "ecos2": "eCos-2.0", 502 "ecos2.0": "eCos-2.0", 503 "ecos2.0.0": "eCos-2.0", 504 "efl1": "EFL-1.0", 505 "efl1.0": "EFL-1.0", 506 "efl1.0.0": "EFL-1.0", 507 "efl2": "EFL-2.0", 508 "efl2.0": "EFL-2.0", 509 "efl2.0.0": "EFL-2.0", 510 "egenix": "eGenix", 511 "elastic2": "Elastic-2.0", 512 "elastic2.0": "Elastic-2.0", 513 "elastic2.0.0": "Elastic-2.0", 514 "entessa": "Entessa", 515 "epics": "EPICS", 516 "epl1": "EPL-1.0", 517 "epl1.0": "EPL-1.0", 518 "epl1.0.0": "EPL-1.0", 519 "epl2": "EPL-2.0", 520 "epl2.0": "EPL-2.0", 521 "epl2.0.0": "EPL-2.0", 522 "erlpl1": "ErlPL-1.1", 523 "erlpl1.1": "ErlPL-1.1", 524 "erlpl1.1.0": "ErlPL-1.1", 525 "etalab2": "etalab-2.0", 526 "etalab2.0": "etalab-2.0", 527 "etalab2.0.0": "etalab-2.0", 528 "eudatagrid": "EUDatagrid", 529 "eupl1": "EUPL-1.0", 530 "eupl1.0": "EUPL-1.0", 531 "eupl1.0.0": "EUPL-1.0", 532 "eupl1.1": "EUPL-1.1", 533 "eupl1.1.0": "EUPL-1.1", 534 "eupl1.2": "EUPL-1.2", 535 "eupl1.2.0": "EUPL-1.2", 536 "eurosym": "Eurosym", 537 "fair": "Fair", 538 "fdkaac": "FDK-AAC", 539 "frameworx1": "Frameworx-1.0", 540 "frameworx1.0": "Frameworx-1.0", 541 "frameworx1.0.0": "Frameworx-1.0", 542 "freebsddoc": "FreeBSD-DOC", 543 "freeimage": "FreeImage", 544 "fsfap": "FSFAP", 545 "fsful": "FSFUL", 546 "fsfullr": "FSFULLR", 547 "fsfullrwd": "FSFULLRWD", 548 "ftl": "FTL", 549 "gd": "GD", 550 "gfdl1": "GFDL-1.1-only", 551 "gfdl1.1": "GFDL-1.1-only", 552 "gfdl1.1.0": "GFDL-1.1-only", 553 "gfdl1.1.0invariantsonly": "GFDL-1.1-invariants-only", 554 "gfdl1.1.0invariantsorlater": "GFDL-1.1-invariants-or-later", 555 "gfdl1.1.0noinvariantsonly": "GFDL-1.1-no-invariants-only", 556 "gfdl1.1.0noinvariantsorlater": "GFDL-1.1-no-invariants-or-later", 557 "gfdl1.1.0only": "GFDL-1.1-only", 558 "gfdl1.1.0orlater": "GFDL-1.1-or-later", 559 "gfdl1.1invariantsonly": "GFDL-1.1-invariants-only", 560 "gfdl1.1invariantsorlater": "GFDL-1.1-invariants-or-later", 561 "gfdl1.1noinvariantsonly": "GFDL-1.1-no-invariants-only", 562 "gfdl1.1noinvariantsorlater": "GFDL-1.1-no-invariants-or-later", 563 "gfdl1.1only": "GFDL-1.1-only", 564 "gfdl1.1orlater": "GFDL-1.1-or-later", 565 "gfdl1.2": "GFDL-1.2-only", 566 "gfdl1.2.0": "GFDL-1.2-only", 567 "gfdl1.2.0invariantsonly": "GFDL-1.2-invariants-only", 568 "gfdl1.2.0invariantsorlater": "GFDL-1.2-invariants-or-later", 569 "gfdl1.2.0noinvariantsonly": "GFDL-1.2-no-invariants-only", 570 "gfdl1.2.0noinvariantsorlater": "GFDL-1.2-no-invariants-or-later", 571 "gfdl1.2.0only": "GFDL-1.2-only", 572 "gfdl1.2.0orlater": "GFDL-1.2-or-later", 573 "gfdl1.2invariantsonly": "GFDL-1.2-invariants-only", 574 "gfdl1.2invariantsorlater": "GFDL-1.2-invariants-or-later", 575 "gfdl1.2noinvariantsonly": "GFDL-1.2-no-invariants-only", 576 "gfdl1.2noinvariantsorlater": "GFDL-1.2-no-invariants-or-later", 577 "gfdl1.2only": "GFDL-1.2-only", 578 "gfdl1.2orlater": "GFDL-1.2-or-later", 579 "gfdl1.3": "GFDL-1.3-only", 580 "gfdl1.3.0": "GFDL-1.3-only", 581 "gfdl1.3.0invariantsonly": "GFDL-1.3-invariants-only", 582 "gfdl1.3.0invariantsorlater": "GFDL-1.3-invariants-or-later", 583 "gfdl1.3.0noinvariantsonly": "GFDL-1.3-no-invariants-only", 584 "gfdl1.3.0noinvariantsorlater": "GFDL-1.3-no-invariants-or-later", 585 "gfdl1.3.0only": "GFDL-1.3-only", 586 "gfdl1.3.0orlater": "GFDL-1.3-or-later", 587 "gfdl1.3invariantsonly": "GFDL-1.3-invariants-only", 588 "gfdl1.3invariantsorlater": "GFDL-1.3-invariants-or-later", 589 "gfdl1.3noinvariantsonly": "GFDL-1.3-no-invariants-only", 590 "gfdl1.3noinvariantsorlater": "GFDL-1.3-no-invariants-or-later", 591 "gfdl1.3only": "GFDL-1.3-only", 592 "gfdl1.3orlater": "GFDL-1.3-or-later", 593 "gfdl1invariantsonly": "GFDL-1.1-invariants-only", 594 "gfdl1invariantsorlater": "GFDL-1.1-invariants-or-later", 595 "gfdl1noinvariantsonly": "GFDL-1.1-no-invariants-only", 596 "gfdl1noinvariantsorlater": "GFDL-1.1-no-invariants-or-later", 597 "gfdl1only": "GFDL-1.1-only", 598 "gfdl1orlater": "GFDL-1.1-or-later", 599 "giftware": "Giftware", 600 "gl2.0.0ps": "GL2PS", 601 "gl2.0ps": "GL2PS", 602 "gl2ps": "GL2PS", 603 "glide": "Glide", 604 "glulxe": "Glulxe", 605 "glwtpl": "GLWTPL", 606 "gnuplot": "gnuplot", 607 "gpl1": "GPL-1.0-only", 608 "gpl1+": "GPL-1.0-or-later", 609 "gpl1.0": "GPL-1.0-only", 610 "gpl1.0+": "GPL-1.0-or-later", 611 "gpl1.0.0": "GPL-1.0-only", 612 "gpl1.0.0+": "GPL-1.0-or-later", 613 "gpl1.0.0only": "GPL-1.0-only", 614 "gpl1.0.0orlater": "GPL-1.0-or-later", 615 "gpl1.0only": "GPL-1.0-only", 616 "gpl1.0orlater": "GPL-1.0-or-later", 617 "gpl1only": "GPL-1.0-only", 618 "gpl1orlater": "GPL-1.0-or-later", 619 "gpl2": "GPL-2.0-only", 620 "gpl2+": "GPL-2.0-or-later", 621 "gpl2.0": "GPL-2.0-only", 622 "gpl2.0+": "GPL-2.0-or-later", 623 "gpl2.0.0": "GPL-2.0-only", 624 "gpl2.0.0+": "GPL-2.0-or-later", 625 "gpl2.0.0only": "GPL-2.0-only", 626 "gpl2.0.0orlater": "GPL-2.0-or-later", 627 "gpl2.0.0withautoconfexception": "GPL-2.0-with-autoconf-exception", 628 "gpl2.0.0withbisonexception": "GPL-2.0-with-bison-exception", 629 "gpl2.0.0withclasspathexception": "GPL-2.0-with-classpath-exception", 630 "gpl2.0.0withfontexception": "GPL-2.0-with-font-exception", 631 "gpl2.0.0withgccexception": "GPL-2.0-with-GCC-exception", 632 "gpl2.0only": "GPL-2.0-only", 633 "gpl2.0orlater": "GPL-2.0-or-later", 634 "gpl2.0withautoconfexception": "GPL-2.0-with-autoconf-exception", 635 "gpl2.0withbisonexception": "GPL-2.0-with-bison-exception", 636 "gpl2.0withclasspathexception": "GPL-2.0-with-classpath-exception", 637 "gpl2.0withfontexception": "GPL-2.0-with-font-exception", 638 "gpl2.0withgccexception": "GPL-2.0-with-GCC-exception", 639 "gpl2only": "GPL-2.0-only", 640 "gpl2orlater": "GPL-2.0-or-later", 641 "gpl2withautoconfexception": "GPL-2.0-with-autoconf-exception", 642 "gpl2withbisonexception": "GPL-2.0-with-bison-exception", 643 "gpl2withclasspathexception": "GPL-2.0-with-classpath-exception", 644 "gpl2withfontexception": "GPL-2.0-with-font-exception", 645 "gpl2withgccexception": "GPL-2.0-with-GCC-exception", 646 "gpl3": "GPL-3.0-only", 647 "gpl3+": "GPL-3.0-or-later", 648 "gpl3.0": "GPL-3.0-only", 649 "gpl3.0+": "GPL-3.0-or-later", 650 "gpl3.0.0": "GPL-3.0-only", 651 "gpl3.0.0+": "GPL-3.0-or-later", 652 "gpl3.0.0only": "GPL-3.0-only", 653 "gpl3.0.0orlater": "GPL-3.0-or-later", 654 "gpl3.0.0withautoconfexception": "GPL-3.0-with-autoconf-exception", 655 "gpl3.0.0withgccexception": "GPL-3.0-with-GCC-exception", 656 "gpl3.0only": "GPL-3.0-only", 657 "gpl3.0orlater": "GPL-3.0-or-later", 658 "gpl3.0withautoconfexception": "GPL-3.0-with-autoconf-exception", 659 "gpl3.0withgccexception": "GPL-3.0-with-GCC-exception", 660 "gpl3only": "GPL-3.0-only", 661 "gpl3orlater": "GPL-3.0-or-later", 662 "gpl3withautoconfexception": "GPL-3.0-with-autoconf-exception", 663 "gpl3withgccexception": "GPL-3.0-with-GCC-exception", 664 "graphicsgems": "Graphics-Gems", 665 "gsoap1.3.0b": "gSOAP-1.3b", 666 "gsoap1.3b": "gSOAP-1.3b", 667 "gsoap1b": "gSOAP-1.3b", 668 "haskellreport": "HaskellReport", 669 "hippocratic2": "Hippocratic-2.1", 670 "hippocratic2.1": "Hippocratic-2.1", 671 "hippocratic2.1.0": "Hippocratic-2.1", 672 "hp1986": "HP-1986", 673 "hp1986.0": "HP-1986", 674 "hp1986.0.0": "HP-1986", 675 "hpnd": "HPND", 676 "hpndexportus": "HPND-export-US", 677 "hpndmarkuskuhn": "HPND-Markus-Kuhn", 678 "hpndsellvariant": "HPND-sell-variant", 679 "hpndsellvariantmitdisclaimer": "HPND-sell-variant-MIT-disclaimer", 680 "htmltidy": "HTMLTIDY", 681 "ibmpibs": "IBM-pibs", 682 "icu": "ICU", 683 "ieccodecomponentseula": "IEC-Code-Components-EULA", 684 "ijg": "IJG", 685 "ijgshort": "IJG-short", 686 "imagemagick": "ImageMagick", 687 "imatix": "iMatix", 688 "imlib2": "Imlib2", 689 "imlib2.0": "Imlib2", 690 "imlib2.0.0": "Imlib2", 691 "infozip": "Info-ZIP", 692 "intel": "Intel", 693 "intelacpi": "Intel-ACPI", 694 "interbase1": "Interbase-1.0", 695 "interbase1.0": "Interbase-1.0", 696 "interbase1.0.0": "Interbase-1.0", 697 "ipa": "IPA", 698 "ipl1": "IPL-1.0", 699 "ipl1.0": "IPL-1.0", 700 "ipl1.0.0": "IPL-1.0", 701 "isc": "ISC", 702 "jam": "Jam", 703 "jasper2": "JasPer-2.0", 704 "jasper2.0": "JasPer-2.0", 705 "jasper2.0.0": "JasPer-2.0", 706 "jplimage": "JPL-image", 707 "jpnic": "JPNIC", 708 "json": "JSON", 709 "kazlib": "Kazlib", 710 "knuthctan": "Knuth-CTAN", 711 "lal1": "LAL-1.2", 712 "lal1.2": "LAL-1.2", 713 "lal1.2.0": "LAL-1.2", 714 "lal1.3": "LAL-1.3", 715 "lal1.3.0": "LAL-1.3", 716 "latex2.0.0e": "Latex2e", 717 "latex2.0e": "Latex2e", 718 "latex2e": "Latex2e", 719 "leptonica": "Leptonica", 720 "lgpl2": "LGPL-2.0-only", 721 "lgpl2+": "LGPL-2.0-or-later", 722 "lgpl2.0": "LGPL-2.0-only", 723 "lgpl2.0+": "LGPL-2.0-or-later", 724 "lgpl2.0.0": "LGPL-2.0-only", 725 "lgpl2.0.0+": "LGPL-2.0-or-later", 726 "lgpl2.0.0only": "LGPL-2.0-only", 727 "lgpl2.0.0orlater": "LGPL-2.0-or-later", 728 "lgpl2.0only": "LGPL-2.0-only", 729 "lgpl2.0orlater": "LGPL-2.0-or-later", 730 "lgpl2.1": "LGPL-2.1-only", 731 "lgpl2.1+": "LGPL-2.1-or-later", 732 "lgpl2.1.0": "LGPL-2.1-only", 733 "lgpl2.1.0+": "LGPL-2.1-or-later", 734 "lgpl2.1.0only": "LGPL-2.1-only", 735 "lgpl2.1.0orlater": "LGPL-2.1-or-later", 736 "lgpl2.1only": "LGPL-2.1-only", 737 "lgpl2.1orlater": "LGPL-2.1-or-later", 738 "lgpl2only": "LGPL-2.0-only", 739 "lgpl2orlater": "LGPL-2.0-or-later", 740 "lgpl3": "LGPL-3.0-only", 741 "lgpl3+": "LGPL-3.0-or-later", 742 "lgpl3.0": "LGPL-3.0-only", 743 "lgpl3.0+": "LGPL-3.0-or-later", 744 "lgpl3.0.0": "LGPL-3.0-only", 745 "lgpl3.0.0+": "LGPL-3.0-or-later", 746 "lgpl3.0.0only": "LGPL-3.0-only", 747 "lgpl3.0.0orlater": "LGPL-3.0-or-later", 748 "lgpl3.0only": "LGPL-3.0-only", 749 "lgpl3.0orlater": "LGPL-3.0-or-later", 750 "lgpl3only": "LGPL-3.0-only", 751 "lgpl3orlater": "LGPL-3.0-or-later", 752 "lgpllr": "LGPLLR", 753 "libpng": "Libpng", 754 "libpng2": "libpng-2.0", 755 "libpng2.0": "libpng-2.0", 756 "libpng2.0.0": "libpng-2.0", 757 "libselinux1": "libselinux-1.0", 758 "libselinux1.0": "libselinux-1.0", 759 "libselinux1.0.0": "libselinux-1.0", 760 "libtiff": "libtiff", 761 "libutildavidnugent": "libutil-David-Nugent", 762 "liliqp1": "LiLiQ-P-1.1", 763 "liliqp1.1": "LiLiQ-P-1.1", 764 "liliqp1.1.0": "LiLiQ-P-1.1", 765 "liliqr1": "LiLiQ-R-1.1", 766 "liliqr1.1": "LiLiQ-R-1.1", 767 "liliqr1.1.0": "LiLiQ-R-1.1", 768 "liliqrplus1": "LiLiQ-Rplus-1.1", 769 "liliqrplus1.1": "LiLiQ-Rplus-1.1", 770 "liliqrplus1.1.0": "LiLiQ-Rplus-1.1", 771 "linuxmanpagescopyleft": "Linux-man-pages-copyleft", 772 "linuxopenib": "Linux-OpenIB", 773 "loop": "LOOP", 774 "lpl1": "LPL-1.0", 775 "lpl1.0": "LPL-1.0", 776 "lpl1.0.0": "LPL-1.0", 777 "lpl1.02": "LPL-1.02", 778 "lpl1.02.0": "LPL-1.02", 779 "lppl1": "LPPL-1.0", 780 "lppl1.0": "LPPL-1.0", 781 "lppl1.0.0": "LPPL-1.0", 782 "lppl1.1": "LPPL-1.1", 783 "lppl1.1.0": "LPPL-1.1", 784 "lppl1.2": "LPPL-1.2", 785 "lppl1.2.0": "LPPL-1.2", 786 "lppl1.3.0a": "LPPL-1.3a", 787 "lppl1.3.0c": "LPPL-1.3c", 788 "lppl1.3a": "LPPL-1.3a", 789 "lppl1.3c": "LPPL-1.3c", 790 "lppl1a": "LPPL-1.3a", 791 "lppl1c": "LPPL-1.3c", 792 "lzmasdk9": "LZMA-SDK-9.22", 793 "lzmasdk9.11.0to9.20": "LZMA-SDK-9.11-to-9.20", 794 "lzmasdk9.11to9.20": "LZMA-SDK-9.11-to-9.20", 795 "lzmasdk9.22": "LZMA-SDK-9.22", 796 "lzmasdk9.22.0": "LZMA-SDK-9.22", 797 "lzmasdk9to9.20": "LZMA-SDK-9.11-to-9.20", 798 "makeindex": "MakeIndex", 799 "martinbirgmeier": "Martin-Birgmeier", 800 "minpack": "Minpack", 801 "miros": "MirOS", 802 "mit": "MIT", 803 "mit0": "MIT-0", 804 "mitadvertising": "MIT-advertising", 805 "mitcmu": "MIT-CMU", 806 "mitenna": "MIT-enna", 807 "mitfeh": "MIT-feh", 808 "mitmodernvariant": "MIT-Modern-Variant", 809 "mitnfa": "MITNFA", 810 "mitopengroup": "MIT-open-group", 811 "mitwu": "MIT-Wu", 812 "motosoto": "Motosoto", 813 "mpich2": "mpich2", 814 "mpich2.0": "mpich2", 815 "mpich2.0.0": "mpich2", 816 "mpipermissive": "mpi-permissive", 817 "mpl1": "MPL-1.0", 818 "mpl1.0": "MPL-1.0", 819 "mpl1.0.0": "MPL-1.0", 820 "mpl1.1": "MPL-1.1", 821 "mpl1.1.0": "MPL-1.1", 822 "mpl2": "MPL-2.0", 823 "mpl2.0": "MPL-2.0", 824 "mpl2.0.0": "MPL-2.0", 825 "mpl2.0.0nocopyleftexception": "MPL-2.0-no-copyleft-exception", 826 "mpl2.0nocopyleftexception": "MPL-2.0-no-copyleft-exception", 827 "mpl2nocopyleftexception": "MPL-2.0-no-copyleft-exception", 828 "mplus": "mplus", 829 "mslpl": "MS-LPL", 830 "mspl": "MS-PL", 831 "msrl": "MS-RL", 832 "mtll": "MTLL", 833 "mulanpsl1": "MulanPSL-1.0", 834 "mulanpsl1.0": "MulanPSL-1.0", 835 "mulanpsl1.0.0": "MulanPSL-1.0", 836 "mulanpsl2": "MulanPSL-2.0", 837 "mulanpsl2.0": "MulanPSL-2.0", 838 "mulanpsl2.0.0": "MulanPSL-2.0", 839 "multics": "Multics", 840 "mup": "Mup", 841 "naist2003": "NAIST-2003", 842 "naist2003.0": "NAIST-2003", 843 "naist2003.0.0": "NAIST-2003", 844 "nasa1": "NASA-1.3", 845 "nasa1.3": "NASA-1.3", 846 "nasa1.3.0": "NASA-1.3", 847 "naumen": "Naumen", 848 "nbpl1": "NBPL-1.0", 849 "nbpl1.0": "NBPL-1.0", 850 "nbpl1.0.0": "NBPL-1.0", 851 "ncgluk2": "NCGL-UK-2.0", 852 "ncgluk2.0": "NCGL-UK-2.0", 853 "ncgluk2.0.0": "NCGL-UK-2.0", 854 "ncsa": "NCSA", 855 "netcdf": "NetCDF", 856 "netsnmp": "Net-SNMP", 857 "newsletr": "Newsletr", 858 "ngpl": "NGPL", 859 "nicta1": "NICTA-1.0", 860 "nicta1.0": "NICTA-1.0", 861 "nicta1.0.0": "NICTA-1.0", 862 "nistpd": "NIST-PD", 863 "nistpdfallback": "NIST-PD-fallback", 864 "nlod1": "NLOD-1.0", 865 "nlod1.0": "NLOD-1.0", 866 "nlod1.0.0": "NLOD-1.0", 867 "nlod2": "NLOD-2.0", 868 "nlod2.0": "NLOD-2.0", 869 "nlod2.0.0": "NLOD-2.0", 870 "nlpl": "NLPL", 871 "nokia": "Nokia", 872 "nosl": "NOSL", 873 "noweb": "Noweb", 874 "npl1": "NPL-1.0", 875 "npl1.0": "NPL-1.0", 876 "npl1.0.0": "NPL-1.0", 877 "npl1.1": "NPL-1.1", 878 "npl1.1.0": "NPL-1.1", 879 "nposl3": "NPOSL-3.0", 880 "nposl3.0": "NPOSL-3.0", 881 "nposl3.0.0": "NPOSL-3.0", 882 "nrl": "NRL", 883 "ntp": "NTP", 884 "ntp0": "NTP-0", 885 "nunit": "Nunit", 886 "occtpl": "OCCT-PL", 887 "oclc2": "OCLC-2.0", 888 "oclc2.0": "OCLC-2.0", 889 "oclc2.0.0": "OCLC-2.0", 890 "odbl1": "ODbL-1.0", 891 "odbl1.0": "ODbL-1.0", 892 "odbl1.0.0": "ODbL-1.0", 893 "odcby1": "ODC-By-1.0", 894 "odcby1.0": "ODC-By-1.0", 895 "odcby1.0.0": "ODC-By-1.0", 896 "offis": "OFFIS", 897 "ofl1": "OFL-1.0", 898 "ofl1.0": "OFL-1.0", 899 "ofl1.0.0": "OFL-1.0", 900 "ofl1.0.0norfn": "OFL-1.0-no-RFN", 901 "ofl1.0.0rfn": "OFL-1.0-RFN", 902 "ofl1.0norfn": "OFL-1.0-no-RFN", 903 "ofl1.0rfn": "OFL-1.0-RFN", 904 "ofl1.1": "OFL-1.1", 905 "ofl1.1.0": "OFL-1.1", 906 "ofl1.1.0norfn": "OFL-1.1-no-RFN", 907 "ofl1.1.0rfn": "OFL-1.1-RFN", 908 "ofl1.1norfn": "OFL-1.1-no-RFN", 909 "ofl1.1rfn": "OFL-1.1-RFN", 910 "ofl1norfn": "OFL-1.0-no-RFN", 911 "ofl1rfn": "OFL-1.0-RFN", 912 "ogc1": "OGC-1.0", 913 "ogc1.0": "OGC-1.0", 914 "ogc1.0.0": "OGC-1.0", 915 "ogdltaiwan1": "OGDL-Taiwan-1.0", 916 "ogdltaiwan1.0": "OGDL-Taiwan-1.0", 917 "ogdltaiwan1.0.0": "OGDL-Taiwan-1.0", 918 "oglcanada2": "OGL-Canada-2.0", 919 "oglcanada2.0": "OGL-Canada-2.0", 920 "oglcanada2.0.0": "OGL-Canada-2.0", 921 "ogluk1": "OGL-UK-1.0", 922 "ogluk1.0": "OGL-UK-1.0", 923 "ogluk1.0.0": "OGL-UK-1.0", 924 "ogluk2": "OGL-UK-2.0", 925 "ogluk2.0": "OGL-UK-2.0", 926 "ogluk2.0.0": "OGL-UK-2.0", 927 "ogluk3": "OGL-UK-3.0", 928 "ogluk3.0": "OGL-UK-3.0", 929 "ogluk3.0.0": "OGL-UK-3.0", 930 "ogtsl": "OGTSL", 931 "oldap1": "OLDAP-1.1", 932 "oldap1.1": "OLDAP-1.1", 933 "oldap1.1.0": "OLDAP-1.1", 934 "oldap1.2": "OLDAP-1.2", 935 "oldap1.2.0": "OLDAP-1.2", 936 "oldap1.3": "OLDAP-1.3", 937 "oldap1.3.0": "OLDAP-1.3", 938 "oldap1.4": "OLDAP-1.4", 939 "oldap1.4.0": "OLDAP-1.4", 940 "oldap2": "OLDAP-2.0", 941 "oldap2.0": "OLDAP-2.0", 942 "oldap2.0.0": "OLDAP-2.0", 943 "oldap2.0.1": "OLDAP-2.0.1", 944 "oldap2.1": "OLDAP-2.1", 945 "oldap2.1.0": "OLDAP-2.1", 946 "oldap2.2": "OLDAP-2.2", 947 "oldap2.2.0": "OLDAP-2.2", 948 "oldap2.2.1": "OLDAP-2.2.1", 949 "oldap2.2.2": "OLDAP-2.2.2", 950 "oldap2.3": "OLDAP-2.3", 951 "oldap2.3.0": "OLDAP-2.3", 952 "oldap2.4": "OLDAP-2.4", 953 "oldap2.4.0": "OLDAP-2.4", 954 "oldap2.5": "OLDAP-2.5", 955 "oldap2.5.0": "OLDAP-2.5", 956 "oldap2.6": "OLDAP-2.6", 957 "oldap2.6.0": "OLDAP-2.6", 958 "oldap2.7": "OLDAP-2.7", 959 "oldap2.7.0": "OLDAP-2.7", 960 "oldap2.8": "OLDAP-2.8", 961 "oldap2.8.0": "OLDAP-2.8", 962 "oml": "OML", 963 "openpbs2": "OpenPBS-2.3", 964 "openpbs2.3": "OpenPBS-2.3", 965 "openpbs2.3.0": "OpenPBS-2.3", 966 "openssl": "OpenSSL", 967 "opl1": "OPL-1.0", 968 "opl1.0": "OPL-1.0", 969 "opl1.0.0": "OPL-1.0", 970 "opubl1": "OPUBL-1.0", 971 "opubl1.0": "OPUBL-1.0", 972 "opubl1.0.0": "OPUBL-1.0", 973 "osetpl2": "OSET-PL-2.1", 974 "osetpl2.1": "OSET-PL-2.1", 975 "osetpl2.1.0": "OSET-PL-2.1", 976 "osl1": "OSL-1.0", 977 "osl1.0": "OSL-1.0", 978 "osl1.0.0": "OSL-1.0", 979 "osl1.1": "OSL-1.1", 980 "osl1.1.0": "OSL-1.1", 981 "osl2": "OSL-2.0", 982 "osl2.0": "OSL-2.0", 983 "osl2.0.0": "OSL-2.0", 984 "osl2.1": "OSL-2.1", 985 "osl2.1.0": "OSL-2.1", 986 "osl3": "OSL-3.0", 987 "osl3.0": "OSL-3.0", 988 "osl3.0.0": "OSL-3.0", 989 "ouda1": "O-UDA-1.0", 990 "ouda1.0": "O-UDA-1.0", 991 "ouda1.0.0": "O-UDA-1.0", 992 "parity6": "Parity-6.0.0", 993 "parity6.0": "Parity-6.0.0", 994 "parity6.0.0": "Parity-6.0.0", 995 "parity7": "Parity-7.0.0", 996 "parity7.0": "Parity-7.0.0", 997 "parity7.0.0": "Parity-7.0.0", 998 "pddl1": "PDDL-1.0", 999 "pddl1.0": "PDDL-1.0", 1000 "pddl1.0.0": "PDDL-1.0", 1001 "php3": "PHP-3.0", 1002 "php3.0": "PHP-3.0", 1003 "php3.0.0": "PHP-3.0", 1004 "php3.01": "PHP-3.01", 1005 "php3.01.0": "PHP-3.01", 1006 "plexus": "Plexus", 1007 "polyformnoncommercial1": "PolyForm-Noncommercial-1.0.0", 1008 "polyformnoncommercial1.0": "PolyForm-Noncommercial-1.0.0", 1009 "polyformnoncommercial1.0.0": "PolyForm-Noncommercial-1.0.0", 1010 "polyformsmallbusiness1": "PolyForm-Small-Business-1.0.0", 1011 "polyformsmallbusiness1.0": "PolyForm-Small-Business-1.0.0", 1012 "polyformsmallbusiness1.0.0": "PolyForm-Small-Business-1.0.0", 1013 "postgresql": "PostgreSQL", 1014 "psf2": "PSF-2.0", 1015 "psf2.0": "PSF-2.0", 1016 "psf2.0.0": "PSF-2.0", 1017 "psfrag": "psfrag", 1018 "psutils": "psutils", 1019 "python2": "Python-2.0", 1020 "python2.0": "Python-2.0", 1021 "python2.0.0": "Python-2.0", 1022 "python2.0.1": "Python-2.0.1", 1023 "qhull": "Qhull", 1024 "qpl1": "QPL-1.0", 1025 "qpl1.0": "QPL-1.0", 1026 "qpl1.0.0": "QPL-1.0", 1027 "qpl1.0.0inria2004": "QPL-1.0-INRIA-2004", 1028 "qpl1.0inria2004": "QPL-1.0-INRIA-2004", 1029 "qpl1inria2004": "QPL-1.0-INRIA-2004", 1030 "rdisc": "Rdisc", 1031 "rhecos1": "RHeCos-1.1", 1032 "rhecos1.1": "RHeCos-1.1", 1033 "rhecos1.1.0": "RHeCos-1.1", 1034 "rpl1": "RPL-1.1", 1035 "rpl1.1": "RPL-1.1", 1036 "rpl1.1.0": "RPL-1.1", 1037 "rpl1.5": "RPL-1.5", 1038 "rpl1.5.0": "RPL-1.5", 1039 "rpsl1": "RPSL-1.0", 1040 "rpsl1.0": "RPSL-1.0", 1041 "rpsl1.0.0": "RPSL-1.0", 1042 "rsamd": "RSA-MD", 1043 "rscpl": "RSCPL", 1044 "ruby": "Ruby", 1045 "saxpath": "Saxpath", 1046 "saxpd": "SAX-PD", 1047 "scea": "SCEA", 1048 "schemereport": "SchemeReport", 1049 "sendmail": "Sendmail", 1050 "sendmail8": "Sendmail-8.23", 1051 "sendmail8.23": "Sendmail-8.23", 1052 "sendmail8.23.0": "Sendmail-8.23", 1053 "sgib1": "SGI-B-1.0", 1054 "sgib1.0": "SGI-B-1.0", 1055 "sgib1.0.0": "SGI-B-1.0", 1056 "sgib1.1": "SGI-B-1.1", 1057 "sgib1.1.0": "SGI-B-1.1", 1058 "sgib2": "SGI-B-2.0", 1059 "sgib2.0": "SGI-B-2.0", 1060 "sgib2.0.0": "SGI-B-2.0", 1061 "shl0.5": "SHL-0.5", 1062 "shl0.5.0": "SHL-0.5", 1063 "shl0.51": "SHL-0.51", 1064 "shl0.51.0": "SHL-0.51", 1065 "simpl2": "SimPL-2.0", 1066 "simpl2.0": "SimPL-2.0", 1067 "simpl2.0.0": "SimPL-2.0", 1068 "sissl": "SISSL", 1069 "sissl1": "SISSL-1.2", 1070 "sissl1.2": "SISSL-1.2", 1071 "sissl1.2.0": "SISSL-1.2", 1072 "sleepycat": "Sleepycat", 1073 "smlnj": "SMLNJ", 1074 "smppl": "SMPPL", 1075 "snia": "SNIA", 1076 "snprintf": "snprintf", 1077 "spencer86": "Spencer-86", 1078 "spencer86.0": "Spencer-86", 1079 "spencer86.0.0": "Spencer-86", 1080 "spencer94": "Spencer-94", 1081 "spencer94.0": "Spencer-94", 1082 "spencer94.0.0": "Spencer-94", 1083 "spencer99": "Spencer-99", 1084 "spencer99.0": "Spencer-99", 1085 "spencer99.0.0": "Spencer-99", 1086 "spl1": "SPL-1.0", 1087 "spl1.0": "SPL-1.0", 1088 "spl1.0.0": "SPL-1.0", 1089 "sshopenssh": "SSH-OpenSSH", 1090 "sshshort": "SSH-short", 1091 "sspl1": "SSPL-1.0", 1092 "sspl1.0": "SSPL-1.0", 1093 "sspl1.0.0": "SSPL-1.0", 1094 "standardmlnj": "SMLNJ", 1095 "sugarcrm1": "SugarCRM-1.1.3", 1096 "sugarcrm1.1": "SugarCRM-1.1.3", 1097 "sugarcrm1.1.3": "SugarCRM-1.1.3", 1098 "sunpro": "SunPro", 1099 "swl": "SWL", 1100 "symlinks": "Symlinks", 1101 "taprohl1": "TAPR-OHL-1.0", 1102 "taprohl1.0": "TAPR-OHL-1.0", 1103 "taprohl1.0.0": "TAPR-OHL-1.0", 1104 "tcl": "TCL", 1105 "tcpwrappers": "TCP-wrappers", 1106 "tmate": "TMate", 1107 "torque1": "TORQUE-1.1", 1108 "torque1.1": "TORQUE-1.1", 1109 "torque1.1.0": "TORQUE-1.1", 1110 "tosl": "TOSL", 1111 "tpdl": "TPDL", 1112 "tpl1": "TPL-1.0", 1113 "tpl1.0": "TPL-1.0", 1114 "tpl1.0.0": "TPL-1.0", 1115 "ttwl": "TTWL", 1116 "tuberlin1": "TU-Berlin-1.0", 1117 "tuberlin1.0": "TU-Berlin-1.0", 1118 "tuberlin1.0.0": "TU-Berlin-1.0", 1119 "tuberlin2": "TU-Berlin-2.0", 1120 "tuberlin2.0": "TU-Berlin-2.0", 1121 "tuberlin2.0.0": "TU-Berlin-2.0", 1122 "ucar": "UCAR", 1123 "ucl1": "UCL-1.0", 1124 "ucl1.0": "UCL-1.0", 1125 "ucl1.0.0": "UCL-1.0", 1126 "unicodedfs2015": "Unicode-DFS-2015", 1127 "unicodedfs2015.0": "Unicode-DFS-2015", 1128 "unicodedfs2015.0.0": "Unicode-DFS-2015", 1129 "unicodedfs2016": "Unicode-DFS-2016", 1130 "unicodedfs2016.0": "Unicode-DFS-2016", 1131 "unicodedfs2016.0.0": "Unicode-DFS-2016", 1132 "unicodetou": "Unicode-TOU", 1133 "unlicense": "Unlicense", 1134 "upl1": "UPL-1.0", 1135 "upl1.0": "UPL-1.0", 1136 "upl1.0.0": "UPL-1.0", 1137 "vim": "Vim", 1138 "vostrom": "VOSTROM", 1139 "vsl1": "VSL-1.0", 1140 "vsl1.0": "VSL-1.0", 1141 "vsl1.0.0": "VSL-1.0", 1142 "w3.0.0c": "W3C", 1143 "w3.0.0c19980720": "W3C-19980720", 1144 "w3.0.0c20150513": "W3C-20150513", 1145 "w3.0.0m": "w3m", 1146 "w3.0c": "W3C", 1147 "w3.0c19980720": "W3C-19980720", 1148 "w3.0c20150513": "W3C-20150513", 1149 "w3.0m": "w3m", 1150 "w3c": "W3C", 1151 "w3c19980720": "W3C-19980720", 1152 "w3c20150513": "W3C-20150513", 1153 "w3m": "w3m", 1154 "watcom1": "Watcom-1.0", 1155 "watcom1.0": "Watcom-1.0", 1156 "watcom1.0.0": "Watcom-1.0", 1157 "wsuipa": "Wsuipa", 1158 "wtfpl": "WTFPL", 1159 "wxwindows": "wxWindows", 1160 "x11": "X11", 1161 "x11.0": "X11", 1162 "x11.0.0": "X11", 1163 "x11.0.0distributemodificationsvariant": "X11-distribute-modifications-variant", 1164 "x11.0distributemodificationsvariant": "X11-distribute-modifications-variant", 1165 "x11distributemodificationsvariant": "X11-distribute-modifications-variant", 1166 "xerox": "Xerox", 1167 "xfree861": "XFree86-1.1", 1168 "xfree861.1": "XFree86-1.1", 1169 "xfree861.1.0": "XFree86-1.1", 1170 "xinetd": "xinetd", 1171 "xlock": "xlock", 1172 "xnet": "Xnet", 1173 "xpp": "xpp", 1174 "xskat": "XSkat", 1175 "ypl1": "YPL-1.0", 1176 "ypl1.0": "YPL-1.0", 1177 "ypl1.0.0": "YPL-1.0", 1178 "ypl1.1": "YPL-1.1", 1179 "ypl1.1.0": "YPL-1.1", 1180 "zed": "Zed", 1181 "zend2": "Zend-2.0", 1182 "zend2.0": "Zend-2.0", 1183 "zend2.0.0": "Zend-2.0", 1184 "zimbra1": "Zimbra-1.3", 1185 "zimbra1.3": "Zimbra-1.3", 1186 "zimbra1.3.0": "Zimbra-1.3", 1187 "zimbra1.4": "Zimbra-1.4", 1188 "zimbra1.4.0": "Zimbra-1.4", 1189 "zlib": "Zlib", 1190 "zlibacknowledgement": "zlib-acknowledgement", 1191 "zpl1": "ZPL-1.1", 1192 "zpl1.1": "ZPL-1.1", 1193 "zpl1.1.0": "ZPL-1.1", 1194 "zpl2": "ZPL-2.0", 1195 "zpl2.0": "ZPL-2.0", 1196 "zpl2.0.0": "ZPL-2.0", 1197 "zpl2.1": "ZPL-2.1", 1198 "zpl2.1.0": "ZPL-2.1", 1199 }, 1200 }, 1201 } 1202 for _, tt := range tests { 1203 t.Run(tt.fixture, func(t *testing.T) { 1204 f, err := os.Open(tt.fixture) 1205 require.NoError(t, err) 1206 1207 var list LicenseList 1208 require.NoError(t, json.NewDecoder(f).Decode(&list)) 1209 1210 d := cmp.Diff(tt.want, processSPDXLicense(list)) 1211 if d != "" { 1212 t.Log("differing license list:\n" + d) 1213 t.Fail() 1214 } 1215 }) 1216 } 1217 }