tools-golang icon indicating copy to clipboard operation
tools-golang copied to clipboard

SDPX 3.0 Support

Open mlieberman85 opened this issue 1 year ago • 9 comments

The SPDX 3.0 spec has been officially released. This library should add support for SPDX 3.0.

What would this look like?

  • Add 3.0 models (in spdx/v3/v3_0)
  • Update the referenced core models in spdx to be the latest 3.0 version
  • Add any necessary conversion functions from 2.3 -> 3.0
    • see: go-struct-converter and a potential change to support backwards conversion if we also want to support 3.0 -> 2.x conversion
    • Add at least one fairly complete 2.3 -> 3.0 conversion test
  • Add support in deserialization calls for 3.0:
  • Add tests against some reference 3.0 documents (to be identified)

mlieberman85 avatar Apr 22 '24 16:04 mlieberman85

@mlieberman85 there are plans to add SPDX 3 support at some point, but there isn't currently a timeframe for it. I hope you don't mind but I've updated the text of this issue to use it a bit more placeholder issue for adding support.

kzantow avatar Apr 24 '24 16:04 kzantow

There have been some people looking in to how we can add support for SPDX 3 to this library. There are some distinct challenges -- namely the SPDX 3 model is based on single-inheritance, which isn't really directly supported in Golang. To share some potential solutions, I created this PR for discussion so anyone interested in what the future of this library looks like can comment on the ideas, suggest others, etc.: https://github.com/spdx/tools-golang/pull/240

kzantow avatar May 16 '24 15:05 kzantow

A prototype is available for feedback here: https://github.com/spdx/tools-golang/pull/247

kzantow avatar Aug 02 '24 20:08 kzantow