On Thu, Nov 29, 2012 at 2:05 PM, Ludovic Courtès <[email protected]> wrote:
> More importantly, licensing is not a science, and we can’t pretend to > devise a universal “license calculus”. (This has been discussed at > length in the past on nix-dev.) > > Thus, I would start with a simple (guix licenses) module. I would > perhaps even omit the <license> type, and use just plain strings to > start with. > > WDYT? Unsolicited advice incoming.. Licenses are a huge pain when you get into all the custom ones out there. This has also been discussed at length on arch-dev years ago. IIRC ArchLinux uses an array of strings for each package, and then when you build the package you get warnings about licenses that are unique/new. You then add the LICENSE file to the package so the warning goes away, and it gets placed in a common licenses directory. I don't quite remember the mechanics of how it checked this, and I'm sure it's changed by now. I think the important part here is if you use strings, have some way to check if someone is building a package with a new/undocumented license. Then the graph of license objects could be accomplished later, if you know you don't have misspellings like "LGLPv2" and stuff like it polluting the graph. // jeff
