Callaway-to-SPDX migration for existing packages
In July 2022 Fedora adopted the use of SPDX license expressions in place of the legacy Callaway system for purposes of license approval classifications and populating spec file License: tags. As of early 2025, the migration from Callaway to SPDX was characterized by one member of the Fedora Legal team as 99.60% complete.
By this stage, certain Callaway short names have been bulk-converted to SPDX
identifiers where there was adequate confidence that the Callaway name and the
SPDX identifier probably referenced the same underlying operative license text
("same", that is, in an SPDX-specific sense). Remaining Callaway short names in
License: tags, often involving "umbrella" Callaway short names that cover
multiple licenses that are represented with distinct identifiers in SPDX (for
example, "BSD"), have generally been crudely converted to valid SPDX format by
prefixing them with LicenseRef-Callaway-
(for example, Callaway "BSD" becomes
LicenseRef-Callaway-BSD
). It should be noted that these
LicenseRef-Callaway-
expressions are not present in Fedora License Data as
valid licenses (allowed or otherwise). They are a temporary solution, for eventual
replacement with SPDX license expressions corresponding to TOML files in the Fedora License Data
repository.
Apart from replacement of LicenseRef-Callaway-
License: tags, much ongoing
work will be needed to improve the accuracy of existing SPDX-format License: tags,
along with continuing review and classification of newly-encountered licenses.
Changelog entry
Package maintainers whose packages still need to migrate License: tags to SPDX should
add the following line to the spec file %changelog
section:
- migrated to SPDX license
or something similar using "spdx" in the changelog entry. This will help the Fedora legal team audit packages.
Updating Callaway umbrella names
The SPDX License List has an established set of matching guidelines that define what constitutes a match to a license or exception on the SPDX License List. This ensures that SPDX license identifiers mean the same thing wherever they are used and takes a somewhat conservative approach as to what is substantively different. Each identifier for a license or an exception on the SPDX License List represents a single template text for that license or exception.
As noted above, some Callaway short names are umbrella categories referring to
a set of substantively different license texts that were treated as equivalent for Fedora
package metadata purposes. It follows that these Callaway names may correspond to multiple
(existing or future) SPDX identifiers. Review of the actual operative package license texts
will, of course, be necessary to determine what SPDX
identifier (or Fedora-recognized LicenseRef-
expression) applies. In some cases, new licenses will need to undergo license review for inclusion in Fedora
License Data.
LicenseRef-Callaway-MIT
In the Callaway system, "MIT" was used to refer to a large number of short permissive licenses having some loose textual similarity or tenuous historical connection to the SPDX MIT
license (the license that, today, most people mean when they refer to "the MIT license"), and which did not resemble licenses in the historical BSD family.
The SPDX License List contains not only MIT
but many other licenses that Callaway "MIT" covered, or was
intended to cover.
LicenseRef-Callaway-BSD
In the Callaway system, "BSD" was used to refer to a large number of short permissive licenses bearing some textual similarity or historical connection to licenses in the BSD family.
Many of the licenses in the BSD family are included in the SPDX License List, including two of the most
commonly encountered BSD-family licenses, BSD-3-Clause
and BSD-2-Clause
. Note that BSD
itself is
not an SPDX license identifier.
with-exceptions
In the Callaway system, the phrase "with exceptions" was sometimes affixed to GPL-family short names. This was normally meant to indicate that the relevant GPL-family license was coupled with a permissive exception or additional permission, though there were some historical examples of use of "with exceptions" to refer to additional restrictive terms.
SPDX has an exception list covering some of the more commonly-encountered license exceptions or additional permissions, including many of the exceptions traditionally used with GPL-family licenses. However, it is likely that new exceptions will need to be proposed to SPDX upon review of Fedora packages that historically used the "with exceptions" Callaway sub-label.
LicenseRef-Callaway-LGPLv2
and LicenseRef-Callaway-LGPLv2+
The Callaway system deliberately did not distinguish between LGPLv2 and
LGPLv2.1, using "LGPLv2" to represent both. SPDX has distinct identifiers for
these licenses, so LicenseRef-Callaway-LGPLv2
will likely correspond to one
or more of SPDX LGPL-2.0-only
and LGPL-2.1-only
, and
LicenseRef-Callaway-LGPLv2+
will likely correspond to one or more of
LGPL-2.0-or-later
and LGPL-2.1-or-later
.
LicenseRef-Callaway-Public-domain
In the Callaway system, "Public domain" was used for a few distinct purposes.
Bespoke public domain dedications
Callaway "Public domain" most commonly signified the presence
of a bespoke public domain dedication covering all or part of the
package. (By "bespoke", we mean that the instrument releasing material
into the public domain wasn’t a relatively standardized and elaborate
form having some of the characteristics of public domain dedications,
such as SPDX CC0-1.0
or Unlicense
.) The SPDX License List does not
have an identifier corresponding to this categorical public domain
dedication concept.
Fedora has adopted the umbrella identifier LicenseRef-Fedora-Public-Domain
to
represent bespoke public domain dedications. Note that these must be
reviewed and approved just like any other license. Currently we attempt
to store approved public domain dedications (those that qualify for
representation with LicenseRef-Fedora-Public-Domain
) in the file
public-domain-text.txt
in the Fedora License Data repository, although
we recognize there might be a more satisfactory approach. At this time
it does not seem likely that SPDX will itself adopt some sort of
comparable umbrella identifier.
Noncopyrightable material
In some packages, Callaway "Public domain" reflected a conclusion that
substantial parts of the package were not likely not copyrightable. This
is generally not recorded in the package, so the absence of any public
dedication statements coupled with LicenseRef-Callaway-Public-domain
may be a clue that historical "Public domain" was used for this
noncopyrightable subcategory.
In the post-Callaway SPDX system, we use the Fedora-defined license
expression LicenseRef-Not-Copyrightable
to cover such cases. However,
in spec file License: tags we only use LicenseRef-Not-Copyrightable
if
otherwise the License: tag would be empty. That is to say, we only use
LicenseRef-Not-Copyrightable
if that label would accurately cover the
entire contents of the binary RPM.
Works of U.S. government employees
Some uses of Callaway "Public domain" appear to have been based on the
assumption that code or content in a package was created by employees of
the U.S. federal (i.e., national) government.
In the United States, works of the federal government are not
protectable by copyright within the U.S. (see
17 U.S.C. § 105).
It is fairly clear that this statutory provision should not have any
copyright implications outside the U.S. Nonetheless, in FOSS legal
culture it has been commonly assumed for convenience that works that are
public domain in the U.S. under 17 U.S.C. § 105 are equivalently
unrestricted in other jurisdictions. There is a common-sense
basis for this assumption, but it implies that the conclusion for the
non-U.S. situation rests on there being an implicit public domain
dedication. For at least this reason, LicenseRef-Fedora-Public-Domain
is the
appropriate license expression in these cases rather than
LicenseRef-Not-Copyrightable
. In such cases, nothing would be added to
the public-domain-text.txt
file unless the package used some sort of
public domain dedication text.
LicenseRef-Callaway-Copyright-only
In the Callaway system "Copyright only" was typically, but inconsistently, used for very brief bespoke or nonstandard legacy licenses whose only explicit requirement was preservation of a copyright notice.
There is no single SPDX identifier corresponding to the typical use of Callaway "Copyright only". Some of the underlying package licenses associated with this label have been added to the SPDX License List, but it is expected that many more will be identified in Fedora license reviews. We currently do not think an umbrella identifier would be suitable to represent this category of licenses.
LicenseRef-Callaway-Freely-redistributable-without-restrictions
In the Callaway system, "Freely redistributable without restrictions" was apparently a relatively old name that was deprecated some years prior to the adoption of SPDX. While it may not have been used consistently, it seems to have most commonly been used to represent brief bespoke or nonstandard permission statements that imposed no requirements, but which did not take the form of public domain dedications.
In the post-Callaway system there is a custom identifier,
LicenseRef-Fedora-UltraPermissive
, which is intended to serve as an
umbrella representation for these kinds of permission statements.
There is no equivalent identifier in the SPDX License List that
corresponds to this category. We attempt to track specific permission
statements qualifying for LicenseRef-Fedora-UltraPermissive
in the
file UltraPermissive.txt
in the Fedora License Data repository.
LicenseRef-Callaway-Redistributable-no-modification-permitted
In the Callaway system, "Redistributable, no modification permitted" was mainly used to cover non-FOSS firmware licenses. Apparently there were also rare cases of non-firmware packages using this label in the License: tag.
Fedora now has a custom SPDX license expression,
LicenseRef-Fedora-Firmware
, which is intended to cover firmware
licenses that do not meet the requirements for allowed status but
which satisfy the relaxed criteria for allowed-firmware. License texts
are stored in the file firmware.txt
in the Fedora License Data
repository.
Non-FOSS firmware licenses likely would not meet the SPDX License Inclusion Guidelines, so there is no point in submitting them to SPDX.
Small category short names
Several Callaway short names are known to correspond to two or more SPDX
identifiers but it is possible that some of those identifiers are not
yet included in Fedora License Data.
Some of these Callaway short names are (in current LicenseRef-
wrapped
format):
-
LicenseRef-Callaway-MIT-with-advertising
-
LicenseRef-Callaway-BSD-with-advertising
-
LicenseRef-Callaway-MPLv1.0
-
LicenseRef-Callaway-MPLv1.1
-
LicenseRef-Callaway-CECILL
-
LicenseRef-Callaway-HSRL
-
LicenseRef-Callaway-Python
-
LicenseRef-Callaway-AFL
Want to help? Learn how to contribute to Fedora Docs ›