-
Notifications
You must be signed in to change notification settings - Fork 288
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
schema/ListedLicense: Drop isDeprecated #583
Conversation
1a74f3e
to
4e1a22b
Compare
deprecatedVersion should be set if and only if isDeprecated was true. So instead of recording that information twice, tooling which consumes this format should just check deprecatedVersion. If deprecatedVersion is non-empty, the license is deprecated. If deprecatedVersion is empty, the license is not deprecated. This protects us from desynchronization like that fixed by cc1e05e (added deprecated version, 2017-12-28), because it is now impossible to deprecate a license without recording the deprecated version.
4e1a22b
to
a1a3e68
Compare
To catch up with the previous commit's schema change. Generated with: $ sed -i 's/isDeprecated="true" //' $(git grep -l isDeprecated)
Update to the tools in progress: spdx/LicenseListPublisher#3 The tools currently depend on the isDeprecated flag. This pull request changes the tools to only look at the deprecated version. Note that the isDeprecateVersion is still maintained in the output JSON, RDFa, and RDF data files for both compatibility and those applications wishing to just check the Boolean flag for the deprecated condition. |
With that pull request landed, can we move this forward again? I think we'll need to cut a LicenseListPublisher release, update the |
@wking I'll cut a new release of LicenseListPublish once we have the FSF Free/Libre issues worked out (which should be relatively soon). |
Open |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still learning all the steps to this and hope it's ok to copy the path. Thank you.
@goneall - can we close this, not sure what status is at this point? |
@jlovejoy The tooling has been updated, so we can now apply the change. It does, however, need to be rebased before merging. I think the change is a good idea since it would make it easier to maintain the license list - you only need to update the deprecated version and it would prevent inconsistencies such as having a deprecated version and isDeprecated set to false. @wking added good documentation on how to create the pull request, so if @wking isn't available to rebase, I can generate a new PR sometime over the next couple of weeks. Let's leave it open for now. |
@goneall For this old PR -- if I'm following, it looks like this is (1) deleting the definition of Does that sound correct? If so, I can create a new PR to handle this. I think there are some now-deprecated licenses that weren't picked up here at the time, so it would likely need a refresh anyway. |
@swinslow Yes - that is correct - a new PR would be appreciated. |
Yup -- I just added #1545 to track the yet-to-be-done task that came out of the discussion here, so this PR can be closed (which I'm doing now). |
deprecatedVersion
should be set if and only ifisDeprecated
was true. So instead of recording that information twice, tooling which consumes this format should just checkdeprecatedVersion
. IfdeprecatedVersion
is non-empty, the license is deprecated. IfdeprecatedVersion
is empty, the license is not deprecated.This protects us from desynchronization like that fixed by cc1e05e (added deprecated version, 2017-12-28), because it is now impossible to deprecate a license without recording the deprecated version.
The schema change is a two-liner, and the
src/*
change was generated with:$ sed -i 's/isDeprecated="true" //' $(git grep -l isDeprecated)
which should make review straightforward.
Downstream, this will need spdx/tools changes to get the license/exception-loading code looking at
deprecatedVersion
to generateisDeprecatedLicenseId
output here and similar. This change is easy enough here that, if folks think this change is promising, we should probably block this PR on landing the spdx/tools update. I propose the following order:deprecatedVersion
when generatingisDeprecatedLicenseId
and similar.