Allow SPDX license expression syntax in the License field.
The Software Package Data Exchange (https://spdx.org/) is a Linux
Foundation project with overlap with the Fedora license expression
syntax. Many projects are beginning to add SPDX-Identifier notation
to source files and use SPDX short names. Fedora spec files should
allow this in the License field as well.
Some limitations:
* Fedora packagers need to use either the Fedora syntax or the SPDX
syntax; they cannot mix the two.
* SPDX is more expressive with regard to GPL, LGPL, and BSD variants
which may require packagers to look at the code in detail again.
For license short names where we have combined all in to one short
name and SPDX breaks it out, we should cross reference the License
tag expression with the source if a packager changes to SPDX syntax.
* SPDX offers a list of license exceptions you can put in the
expression using the WITH keyword[1]. Fedora syntax tends to put
that as freeform in the License expression. Where there is an SPDX
identifier, that should be used.
* If a current Fedora license expression cannot be translated to SPDX,
it should remain using the Fedora syntax.
* "Redistributable" is not a valid SPDX identifier.
* "Public Domain" is not a valid SPDX identifier[2].
It would be nice to offer Fedora packagers the option of using SPDX
syntax or our existing syntax. The SPDX expressions are easier to
validate programatically too.
[1] https://spdx.org/licenses/exceptions-index.html
[2] https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files