Comments (9)
Profile identifiers are "structs" with just a name at the moment, not enums:
from spdx-3-model.
Although I would prefer the "conventional way", profiles are expected to get versioned, which is possible with objects without a breaking change:
"profile": [
{
"name": "core",
"version": "3.0.1"
}
]
from spdx-3-model.
Every Element has its own specVersion; I'm not sure what applications would be expected to do with specVersion 3.2.0, profile core 3.1.2, software 3.0.5.
Of course lists are a general case, not just versioning. But if there were a use case for separately-versioned profiles they could be serialized as:
"profile": {
"core": "3.1.2",
"software:": "3.0.5"
}
The general case is described in #55 - do you serialize email headers with lists of repeated [ {name: x1, value: y1}, {name: x2, value: y2}, {...} ] pairs or with normal object properties {x1: y1, x2: y2, ...}?
from spdx-3-model.
Of course lists are a general case, not just versioning. But if there were a use case for separately-versioned profiles they could be serialized as:
yes, that would be possible. But that would still be a breaking change to your initial proposal. So, this does not help to avoid the breaking change in the "there might or might not be a future with individual versions"-Problem.
from spdx-3-model.
Every Element has its own specVersion; I'm not sure what applications would be expected to do with specVersion 3.2.0, profile core 3.1.2, software 3.0.5.
+1 from me, I also think that this is not a future to hope for. Maybe we can decide that it will not come. This would solve this thread.
from spdx-3-model.
Enumerated values are not properties. The SPDX model would need a breaking change to accommodate versioned profiles.
from spdx-3-model.
I'm not sure how to interpret that model notation - ProfileIdentifier is not enumerated on the diagram (my mistake), but it cannot be simultaneously a string and an object.
And irrespective of how the model is drawn, ProfileIdentifier is enumerated. It can't have any value ("Food" and "Aviation" are not valid ProfileIdentifier strings until the model includes Food and Aviation profiles). Whether they are drawn as vertical lists like RelationshipType and SoftwarePurpose or horizontal boxes like Licensing and Security, they aren't valid until the model says they exist.
from spdx-3-model.
- Proposal 2 - Remove the version from profiles, profiles will always be released in lock step with the SPDX spec. Implication, changing this would be a breaking change - so we are essentially deciding that profiles and specs will be release together until at least 4.0 (which allows breaking changes)
- Decision: Proposal 2 - remove version from profiles
the versions of profiles will not come back before 4.0. So my assumption in that case was wrong and I would obviously also choose the simple serialization.
from spdx-3-model.
Have submitted #249 this will be a bit more "automation friendly" than an arbitrary string, which is what it was set to, and should address @davaya comments about not having any value "Food", etc.
Will close this, but feel free to reopen if you disagree.
from spdx-3-model.
Related Issues (20)
- In page https://spdx.github.io/spdx-spec/v3.0/model/Licensing/Licensing/ the lists are not displayed correctly. HOT 3
- Doc: Possible outdated references to gh-pages and auto-generated in README.md HOT 2
- Delete gh-pages for the spdx-3-model
- License list version is still not SemVer HOT 5
- Does the specVersion include a PATCH version?
- ProfileIdentifierType list HOT 1
- What does "IRI ``" mean? HOT 6
- Have Markdown lint runs after commit HOT 1
- 3.1: Dataset: Add a "language" field
- rootElement: SBOM or BOM? HOT 1
- Where are the SPDX Matching Guidelines? HOT 6
- Where is the "Legacy Text Template format section"? HOT 2
- Vocabulary entries should be single-line
- AI: Not clear what 'energyQuantity' means HOT 5
- AI: 'energyConsumption', 'finetuningEnergyConsumption', 'inferenceEnergyConsumption' would vary so is it correct to record them? HOT 1
- AI: hyperparameter, metric, metricDecisionThreshold - can be multiple. Property talks about only one. HOT 11
- AI: 'modelExplainability' summary and description should be modified HOT 3
- AI: 'trainingEnergyConsumption' is duplicate of 'energyConsumption' HOT 1
- AI: Need comprehensive strategy for addressing security related parameters for AI systems HOT 1
- Core: Need class 'Dictionary' for listing multiple key-value pairs HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spdx-3-model.