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/

Reply via email to