On Wed, Mar 18, 2009 at 05:33:12PM -0400, Chuck Anderson wrote:
On Wed, Mar 18, 2009 at 04:44:10PM -0400, David Malcolm wrote:
> Thinking aloud, a couple of other approaches:
> (i) Embed the SHA256 checksum of each license into the path e.g.:
>
/usr/share/common-licenses/32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670/COPYING
> then have each file's identical implementation of those bytes overwrite
> each other, and you might have many packages owning that path on the
> installed system. Slight modifications thus lead to different paths.
>
> That way you still have duplicates in the .rpm files, but an installed
> system has just one copy of each, and each rpm does indeed ship the
> precise license it's required to.
>
> I suspect that the arguments from crypto and from the legal side will
> "pass through one another like angry ghosts", though (and legal thus
> wins).
>
> (ii) Compress the licenses?
How much disk space do all the separate license files currently take?
My guess is that it is just not going to be worth dealing with
compressing, hardlinking, or sharing copies of identical files with
multiple packages, because the saved disk space will be minimal.
On my installed F10 desktop system here are the sizes of all installed
license files (%doc matching licen|copy|gpl|bsd) combined:
$ echo `rpm -qad | grep -Ei 'licen|copy|gpl|bsd' | xargs stat -c %s` | sed
-e's/ /+/g' | bc
16920051
17 megabytes. Not worth the effort to save space here.
You're quick to declare that without really thinking about it. I agree
that on a typical desktop setup, 17MiB is pretty insignificant. However
for projects like OLPC, which is a downstream user of Fedora, 17MiB can
be quite a space hit for simple text files.
Now, OLPC has other ways of dealing with this at the moment, but at
some point they won't.
josh