-
-
Notifications
You must be signed in to change notification settings - Fork 563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version JSON output data format #2653
Comments
Here is a first take on the policy there:
|
@JonoYang @tdruez @AyanSinhaMahapatra @sschuberth @tsteenbe ping. Feedback welcomed. This is rather non-controversial. |
You probably should clarify that "moved" does not refer to changing the order at the same level, as that's not something what would break deserialization.
Maybe you should also make clear that the
"if needed" |
@mjherzog @DennisClark your comments are welcomed too. |
This makes sense to me. It is a "nice" idea to have one versioning convention for a whole system, but we are all learning about the important differences in licensing between software and data. So this sounds like using the right tool for the job. |
Will the Codebase-Resource model schema from commoncode be versioned in the same way as the JSON output or is the output format independent of the Codebase-Resource model schema? |
@JonoYang that's a good point as these are tightly coupled . :| |
@indirabhatt @maxhbr @soimkim ping too, FYI :) |
Add output data format version numbers to the headers and version help text. Introduce new command line option to switch to the new experimental data format. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
Adds a new attribute `output_format_version` to the scancode header to support output data format versioning. See aboutcode-org/scancode-toolkit#2653 for more details. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
Adds a new attribute `output_format_version` to the scancode header to support output data format versioning. See aboutcode-org/scancode-toolkit#2653 for more details. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
Add output data format version numbers to the headers and version help text. Introduce new command line option to switch to the new experimental data format. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
Here is the updated documentation based on the feedback above (@sschuberth ❤️ ): Output format version policyWe version the JSON output from ScanCode-Toolkit using this approach:
|
After extensive review, supporting multiple versions of the output data format at once is an immense task! much simpler on paper than in practice... therefore I think will instead only track which version of data format is in a given SCTK version and we can commit to limit the number of major data format version changes to possibly no more than once a quarter. The data format version and the documentation should be enough for users IMHO. The effort to have the current and future version would be similar to maintain two branches in the same codebase and make continuous forward port and back ports to each branch. This is too much work for too little benefits. |
See #2653 (comment) Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
See #2653 (comment) Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
Introduce output data format versioning #2653
@pombredanne should this be closed as this is merged? |
@AyanSinhaMahapatra not yet... we still need to re/write the documentation AND we need to add it to the docs |
Here is an updated overall version policy. Because of the semver switch, and as discussed in the weekly community call the next version will be Versioning approachScanCode is composed of code and data (mostly license data used for license detection). Historically we tried using calver to also convey that the data embedded in ScanCode was updated but it proved to be not as effective as thought so we are switching back to semver which is more useful for users. We are therefore now using this new versioning approach:
In addition to the main code version, we also maintain a secondary output data format version using also semver with two segments. The versioning approach is adapted for data this way:
|
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
As part of this I am also adding a new outdated version notification: this will be listed in the scan headers when the version is either out of date on PyPI or 90 days old. Before that we were only displaying a warning in the CLI on stderr doing a remote PyPI version check. Note that the remote PyPI check is now optional thanks to @yns88 patch |
This is the CHANGELOG entry:
|
This shows up 90 days after a release date. We now also track the release date Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
https://github.com/nexB/scancode-toolkit-reference-scans has been added to store scancode-toolkit reference scans and documentation on output version changes with diffs. Repository: https://scancode-toolkit-reference-scans.readthedocs.io/en/latest/ This needs to be added to scancode-toolkit documentation. |
This is now versioned and merged. Closing |
As part of #2601 this is a first essential step before we start modifying more things to improve package reporting
This is also needed to support:
The text was updated successfully, but these errors were encountered: