-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Third-party removal policy: unmaintained projects #12849
Comments
This makes sense to me, and we've already been following this for some stubs packages. But we'll inevitably have conversations about what it means for a project to be "unmaintained" if we leave it undefined. How about we define this as "the package is either archived, publicly declared as unmaintained/abandoned/deprecated, or has had no commits to the default branch for 2 years or more"? |
Personally, I would prefer not to define this - at least for now. I'd expect this to mainly be a fallback clause when something starts to break (like now with boto and playsound), and to be applied fairly infrequently. This gives us more flexibility, and I don't expect these to be overly contentious. If it turns out we are invoking that clause frequently - or it causes contention - we could always narrow it down later on with the experience gathered. |
Maybe we could explicitly acknowledge that it's a subjective call, in that case? "The package appears, according to the best judgement of the typeshed maintainers, to be unmaintained"? |
That sounds fine to me. |
If we anticipate doing this mostly when the package causes maintenance problems (e.g., it doesn't import on new Python versions), then we should probably make that explicit. Some unmaintained projects may still be in use and work fine, and keeping them in typeshed gives users the opportunity to improve the stubs. |
Synthesis: we should try to use a wording that retains flexibility for us but is also explicit about specific situations where we know we might often use this new criterion |
I think it's worth spelling out the case where a package's status is "unmaintained" simply because the next version has changed name (a few historical examples, not necessarily related to typeshed: boto -> boto3, PySide --> PySide2 -> Pyside6, winrt --> winsdk -> PyWinRT, BeautifulSoup -> beautifulsoup4, PIL --> Pillow, sk* -> scikit-*) I don't feel that differently about this case as I do dropping NumPy v1 support for NumPy v2. (I know this doesn't answer the general case of an unmaintained package causing us maintenance issues, but I think its one of the good justifications we can use) |
Cf. #12848 and #12847. I suggest to amend our removal policy to say:
With the third criterion being new. The wording ("generally") leaves us some wiggle room in case we want to continue supporting stubs for an unmaintained package.
The text was updated successfully, but these errors were encountered: