I wanted to bring up a point that is going to become increasingly important
in 2016 and beyond. To date as we've been polishing up the ODP API we've
been somewhat abrupt in removing deprecated APIs. Now that we have key
initiatives like OFP using ODP, that needs to change.

ODP has had the ODP_DEPRECATED attribute (in include/odp/api/hints.h) for
some time, however we've not been using it.

I'd like to propose that this change starting in 2016.  Whenever an API is
changed (as part of an API-NEXT patch) we should do the following:

1. The change should maintain the existing API, which should now be marked
ODP_DEPRECATED.

2. The syntax and semantics of the deprecated API should be unchanged.

3. Marking the old API deprecated should be a separate patch in the series
for orthogonality.

4. Validation tests of the old API may be removed or retained as the
submitter's option

5. The new API definition, implementation, and validation tests should be
provided as part of the patch.

6. The user documentation should be updated to note that the old API is
deprecated and to fully document the new API and its usage.

The old and new APIs should then be maintained for a period of time to be
determined by consensus.  When it is clear that sufficient time has passed
to enable migration then a separate patch can be submitted to remove the
old API definition, implementation, validation tests (if still present),
and documentation.

I'd like to discuss this during next week's ODP arch meetings and public
call to ensure that everyone is in agreement here and that we can
transition to this model in 2016.

Thanks.
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to