I do have a use case where being able to represent partial conclusions would be useful.
As a provider of audit services, I am often confronted with unclear documentation on licensing where there is some information present, but not enough documentation to confirm a specific license expression. In a majority of the situations, I can determine the specifics through related websites, contacting the author, or other methods. In some situations, however, determining the precise license entails a very high effort where determining the specifics will not change the actionable results of the audit. For example, if someone has a policy to not include any GPL in their shipping products and I find a GPL-Only or possibly a GPL+ license, I don't really need to determine which applies to notify the reader of the audit report there is a policy violation. Today, I can represent the situation in SPDX with a License-Ref containing the exact text and a license comment describing the ambiguity. It would, however, be much more convenient to the consumer of the SPDX document if I could express at a high level what the range of possible interpretations are. To use the GPL example, being able to describe 'GPL-Only OR-MAYBE GPL+' would make it clear to the reader, there is definitely something GPL here and, depending on the policy, this may not be allowed regardless of how the license version is concluded. Tools which look for license conflicts could also use this information to automatically flag issues (e.g. https://github.com/librariesio/license-compatibility). Is this worth changing the spec to cover this case? Possibly. In my audit scenario, all SPDX documents are accompanied by a written report which clearly expresses any issues. If there is any downstream consumers (human or tools) of the audit results which just use the SPDX document without the associated report, I would argue we should extend the spec to cover this case. If everyone who receives the SPDX document also read the associated report, there is not as much value. I am also quite sensitive to not making the spec any more complex. In gathering feedback on SPDX documents, the number one issue I've heard is the spec is just "too complex". If we want to pursue a solution to the above use case, I am in favor of the "OR-MAYBE" proposal (see https://lists.spdx.org/pipermail/spdx-legal/2017-September/002233.html for Trevor's original proposal). My only concern is that it could also be used in a declared license scenario where "OR-MAYBE" really shouldn't be used. IMHO, if you're the copyright owner declaring a license you should not be able to use a partial conclusion in your declaration. Perhaps we could make it illegal to use this operator for declared licenses. David - I'm curious if the "OR-MAYBE" proposal solves the issue you are raising as well. Gary > -----Original Message----- > From: spdx-legal-boun...@lists.spdx.org [mailto:spdx-legal- > boun...@lists.spdx.org] On Behalf Of W. Trevor King > Sent: Saturday, November 25, 2017 10:56 PM > To: Wheeler, David A <dwhee...@ida.org> > Cc: SPDX-legal <spdx-legal@lists.spdx.org> > Subject: Keep partial conclusions out of license expressions (was: update on > only/or later etc.) > > On Fri, Nov 24, 2017 at 09:33:23PM +0000, Wheeler, David A wrote: > > Many package managers use SPDX license expressions to indicate the > > package license. E.g., NPM does: > > https://docs.npmjs.com/files/package.json > > by using the "license:" field - which is *NOT* a SPDX license file. > > According to <http://modulecounts.com/>, *just* the NPM ecosystem has > > 550,951 modules as of Nov 24, with 535 new packages a day on average. > > I don't know what percentage of modules have a "license:" > > entry (is someone willing to find out?) - but for discussion, I'll > > guess it's at *least* 10%.. That would mean that there are 55,095 NPM > > packages that use SDPX license expressions. > > But how many of those authors would use a partial-conclusion syntax if it > existed? > > I expect most npm package authors are also core developers for the packaged > software and know the package license. They won't need to be able to express > a partial conclusion. > > Distibution-specific package managers, on the other hand, seem more likely to > be third parties who are not directly related to the development team. They are > more likely to need to express partial conclusions. Project developers who > inherit an ambiguously-licensed package from some previous authors would be > in the same boat. In those cases, ideally they'd track down the copyright holders > and get to the bottom of the licensing. In the absence of that, they'd want > some way to express their partial conclusions. > > I'm fine with the SPDX deciding that structured partial conclusions are out of > scope, and leaving it to packaging systems, etc. to define their own (e.g. an > array of SPDX license expressions with confidence scores). Folks who extract > license claims from those packages would have to write per-packaging-system > tooling to convert the partial conclusion into their own format, but that's ok. > And if it turns out to be a problem, anyone can try to talk folks into whatever > partial-conclusion model they prefer. > > I'm also fine with the SPDX defining it's own partial-conclusion model and > syntax, and trying to talk folks into using it where appropriate. > But I don't think the SPDX needs to take that up if it doesn't want to. > > Cheers, > Trevor > > -- > This email may be signed or encrypted with GnuPG (http://www.gnupg.org). > For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy _______________________________________________ Spdx-legal mailing list Spdx-legal@lists.spdx.org https://lists.spdx.org/mailman/listinfo/spdx-legal