specification icon indicating copy to clipboard operation
specification copied to clipboard

Feature Request: new `ComponentType` "runtime"

Open dcentrica opened this issue 1 year ago • 4 comments

At as v1.4 the only values accepted by components.type are as follows:

  • "application"
  • "framework"
  • "library"
  • "container"
  • "operating-system"
  • "device"
  • "firmware"
  • "file"

Having reviewed the definitions of each, none fits the bill to describe an application's runtime e.g. "JVM", "Python", "php-fpm" etc. These are programming language runtimes, and not "frameworks" or "libraries".

My suggestion is to add a new components.type of "runtime".

dcentrica avatar Jun 01 '23 07:06 dcentrica

CycloneDX v1.5 adds a few more component type. One of the new types is platform which is defined as

A runtime environment which interprets or executes software. This may include runtimes such as those that execute bytecode or low-code/no-code application platforms

stevespringett avatar Jun 01 '23 16:06 stevespringett

JVM interprets byte code. Python and php-fpm interprets (script) code.

PS: nowadays, some are actually just-in-time compilers, not pure interpreters.

jkowalleck avatar Jun 01 '23 16:06 jkowalleck

@dcentrica what about using component.type value "platform" ? We might adjust the documentation, to make clear that is serves the desired purpose. What would have helped you?

- A runtime environment which interprets or executes software. This may include runtimes such as those that execute bytecode or low-code/no-code application platforms.
+ A runtime environment which interprets or executes software. This may include runtimes such as those that execute bytecode, or just-in-time compilers, or low-code/no-code application platforms.

jkowalleck avatar Oct 22 '23 19:10 jkowalleck

@stevespringett if we wanted to extend the docs and meaning of an enum, do we need to consult the @CycloneDX/industry-working-group ?

PS: got an answer offline: nope, not needed.

jkowalleck avatar Oct 22 '23 19:10 jkowalleck