7,294 karma · joined April 23, 2014
The big logical issue is that QKD requires a classically-authenticated channel, so you either need a post-quantum signature scheme (at which point why bother with QKD since you can usually use the same computational hardness assumptions to construct a post-quantum key exchange scheme & use AES-GCM or ChaCha20-Poly1305), or you need pre-shared symmetric key material & a Wegman-Carter MAC a la Poly1305 (at which point why bother since you can just use AES-GCM or ChaCha20-Poly1305).
GPL software requires preserving them transitively and requires derivative works using the licensed software as a component to provide them.
MPL requires preserving them transitively.
BSD/Apache/MIT don't require preserving them, but still require the resulting software to include the original license & attribution. In the case of a closed-source program distributing (say) MIT-licensed software with proprietary modifications, the resulting binary is still released partly under the MIT license & includes the MIT license text, but doesn't include the source code.
[1] https://docs.astral.sh/uv/reference/storage/#executable-dire...
Gravitational bias is a really fun one since you can easily demonstrate it & its' not immediately obvious. Take a quartz oscillator, and a reference oscillator. Measure the frequency of both. Turn the quartz oscillator on its side. The phase (and usually also frequency) will change: the physical quartz has inertia & gravitational mass, so changing its orientation changes how it oscillates. In one orientation the movement of the quartz atoms is perpendicular to the force of gravity, so both directions of oscillation are biased the same amount. In another orientation one the movement of the quartz atoms is parallel to the force of gravity, so the part of the crystal moving down accelerates a bit more than the part of the crystal moving up.
E.g. 3.2026-05-01FS for a first release of the day with a new feature & security fix to release series 3, 2.2026-05-01S backporting the security fix to release series 2 (LTS, say), 3.2026-05-02 for a "bug fixes & performance improvements" release, 3.2026-05-02S.1 for a security fix to the "bug fixes & performance improvements" release.
Like SemVer, this lets users know when there are breaking changes to an API or such, which releases contain security fixes, which releases have new features, and allows multiple simultaneous release versions for LTS support. Like CalVer it lets users know how recent a release is, and makes it pretty easy to figure out what the release schedule was historically (and likely still is) by comparing versions.
[1] https://www.science.org/content/blog-post/things-i-won-t-tou...