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
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.