On Wed, Jul 17, 2019 at 2:36 AM Brett Cannon <br...@python.org> wrote: > > Jeroen Demeyer wrote: > > I have seen multiple discussions where somebody wants to deprecate a > > useless function but somebody else complains that we cannot do that > > because the function in question cannot be removed (because of backwards > > compatibility). See https://bugs.python.org/issue29548... for an > > example. > > We currently have a deprecation policy saying that functions deprecated > > in version N cannot be removed before version N+2. > > Do we have that officially written down anywhere? The closest I know is > https://www.python.org/dev/peps/pep-0387/ but that PEP is still a draft. > > And for me the "official" policy is if you deprecate in N you can remove in > N+1, not N+2. (But all of this is a bit wonky with Python 2.7 still being > alive and not being able to remove anything from the stdlib unless it's > severely broken until 2.7 hits EOL). >
See also https://mail.python.org/archives/list/python-dev@python.org/thread/ZUKVACWVX7SQEA7FGZRXALR7PWCLV7K6/ Some things changed since that thread, but some points are still valid. > > That's a reasonable > > policy but some deprecation purists insist that it MUST (instead of MAY) > > be removed in version N+2. Following this reasoning, we cannot deprecate > > something that we cannot remove. > > Personally, I think that this reasoning is flawed: even if we cannot > > remove a function, we can still deprecate it. That way, we send a > > message that the function shouldn't be used anymore. And it makes it > > easier to remove it in the (far) future: if the function was deprecated > > for a while, we have a valid reason to remove it. The longer it was > > deprecated, the less likely it is to be still used, which makes it > > easier to remove eventually. > > So I suggest to embrace such long-term deprecations, where we deprecate > > something without planning in advance when it will be removed. This is > > actually how most other open source projects that I know handle > > deprecations. > > I'd like to know the opinion of the Python core devs here. > > I prefer removal for ease of maintenance (people always want to update code > even if it's deprecated), and to help make sure people who don't read the > docs but discover something via the REPL or something and don't run with > warnings on do not accidentally come to rely on something that's deprecated. > _______________________________________________ > Python-Dev mailing list -- python-dev@python.org > To unsubscribe send an email to python-dev-le...@python.org > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/python-dev@python.org/message/PRI2O6G6O6HUVGXD3W2MSCEF4JTW36IB/ _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/GQDFRX3K6DIWYSRZNAW2AIOUCGHSZWA4/