Background
Historically, new typing features were discussed on the issues of
the GitHub typing repository
(https://github.com/python/typing/issues). After typing-sig was
started, discussion about new features was supposed to shift
there, but there are multiple issues with using a mailing list:
- It doesn't offer the same features as other, markdown-based
discussion forums offer, e.g. code formatting and syntax
highlighting.
- It's hard to have long-running discussions. In the issues we
have some proposals that are several years old, but still
sensible, and still get occasional comments.
- It's impossible to "close" suggestions and get a list of
"still open" proposals.
Proposal and Alternatives
I propose to go back to using the GitHub issues for ideas and
discussions about new typing features. typing-sig can still be
used for announcements, discussions about concrete proposals (e.g.
for PEP feedback) and for other typing issues. I strongly suggest
that we don't use a third place for these kinds of discussions.
- typing issues are established. We still get regular new issues
suggesting new features, which indicates that the typing
repository can be found. Even if we moved somewhere else, we
would need to redirect these people there (as we did with
redirecting people to typing-sig), creating extra workload.
- These are lots of existing and useful discussions already in
the typing issues. They would either need to be moved or
recreated in the new place. Existing crosslinks would get lost.
- I don't think "discussions"-style forums like GitHub
Discussions or Discourse lend themselved well to feature
requests, as they are more geared to open ended discussions or
Q&A:
- While the thread format can be useful from time to time,
usually in these discussions a chronological order makes more
sense as discussions evolve. Especially in GitHub Discussions,
each top-level "answer" stands out as its own thing, which
itself has responses. Order of the answers (but not the
responses) can be affected by voting.
- While there are ways to mark a thread as "resolved" in
GitHub Discussions, this is more geared towards Q&A
formats. Usually there is no easy way to filter by unresolved
issues. Often, the creator of a thread can mark a thread as
"resolved". The ability to mark an answer an "accepted" also
makes no sense.
- Discussion threads are not as easily linkable as issues, and
cross-referencing threads is harder. There are no automatic
back-links from other issues and git commit AFAIK. It also
does have no built-in support for "meta" issues
Possible Issues
The typing issues have lots of old, outdated discussions, so some
people suggested a fresh start.
Another problem is "notification overload". The typing repository
is also used for typing-extensions and the typing documentation.
Subscribing to the repo means you get notifications for all these
issues as well.
Implementation
I propose to do the following to the typing issues:
- Add a new label "feature" for feature discussions.
- Add issue templates for new features (and a few other issue
types) so that the correct label gets applied automatically.
- I volunteer to do housekeeping and go through the old issues
in the typing repository, closing out outdated ones and applying
the proper labels.
- As a first step, set up a bot that sends a weekly(?) mail to
typing-sig with the titles and links to new feature issues and a
list of feature issues that got new comments since the last
mail.
- See how that works out.
This plan has the advantage of mostly keeping the status quo, just
in a cleaner manner, instead of trying out something new and then
potentially having to revert that if it turns out to be inadequate.
(And then have three places where suggestions have been made.)
Please let me know your thoughts.
- Sebastian