CycloneDX / CycloneDX/transparency-exchange-api

Compatibility between TEA and SCID

Open
#214 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Shell
Stars
113
Forks
22
Avg merge
8d 12h
Merged PRs (30d)
5

Description

In package-url/purl-spec#516 @stevespringett proposed SCID as a new Package URL type for non-packaged software. For example:

```
pkg:scid/acme-industries.com/Acme/analytics-suite@5.2.1
pkg:scid/acmerobotics.org/Acme/robot-os@2.3.0
```

While a PURL doesn't necessarily need to resolve to a download location, this could be easily achieved if the company deploys a TEA service: the [TEA Component Release](https://github.com/CycloneDX/transparency-exchange-api/blob/main/tea-collection/tea-collection.md) object has all the data to properly find the download URLs of all the software distributions.

There are however a couple of aspects of the current draft that make it harded to use for a PURL type:

1. There is no way to find a TEA Component by **name**, which means that **UUID**s would need to be used. This is far from ideal for readability:
```
pkg:scid/acme-industries.com/Acme/0cde871e-90fd-474a-9a5f-69c142ecae5b@5.2.1
```
2. Component names are not guaranteed to be unique. Unlike products, components name are not decided by the marketing department, so the uniqueness constraint could be introduced.
3. Resolving a version number is a heavy operation, because `/component/{uuid}/releases` returns the **whole** and **not paginated** list of releases.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.