[Python-Dev] PEP 594 - a proposal for unmaintained modules
On 24.05.2019 9:55, Steven D'Aprano wrote:
> I don't know if this is a good idea or a terrible idea or somewhere in
> between, so I'm throwing it out to see if anyone likes it.
> Let's add a third option to PEP 594 between "keep" and "remove":
> explicitly flagging a module as unmaintained. Unmaintained modules:
> - will raise a warning when imported that they are unmaintained;
> - will have their tests disabled;
> - possibly we move them into a seperate namespace:
> ``from unmaintained import aardvark``
> - bug reports without patches will be closed Will Not Fix;
> - bug reports with patches *may* be accepted if some core dev is
> willing to review and check it in, but there is no obligation
> to do so;
> - should it turn out that someone is willing to maintain the module,
> it can be returned to regular status.
> Plus side:
> - reduce the maintenance burden (if any) from the module;
> - while still distributing the module and allowing users to use
> it: "no promises, but here you go";
> - other implementations are under no obligation to distribute
> unmaintained modules.
> Minus side:
> - this becomes a self-fulfilling prophesy: with tests turned off,
> bit-rot will eventually set in and break modules that currently
> aren't broken.
This would greately damage Python's image as a mature, reliable product, something that you can bank on for your critical tasks.
By including something into the offer, we implicitly endorse it and claim that we want out users to use that rather than competing offers.
You may look at the archives where I relied on TKinter for an important project and it let me down big time.
I would very much prefer Python to honestly admit that there's not enough interest in this module and drop it so I would look elsewhere
right off the bat and don't.
You may argue that marking it as unsupported would do the same but it wouldn't. This mean I'll have to be constantly on the lookout for
hidden notes and such, I will forever lose confidence that I can just take whatever is in Python and run with it, being confident that the
Python team has my back.