-
Notifications
You must be signed in to change notification settings - Fork 46
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
Deprecation policy #367
Comments
Team is discussing how renaming and removing fields actually impact country work... what is the workflow and communication that has to go with this... so we might get back to you with some questions on depreciation policy. In the meantime, my immediate question is: |
So here are some thoughts from the team. General questions:
Here are some case scenarios, how does the depreciation policy affect them? Case 1: Case 2: Case 3: Thanks for taking the time to reply :) |
Thanks @DC-coder for setting out these scenarios clearly. I'll try to respond to each point below from the perspective of a technical data specification - although these might be issues to discuss more widely with OCP.
This is a policy decision for implementers. Ultimately, using the latest version of a technical standard is a good best-practice - but any required targets would come from policy advocacy - not from the technical specification itself.
Using the language from our validation page both validation and conformance are assessed against a particular version of the standard. We don't currently define 'compliant with OCDS' within the technical specification.
In version 1.0, additional fields are reported as such, by files pass the validator. The behaviour of the validator for 1.1 is not yet set, but as we are introducing a field to explicitly declare extensions (#326), it could either:
My preference would be to allow the user to choose between these by selecting 'strict' (1) validation, or 'permissive' (2) validation. To address the cases:
Fields will only be deprecated in 1.1, not removed. The validator will report on deprecated fields (and should point to the replacement if it is down to a renaming etc.). If the publisher wants to keep using deprecated fields, and to validate in a strict validation mode, they should declare an extension which re-introduces the fields that have been removed from core. (The reason to deprecate/remove fields from core is to help simplify the standard - but not to stop people publishing information they find useful. Our philosophy is to welcome additional data and extensions!)
Publishers could choose to convert data from 1.1 to 1.0 to keep a 1.0 interface functional - but we would encourage all publishers to update interfaces and tools to the new version of the standard. We are aiming to minimise backwards incompatible changes.
In this case they risk not publishing to any recognised version of the standard. (It wouldn't really be a standard if you could entirely pick and mix which bits you use between versions!) |
The deprecation policy was discussed on our OCDS community call today. No comments or objections relating to the proposed change were raised. |
This issue is under consideration for the 1.1 milestone.
Building on discussions in #189
The issue
Our deprecation policy currently states (emphasis added)
This means we can currently only deprecate fields in version 2.0, and remove them in 3.0.
What we are proposing:
Updating the deprecation policy to replace the first mention of major release with minor release.
This will allow a minor/decimal update (e.g. 1.1) to deprecate a term, triggering validation warnings.
An integer/major version update would still be required to remove the term entirely, triggering validation errors if it was still included.
This is in line with the guidance in the Semantic Versioning document.
Engagement
Please indicate support or opposition for this proposal using the +1 / -1 buttons or a comment. If opposing the proposal, please give clear justifications, and where possible, make an alternative proposals.
The text was updated successfully, but these errors were encountered: