Faré wrote:
OTOH, it's probably A Bad Thing if you depend on a system for something you are doing, and don't know what license it uses.
Well, we haven't codified any format for :license. I suppose we could adopt the nomenclature used by Debian. Except what in Lisp circles goes by the name "MIT" (as notably used by ASDF itself) in Debian-speak is called "Expat". Also, we don't have a story for multi-licensed code either. For instance, I have code under LLGPL or bugroff, or BSD or bugroff.
I didn't mean that we needed a codified format. I just meant that if you are using a system, and the humans involved don't know if your usage is legal (e.g., are you using pure GPL in a commercial application? are you delivering source for libraries when you deliver your code? etc.), that's a Bad Thing.
Given that :LICENSE is currently arbitrary string valued, we can just make a string that indicates multiple possible licenses.
We could certainly add some standard values (keywords?) for common licenses, and allow people to specify a list of such values (and an optional string), but I'm not sure what we would gain by this.
I don't yet see a use case for machine-introspection on the :license, but I'm open to suggestions.
But that's why I created a special class of CONDITION for this case -- so you can muffle it if you don't care. It would be nice if there was some way to detect the distinction between internal systems (fix them!) and external systems (muffle).
At ITA, we started with muffling the external systems, but quickly enough decided to fix them instead; code quality matters for libraries we depend on, too. But we did have a list of style-warnings to muffle and some of them were based on dependencies indeed.
For now a programmer could match the name of the system in my MISSING-METADATA condition, and use that to make his or her decision about muffling.
I'll push my topic branch today. It needs a test script, and I'd like to make it skip signaling on "slashy" subordinate systems, but I'd love comments in the meantime.
I pushed this as the QL-metadata-warning topic branch.
Best, r