[Python-Dev] draft pep: backwards compatibility (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Fri Jun 19 10:23:01 CEST 2009


Benjamin Peterson <benjamin python.org> writes:

This policy applys to all public APIs.

applies?

* The behavior of an API must not change between any two consecutive releases.

* A feature cannot be removed without notice between any two consecutive releases.

By induction, this would mean no API could change and no feature could be removed without notice between any N consecutive releases. Do you really mean it?

* Addition of a feature which breaks 3rd party libraries or applications should have a large benefit to breakage ratio, and/or the incompatibility should be trival to fix in broken code.

There is always the possibility that a new feature breaks existing code, for example because it relies on a similarly named attribute, or on some obscure internal condition. I think this should be qualified so that it only applies when e.g. a fair number of third-party apps or libraries are broken.



More information about the Python-Dev mailing list