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