spdx/tools-golang

SDPX 3.0 Support

mlieberman85 opened this issue · 3 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 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.

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.: #240

A prototype is available for feedback here: #247