In implementing the SPDX 2.0 model, I found a minor inconsistency.  Although
I would like to address this for SPDX 2.0, I am concerned it may cause a
delay.  Perhaps we could discuss on Tuesday's call.

 

Here's the issue:

 

In the model, SpdxFile is a subclass of SpdxItem.  SpdxItem has a
licenseDeclared property.  SpdxFile has a licenseInfoInFile property.
licenseInfoInFile is a subproperty of licenseDeclared.

 

So far, so good.

 

The problem is that the range (or type, if you happen to be writing Java
code) for licenseDeclared and licenseInfoInFile is different.
licenseDeclared is AnyLicenseInfo and licenseInfoInFile is one or more
SimpleLicenseingInfo.  This creates an inconsistency which I believe
actually reflects itself in the spec.  It would be more consistent if the
range of licenseInfoInFile were AnyLicenseInfo.

 

Below are some options I can think of:

1.       Leave it as is and live with the inconsistency for SPDX 2.0.
Document it as a bug.

2.       Change the range for licenseInfoInFile to be an AnyLicenseInfo.
This would create an incompatibility with the previous versions in that only
one licenseInfoInFile would be allowed.

3.       Change the model to remove declaredLicense from SpdxItem and move
it to all of it's subclasses.

 

I'm OK with #1 or #2 - I don't like 3 since I believe the intent of the
SpdxItem is to represent a copyrightable item which should have a
licenseDeclared property.

 

For now, I am going to implement option 1 by allowing multiple
licenseInfoInFile, but I will immediately convert it to a single
DisjunctiveLicenseSet for forward compatibility if we go with option 2 in
the future.

 

Gary

 

-------------------------------------------------

Gary O'Neall

Principal Consultant

Source Auditor Inc.

Mobile: 408.805.0586

Email:  <mailto:g...@sourceauditor.com> g...@sourceauditor.com

 

_______________________________________________
Spdx-tech mailing list
Spdx-tech@lists.spdx.org
https://lists.spdx.org/mailman/listinfo/spdx-tech

Reply via email to