I'll add a downstream-packaging data point from the Rust corpus, since
that's where a lot of the duplicated license text lives.

debcargo generates debian/copyright mechanically for the whole
rust-* archive. For Apache-2.0 it already emits a one-line reference
to /usr/share/common-licenses/Apache-2.0, so that case is already
compact. For MIT/Expat, which is the dominant crate license by a wide
margin, it inlines the full permission text into every package, because
MIT isn't in common-licenses. So across the Rust packages the bulk of the
repeated text is MIT, and this base-files round (AGPL-3.0, Artistic-2.0,
BSL-1.0, the CC variants, GFDL-1.1, OFL-1.1) doesn't reach it. I understand
the long-standing reason is that "MIT" names a family of variants rather
than one text, so I'm not suggesting it's a simple addition. I'm flagging
that the summary-or-reference mechanism mostly pays off for the Rust
archive once MIT/Expat has a canonical common-licenses entry, so it's
worth keeping that case in view as the mechanism gets standardized.

On the mechanism itself, I'd favor Daniel's Reference: direction over
free-form summary prose, for one practical reason. Whatever's chosen
has to be emitted correctly by tools like debcargo across thousands of
packages, and a machine-readable reference to a common-licenses path is
easy to generate and verify. It also sidesteps Jonas's concern, since a
reference reads clearly as a maintainer-side pointer rather than as an
upstream license grant.

-- 
Greg Lamberson
Lamco Development LLC

Reply via email to