#35 How to get 'Uses not-allowed license'?
Closed by msuchy. Opened by omejzlik.

Hi, I have tested this tool on this list of spdx licenses https://spdx.org/licenses/
and I either get a long error ending with "Not a valid license string" or "Approved license".
I never got "Uses not-allowed license."

I run the tool like this for each of the licenses: license-validate -v 'NLOD-1.0'
The error output looks like this:

license-validate -v ' NLOD-1.0'
No terminal matches 'N' in the current parser context, at line 1 col 2
 NLOD-1.0
 ^
Expected one of: 
    * __ANON_247
    * __ANON_264
    * OFFIS
    * __ANON_119
    * __ANON_363
    * __ANON_106
    * __ANON_62
    * CUBE
    * HASKELLREPORT
    * __ANON_318
    * __ANON_175
    * __ANON_91
    * __ANON_243
    * NLPL
    * CLARTISTIC
    * __ANON_87
    * __ANON_144
    * __ANON_274
    * APAFML
    * __ANON_295
    * __ANON_68
    * __ANON_55
    * IMATIX
    * __ANON_96
    * __ANON_3
    * __ANON_210
    * PSFRAG
    * __ANON_102
    * __ANON_218
    * LATEX2E
    * __ANON_170
    * IMAGEMAGICK
    * __ANON_237
    * SWRULE
    * DIFFMARK
    * __ANON_27
    * __ANON_329
    * __ANON_201
    * __ANON_185
    * __ANON_220
    * __ANON_139
    * __ANON_193
    * __ANON_6
    * __ANON_22
    * __ANON_292
    * SAXPATH
    * __ANON_184
    * __ANON_147
    * __ANON_222
    * __ANON_132
    * __ANON_196
    * __ANON_388
    * AFMPARSE
    * __ANON_391
    * __ANON_163
    * __ANON_122
    * DSDP
    * __ANON_161
    * RUBY
    * __ANON_297
    * __ANON_403
    * __ANON_396
    * __ANON_158
    * AAL
    * BARR
    * __ANON_104
    * __ANON_305
    * __ANON_39
    * __ANON_17
    * SYMLINKS
    * FTL
    * __ANON_52
    * __ANON_129
    * __ANON_33
    * __ANON_347
    * __ANON_164
    * POSTGRESQL
    * __ANON_206
    * __ANON_153
    * __ANON_88
    * __ANON_189
    * __ANON_202
    * __ANON_174
    * __ANON_307
    * __ANON_40
    * __ANON_195
    * __ANON_108
    * __ANON_44
    * __ANON_407
    * __ANON_10
    * TMATE
    * __ANON_306
    * __ANON_213
    * __ANON_293
    * AML
    * __ANON_374
    * __ANON_341
    * __ANON_150
    * XFIG
    * ZEEFF
    * __ANON_95
    * __ANON_283
    * __ANON_1
    * __ANON_246
    * __ANON_332
    * __ANON_327
    * MINPACK
    * __ANON_205
    * __ANON_404
    * __ANON_368
    * __ANON_148
    * __ANON_333
    * __ANON_183
    * __ANON_411
    * SOUNDEX
    * __ANON_230
    * __ANON_233
    * __ANON_289
    * XINETD
    * __ANON_398
    * __ANON_169
    * EUROSYM
    * __ANON_60
    * NEWSLETR
    * __ANON_36
    * __ANON_208
    * __ANON_386
    * __ANON_226
    * __ANON_261
    * __ANON_232
    * __ANON_94
    * TCL
    * __ANON_204
    * X11
    * __ANON_107
    * __ANON_409
    * __ANON_203
    * __ANON_165
    * __ANON_343
    * GLIDE
    * __ANON_168
    * CURL
    * ZED
    * __ANON_48
    * OPENVISION
    * __ANON_179
    * __ANON_380
    * GL2PS
    * NOWEB
    * GIFTWARE
    * __ANON_176
    * __ANON_317
    * OML
    * __ANON_397
    * __ANON_141
    * __ANON_212
    * GNUPLOT
    * __ANON_284
    * SOFTSURFER
    * MMIXWARE
    * __ANON_26
    * LPAR
    * __ANON_346
    * MIT
    * __ANON_263
    * FSFULLR
    * __ANON_5
    * __ANON_275
    * __ANON_321
    * __ANON_379
    * __ANON_234
    * __ANON_389
    * LEPTONICA
    * __ANON_157
    * TTWL
    * GTKBOOK
    * __ANON_351
    * METAMAIL
    * __ANON_228
    * __ANON_114
    * __ANON_308
    * PLEXUS
    * __ANON_66
    * __ANON_253
    * __ANON_11
    * __ANON_4
    * __ANON_121
    * __ANON_71
    * __ANON_265
    * __ANON_277
    * __ANON_242
    * __ANON_310
    * __ANON_49
    * SLEEPYCAT
    * IMLIB2
    * __ANON_162
    * __ANON_260
    * __ANON_116
    * __ANON_133
    * MIROS
    * __ANON_35
    * __ANON_255
    * __ANON_53
    * __ANON_2
    * W3C
    * ENTESSA
    * BEERWARE
    * __ANON_51
    * KAZLIB
    * FAIR
    * __ANON_311
    * __ANON_304
    * __ANON_412
    * __ANON_319
    * PNMSTITCH
    * __ANON_291
    * __ANON_353
    * __ANON_143
    * __ANON_223
    * __ANON_387
    * __ANON_160
    * __ANON_74
    * __ANON_191
    * __ANON_20
    * CFITSIO
    * __ANON_58
    * __ANON_312
    * __ANON_239
    * UCAR
    * __ANON_152
    * __ANON_371
    * __ANON_127
    * __ANON_399
    * __ANON_258
    * __ANON_340
    * __ANON_322
    * __ANON_338
    * __ANON_181
    * VOSTROM
    * __ANON_350
    * LIBTIFF
    * __ANON_381
    * XPP
    * SUNPRO
    * __ANON_9
    * LSOF
    * __ANON_359
    * __ANON_140
    * __ANON_326
    * BLESSING
    * __ANON_16
    * __ANON_42
    * __ANON_8
    * __ANON_25
    * __ANON_177
    * __ANON_272
    * __ANON_86
    * __ANON_360
    * __ANON_257
    * __ANON_136
    * __ANON_103
    * EGENIX
    * __ANON_408
    * __ANON_375
    * __ANON_356
    * __ANON_225
    * __ANON_199
    * BORCEUX
    * __ANON_43
    * __ANON_182
    * __ANON_249
    * ABSTYLES
    * __ANON_80
    * SL
    * __ANON_383
    * __ANON_14
    * GLULXE
    * __ANON_190
    * __ANON_224
    * __ANON_401
    * __ANON_324
    * __ANON_90
    * __ANON_146
    * __ANON_334
    * __ANON_361
    * __ANON_46
    * __ANON_56
    * __ANON_342
    * __ANON_73
    * __ANON_135
    * __ANON_354
    * __ANON_167
    * __ANON_365
    * BAHYPH
    * __ANON_110
    * __ANON_316
    * __ANON_385
    * __ANON_83
    * __ANON_384
    * __ANON_392
    * __ANON_172
    * QHULL
    * __ANON_200
    * __ANON_281
    * HPND
    * __ANON_34
    * __ANON_109
    * __ANON_221
    * XSKAT
    * __ANON_124
    * MAILPRIO
    * TERMREADKEY
    * NTP
    * SGP4
    * __ANON_19
    * ARL
    * __ANON_13
    * __ANON_63
    * __ANON_309
    * __ANON_229
    * FSFUL
    * __ANON_394
    * ULEM
    * __ANON_402
    * WSUIPA
    * __ANON_171
    * __ANON_413
    * __ANON_37
    * __ANON_186
    * __ANON_279
    * __ANON_303
    * __ANON_259
    * __ANON_166
    * __ANON_302
    * __ANON_366
    * __ANON_339
    * __ANON_313
    * NOSL
    * __ANON_188
    * __ANON_72
    * __ANON_352
    * __ANON_21
    * HDPARM
    * __ANON_134
    * CHECKMK
    * __ANON_101
    * __ANON_219
    * SWL
    * __ANON_30
    * __ANON_15
    * __ANON_378
    * __ANON_128
    * __ANON_215
    * __ANON_296
    * __ANON_236
    * AMDPLPA
    * __ANON_250
    * __ANON_320
    * __ANON_410
    * __ANON_349
    * __ANON_118
    * __ANON_197
    * CRYSTALSTACKER
    * UNLICENSE
    * MUP
    * __ANON_227
    * __ANON_192
    * __ANON_254
    * __ANON_211
    * SCEA
    * __ANON_240
    * __ANON_159
    * THREEPARTTABLE
    * __ANON_23
    * __ANON_285
    * __ANON_331
    * __ANON_137
    * __ANON_24
    * __ANON_69
    * FSFULLRWD
    * __ANON_149
    * __ANON_282
    * SPRINTF
    * FBM
    * __ANON_173
    * DOTSEQN
    * __ANON_70
    * __ANON_278
    * __ANON_93
    * RDISC
    * __ANON_390
    * __ANON_382
    * __ANON_155
    * __ANON_151
    * __ANON_79
    * __ANON_115
    * __ANON_89
    * __ANON_180
    * __ANON_57
    * __ANON_400
    * __ANON_54
    * __ANON_198
    * __ANON_323
    * __ANON_216
    * NCSA
    * __ANON_113
    * IPA
    * __ANON_156
    * __ANON_112
    * __ANON_362
    * __ANON_194
    * FWLW
    * SISSL
    * __ANON_300
    * __ANON_301
    * MPICH2
    * __ANON_105
    * __ANON_358
    * __ANON_47
    * __ANON_45
    * __ANON_276
    * __ANON_270
    * __ANON_298
    * __ANON_0
    * FREEIMAGE
    * __ANON_76
    * NAUMEN
    * __ANON_376
    * __ANON_59
    * __ANON_231
    * __ANON_252
    * AMPAS
    * __ANON_81
    * __ANON_214
    * __ANON_372
    * __ANON_38
    * __ANON_142
    * __ANON_406
    * EUDATAGRID
    * __ANON_100
    * __ANON_314
    * __ANON_187
    * __ANON_111
    * __ANON_271
    * LOOP
    * __ANON_235
    * __ANON_336
    * __ANON_348
    * __ANON_84
    * __ANON_130
    * __ANON_268
    * __ANON_138
    * __ANON_315
    * __ANON_256
    * __ANON_345
    * MITNFA
    * MAKEINDEX
    * __ANON_294
    * __ANON_99
    * ZLIB
    * PSUTILS
    * __ANON_18
    * MTLL
    * __ANON_97
    * __ANON_370
    * __ANON_209
    * NGPL
    * OPENSSL
    * NRL
    * __ANON_131
    * ICU
    * __ANON_75
    * __ANON_120
    * __ANON_262
    * __ANON_64
    * MOTOSOTO
    * __ANON_28
    * __ANON_377
    * __ANON_337
    * XEROX
    * __ANON_126
    * __ANON_251
    * __ANON_393
    * IJG
    * PIXAR
    * __ANON_117
    * __ANON_77
    * SNPRINTF
    * XLOCK
    * __ANON_50
    * MAGAZ
    * SMLNJ
    * __ANON_82
    * __ANON_280
    * __ANON_41
    * __ANON_273
    * __ANON_367
    * __ANON_369
    * __ANON_12
    * __ANON_328
    * __ANON_31
    * DOC
    * __ANON_288
    * __ANON_245
    * __ANON_325
    * __ANON_244
    * __ANON_217
    * __ANON_287
    * DTOA
    * __ANON_269
    * __ANON_98
    * __ANON_286
    * __ANON_238
    * UNIXCRYPT
    * VIM
    * __ANON_405
    * CROSSWORD
    * WTFPL
    * __ANON_373
    * LLGPL
    * __ANON_207
    * __ANON_299
    * __ANON_7
    * __ANON_61
    * __ANON_344
    * TPDL
    * EPICS
    * KASTRUP
    * __ANON_154
    * __ANON_355
    * __ANON_123
    * __ANON_395
    * __ANON_290
    * MPLUS
    * CRONYX
    * __ANON_357
    * DVIPDFM
    * __ANON_267
    * __ANON_364
    * __ANON_92
    * __ANON_266
    * RADVD
    * __ANON_178
    * SNIA
    * __ANON_65
    * __ANON_335
    * __ANON_248
    * __ANON_145
    * __ANON_241
    * FSFAP
    * BAEKMUK
    * __ANON_67
    * __ANON_125
    * TOSL
    * TTYP0
    * __ANON_29
    * __ANON_85
    * ADSL
    * __ANON_32
    * __ANON_330
    * ISC
    * __ANON_78
    * NOKIA
Not a valid license string

Is this behavior correct?
What do I have to do to get 'Uses not-allowed license'?

Thank you.


It is expected behaivour. Although the verbose message can be more user-friendly, but I do not know how to do it.
Nevertheless, the culprit is that license-validate uses only Fedora data. I.e. data from fedora-license-data package. And NLOD-1.0 is not there. Neither as allowed, nor as not-allowed. See https://docs.fedoraproject.org/en-US/legal/not-allowed-licenses/
If you try:

$ license-validate -v Watcom-1.0
Warning: Watcom-1.0 is not-allowed license
Uses not-allowed license.

This works for you?
It does not for me:

$ license-validate -v Watcom-1.0
No terminal matches 'W' in the current parser context, at line 1 col 1
Watcom-1.0
^
Expected one of: 
    * ABSTYLES
    * X11
    * XSKAT
    * HDPARM
    * __ANON_246
    * __ANON_371
    * __ANON_279
    * __ANON_318
    * __ANON_100
    * __ANON_280
    * VIM
...
Not a valid license string

I have this version of license-validate-20-1.fc39.noarch
That I installed from:

license-validate-20-1.fc39.noarch : Validate SPEC license string
Repo        : fedora
Matched from:
Provide    : license-validate = 20-1.fc39

It looks like 22.1 has been released.
Do you have any idea why it is not in the official fedora repos?

This feature is in license-validate-21-1
New version are built to rawhide. This version will be in F40 https://bodhi.fedoraproject.org/updates/?search=license-validate
I think the new feature justify rebase in old Fedoras.

That would be nice.

This is in stable. Closing.

Metadata Update from @msuchy:
- Issue status updated to: Closed (was: Open)

This issue has been migrated to GitHub: https://github.com/fedora-copr/license-validate/issues/35
Don't forget to subscribe for notifications about new comments.

Metadata