No, license compatibility is generally transitive but does not quite form a partial order in the mathematical sense.
Viewing license compatibility as a partial order makes sense in the context of copyleft licenses like the GPL. These require that the software as a whole must be available as the same license. Thus, if we include compatibly-licensed software into a GPL-covered program, the entire program is effectively licensed under GPL. And any GPL software can also be used in an AGPL-covered program.
This view stops making sense with more permissive licenses. Here, the licenses do not impose any requirements on the program as a whole, but can freely provide permissions and impose conditions. The licensee will then effectively have the intersection of permissions, and the union of conditions to comply with.
As an abstract example, consider the following made-up licenses:
-
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, subject to the following condition:
This notice shall be included in all copies or substantial portions of the Software.
(X-Attribution, a made-up combination of 0BSD + MIT)
-
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, subject to the following condition:
If the software is modified, the modified version shall only be distributed (a) under any OSI-approved license, or (b) in a manner that doesn't prevent installation of the unmodified version.
(X-Compat, a made-up combination of 0BSD with a core feature of the Artistic License)
A software that combines software under these two licenses is licensed under neither of these alone, but under both in combination. The relicensing mechanism of X-Compat clause (a) cannot be used to switch to X-Attribution because X-Attribution is not OSI-approved. However, the licenses are clearly compatible: nothing prevents a licensee from complying with both license conditions.
So we might say that “X-Attribution is-compatible-with X-Compat” and “X-Compat is-compatible-with X-Attribution”, but the licenses are not equal. This violates the antisymmetric condition you propose.
I think it would be possible to find a practical example of this issue with more exotic permissive licenses, e.g. involving the Artistic License, Attribution Assurance License, or SIL Open Font License. But I haven't checked this in detail.
A more rigorous definition would consider that the compatibility relation should not consider compatibility between two “input” licenses, but possible changes to licensing that a covered software can undergo. Here, it would be more precise to say:
- X-Compat is-compatible-with (X-Compat AND X-Attribution)
- X-Attribution is-compatible-with (X-Compat AND X-Attribution)
In contrast, we can say for some licenses with explicit relicensing provisions there wouldn't be an AND operator on the right side:
- GPL-2.0+ is-compatible-with GPL-2.0
- GPL-2.0+ is-compatible-with GPL-3.0
- LGPL-3.0 is-compatible-with GPL-3.0
This post uses the AND
operator as defined in SPDX license expressions.