Move additionalInformation to Element - #1267
Conversation
Currently, `/Core/Action` and `/Hardware/Hardware` have this property, but there is a need to have similar property in `/AI/AIPackage` too. So move it to Core and share it among classes. Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
|
@bennetkl @rgopikrishnan91 This will allow us flexibility to record things that we like to see in the AI model but may not available yet in 3.0/3.1. |
|
Couple of things that I would be concerned with including a new additional info to core for 3.0.1. Firstly no new fields until ISO/IEC certification would be my recommendation. The ISO group will likely have a 'few' changes that they want incorporated into 3.0.1 and if there are 'new' fields, it could delay the certification. Secondly, Element is the base class of the entire SPDX graph. Adding additionalInformation (a DictionaryEntry — i.e., an arbitrary key-value bag) and additionalInformationSpecification to Element creates a universal escape hatch. ie. Every SPDX object can now carry arbitrary, unstandardized metadata. This directly undermines the purpose of having a structured ontology: interoperability comes from agreed property definitions. It was also mentioned using comment and other string-based properties could be a workaround but it is not very machine readable." But isn't but additionalInformation as a DictionaryEntry is a key-value map. If the keys are not standardized, it is not machine-readable. It is merely structured non-interoperability. A comment field with a JSON string inside it is equally "machine readable" to anyone who knows the schema; a DictionaryEntry with unknown keys is equally unreadable to anyone who doesn't. My recommendation don't make this change until after ISO certification and then maybe talk with Kate and others, not sure that fields that will be introduced in 3.1 don't really need to go into 3.0.2 IMHO. |
|
This is for 3.1. The field is already in 3.1-RC1. |
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
|
Discussed in 20 May 2026 AI WG call.
|
|
Need to be clear when to use this vs Comment vs Extension. |
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
|
Discussed again in 5 Aug 2026 AI WG call.
-- My additional interpretation/explanation:
|
There can be cases that there are (well-defined) set of information available in a domain but there is no equilavent slot in SPDX model to record it.
Using
commentand other string-based properites could be a workaround but it is not very machine readable.Hardware profile (new in 3.1) tries to solve that with
additionalInformation(DictionalEntry) andadditionalInformationSpecificaiton(Specification) properties.additionalInformationcan be used to record the available information as is, if there is no other suitable SPDX slot.additionalInformationSpecification, if provided, can help on how to read theadditionalInformationCurrently,
/Core/Actionand/Hardware/Hardwarehave these properties, but there is a need to have similar property in/AI/AIPackagetoo (see bact/pitloom#62 (comment)) as features in AI system/model grow very fast and we can't have everything specified in the model.With that, move those
additionalInformationandadditionalInformationSpecificaitonto Core and share them among classes.(Note there were two
additionalInformation, one in Core and one in Hardware. Remove one in Hardware)No backward compatibility issue as all of the properties are introduce in 3.1
see also: https://schema.org/additionalProperty