From 56ff01074f151448767522ae09ec17d982d94985 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Thu, 27 Aug 2026 17:30:59 +0200 Subject: [PATCH] =?UTF-8?q?docs(cargo):=20correct=20the=20licence=20note?= =?UTF-8?q?=20=E2=80=94=20kellnr=20does=20not=20require=20one?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The note claimed `cargo publish` rejects a crate without `license`. That is true only for crates.io; publishing to an alternative registry does not check it, verified by a dry run against kellnr that packages and verifies cleanly. Staying unlicensed is a deliberate choice, so the note now says that and states the actual consequence — all-rights-reserved by default — rather than a mechanical blocker that does not exist. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01T5SYDExxL4vZgvunrcNSMc --- Cargo.toml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cca3b40..2c8ed83 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,10 +13,17 @@ publish = ["kellnr"] readme = "README.md" keywords = ["trueskill", "rating", "bayesian", "elo", "skill"] categories = ["algorithms", "science", "game-development"] -# TODO: pick a licence before publishing. `cargo publish` rejects a crate -# without `license` (or `license-file`), and without one the source carries no -# stated terms. The Rust convention is `license = "MIT OR Apache-2.0"` plus the -# matching LICENSE-MIT / LICENSE-APACHE files. +# Deliberately unlicensed for now — not an oversight. +# +# Correcting what this note used to claim: `cargo publish` does NOT reject a +# crate without `license`/`license-file` when the target is an alternative +# registry. Only crates.io enforces it. Verified by `cargo publish --dry-run` +# against kellnr, which packages and verifies cleanly as-is. +# +# The consequence is legal, not mechanical: with no stated terms the source is +# all-rights-reserved by default. The Rust convention when one is wanted is +# `license = "MIT OR Apache-2.0"` plus matching LICENSE-MIT / LICENSE-APACHE +# files. # `examples/atp.csv` is a 48 MB tennis dataset — 99% of the packaged crate, # for a library whose source is 312 KB. `examples/atp.rs` opens it by # relative path at runtime, so excluding the data still compiles; the