From 8d61038ca322cdbe99f5b4929f24d4faab3e04bf Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Thu, 16 May 2019 00:13:31 +0300 Subject: [PATCH 1/8] Add my initial draft --- pep-0593.rst | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 pep-0593.rst diff --git a/pep-0593.rst b/pep-0593.rst new file mode 100644 index 00000000000..667af1185b8 --- /dev/null +++ b/pep-0593.rst @@ -0,0 +1,91 @@ +PEP: 593 +Title: Improving bugs.python.org +Author: Berker Peksag + Ezio Melotti +Discussions-To: https://discuss.python.org/c/core-workflow +Status: Draft +Type: Process +Content-Type: text/x-rst +Created: 12-May-2019 + + +Abstract +======== + +This PEP proposes a list of improvements to make bugs.python.org more +usable for contributors and core developers. + +It also correct factual errors about Roundup's capabilities in PEP 581. + + +Roadmap +======= + +Features +-------- + +* **Mobile friendly theme:** Current theme of bugs.python.org looks + dated and it doesn't work well with mobile browsers. We want to + replace it with a more modern and mobile-friendly theme by keeping + its main look same. + +* **Support logging in with GitHub:** We are getting reports from new + contributors about missing confirmation emails. Using GitHub for + logging in to bugs.python.org would make the contributing process + much easier. + +* **Support Markdown in comments:** + +* **Add PR link to bPO emails:** The patch at https://mail.python.org/pipermail/tracker-discuss/2018-June/004547.html + changes the BPO mail from:: + + components: +Tkinter + versions: +Python 3.4 + pull_requests: +42 + + to:: + + components: +Tkinter + versions: +Python 3.4 + pull_request: https://github.com/python/cpython/pull/341 + + +Bugs +---- + +.. Hidden email bug +.. Listing user emails https://bugs.python.org/issue32177 + + +Infrastructure +-------------- + +* Our Roundup fork can easily be ditched. The biggest dependency is our + REST API. See the GSoC project section for more details. + +* Once we get rid of our Roundup fork, we can easily move source code for + bugs.python.org instance to GitHub to attract more contributors. + +* We already have a Docker image to install development environment at + https://github.com/python/docker-bpo + + +GSoC project +------------ + +.. TODO + + +Copyright +========= + +This document has been placed in the public domain. + +.. + Local Variables: + mode: indented-text + indent-tabs-mode: nil + sentence-end-double-space: t + fill-column: 70 + coding: utf-8 + End: From ec834769ee430c2586397ab59aa5d17a68335cf2 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Fri, 17 May 2019 12:49:05 +0200 Subject: [PATCH 2/8] PEP 593: update PEP structure and add content. --- pep-0593.rst | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 152 insertions(+), 2 deletions(-) diff --git a/pep-0593.rst b/pep-0593.rst index 667af1185b8..dffe3d4a8fd 100644 --- a/pep-0593.rst +++ b/pep-0593.rst @@ -12,10 +12,142 @@ Created: 12-May-2019 Abstract ======== -This PEP proposes a list of improvements to make bugs.python.org more +This PEP addresses issues and factual errors found in :pep:`581` and +proposes a list of improvements to make bugs.python.org more usable for contributors and core developers. -It also correct factual errors about Roundup's capabilities in PEP 581. + +Motivation +========== + +On May 14th, 2019 :pep:`581` has been accepted [#]_. The PEP however +contains factual errors and doesn't addresses some of the issues +that the migration to GitHub Issues might present. + + +Rationale +========= + +While it might be too late to change the decision on :pep:`581`, +this PEP will still present valuable information that can lead +to a better understanding of pros and cons of Roundup and GitHub +Issues and issues that needs to be considered during the migration. + + +PEP 581 issues +============== + +This section addresses errors in PEP 581. + +The "Why GitHub?" section of PEP 581 lists features currently +available on GitHub Issues but not on Roundup. Some of this features +are currently supported: + +* "Ability to reply to issue and pull request conversations via email." + + * Being able to reply by email has been one of the core features of + Roundup since the beginning. It is also possible to create new + issues or close existing ones, set or modify fields, and add + attachments. + +* "Email notifications containing metadata, integrated with Gmail, + allowing systematic filtering of emails." + + * Emails sent by Roundup contains metadata that can be used for + filtering. + +* "Additional privacy, such as offering the user a choice to hide an + email address, while still allowing communication with the user + through @-mentions." + + * Email addresses are hidden by default to users that are not + registered. Registered users can see other users' addresses + because we configured the tracker to show them. It can easily + be changed if desired. Users can still be added to the nosy + list by using their username even if their address is hidden. + +* "Ability to automatically close issues when a PR has been merged." + + * The GitHub integration of Roundup automatically closes issues + when a commit that contains "fixes issue " is merged. + (Alternative spellings such as "closes" or "bug" are also supported.) + +* "Support for permalinks, allowing easy quoting and copying & + pasting of source code." + + * Roundup has permalinks for issues, messages, attachments, etc. + In addition, Roundup allows to easily rewrite broken URLs in + messages (e.g. if the code hosting changes). + +* "Core developers, volunteers, and the PSF don't have to maintain the + issue infrastructure/site, giving us more time and resources to focus + on the development of Python." + + * While this is partially true, additional resources are required to + write and maintain bots. + + .. TODO: expand/review this + +The "Issues with Roundup / bpo" section of PEP 581 lists some issues +that have already been fixed: + +* "The upstream Roundup code is in Mercurial. Without any CI available, + it puts heavy burden on the few existing maintainers in terms of + reviewing, testing, and applying patches." + + * While Roundup uses Mercurial by default, there is a git clone + available on GitHub [#]_. Roundup also has CI available [#]_ [#]_. + +* "There is no REST API available. There is an open issue in Roundup for + adding REST API. Last activity was in 2016." + + * The REST API has been integrated and it's now available in Roundup. + +* "Users email addresses are exposed. There is no option to mask it." + + * Exposing addresses was a decision taken when our instance was set up. + It can be easily changed. + +* "It sends a number of unnecessary emails and notifications, and it is + difficult, if not impossible, to configure." + + * This can be configured. + +* "Creating an account has been a hassle. There have been reports of people + having trouble creating accounts or logging in." + + * The main issue is confirmation emails being marked as spam. Work has + been done to resolve the issue. + + .. TODO: investigate the status of this; when was the last report? + + +Improving Roundup +================= + +This section discusses how some of the issues mentioned by PEP 581 +can be fixed by improving Roundup and/or our instance. + +.. TODO: expand and integrate with the Roadmap section below + + +GitHub Issues missing features +============================== + +This section discusses features available in Roundup that are +currently missing in GitHub Issues. + +.. TODO: expand this section + + +Migration considerations +======================== + +This section describes issues with the migrations that might not +have been addressed by :pep:`581` + +.. TODO: review PEPs 581/588. Possible items: new-bugs-announce ML, + weekly report, issue stats, etc. Roadmap @@ -75,6 +207,24 @@ GSoC project .. TODO +References +========== + +.. [#] [Python-Dev] PEP 581 (Using GitHub issues for CPython) is accepted + + https://mail.python.org/pipermail/python-dev/2019-May/157399.html + +.. [#] GitHub clone of Roundup + + https://github.com/roundup-tracker/roundup + +.. [#] Travis-CI for Roundup + + https://travis-ci.org/roundup-tracker/roundup) and codecov + +.. [#] Codecov for Roundup + + https://codecov.io/gh/roundup-tracker/roundup/commits Copyright ========= From cecbe9ebdcc30cb549d0ab870fcba1c398b40d2a Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Tue, 21 May 2019 01:26:46 +0300 Subject: [PATCH 3/8] PEP 593: Push updates --- pep-0593.rst | 60 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/pep-0593.rst b/pep-0593.rst index dffe3d4a8fd..dd79e4536a7 100644 --- a/pep-0593.rst +++ b/pep-0593.rst @@ -37,7 +37,7 @@ Issues and issues that needs to be considered during the migration. PEP 581 issues ============== -This section addresses errors in PEP 581. +This section addresses errors in :pep:`581`. The "Why GitHub?" section of PEP 581 lists features currently available on GitHub Issues but not on Roundup. Some of this features @@ -71,6 +71,7 @@ are currently supported: * The GitHub integration of Roundup automatically closes issues when a commit that contains "fixes issue " is merged. (Alternative spellings such as "closes" or "bug" are also supported.) + See [#]_ for a recent example of this feature. * "Support for permalinks, allowing easy quoting and copying & pasting of source code." @@ -86,9 +87,14 @@ are currently supported: * While this is partially true, additional resources are required to write and maintain bots. - .. TODO: expand/review this + In some cases, bots are required to workaround GitHub's lack of + features rather than expanding. [#]_ was written + specifically to workaround GitHub's email integration. -The "Issues with Roundup / bpo" section of PEP 581 lists some issues + Updating our bots to stay up-to-date with changes in the GitHub API + has also maintenance cost. [#]_ took two days to be fixed. + +The "Issues with Roundup / bpo" section of :pep:`581` lists some issues that have already been fixed: * "The upstream Roundup code is in Mercurial. Without any CI available, @@ -105,8 +111,17 @@ that have already been fixed: * "Users email addresses are exposed. There is no option to mask it." - * Exposing addresses was a decision taken when our instance was set up. - It can be easily changed. + * Exposing addresses to logged in users was a decision taken when our + instance was set up. + + Anonymous users were only see the information listed below at [#]_:: + + Username GitHub Real name Organization Email address + + [hidden] * gvanrossum Guido van Rossum [hidden] [hidden] + + Email addresses now only shown to users with ``Developer`` role and + the "Email address" column has now been removed. * "It sends a number of unnecessary emails and notifications, and it is difficult, if not impossible, to configure." @@ -125,7 +140,7 @@ that have already been fixed: Improving Roundup ================= -This section discusses how some of the issues mentioned by PEP 581 +This section discusses how some of the issues mentioned by :pep:`581` can be fixed by improving Roundup and/or our instance. .. TODO: expand and integrate with the Roadmap section below @@ -144,7 +159,7 @@ Migration considerations ======================== This section describes issues with the migrations that might not -have been addressed by :pep:`581` +have been addressed by :pep:`581`. .. TODO: review PEPs 581/588. Possible items: new-bugs-announce ML, weekly report, issue stats, etc. @@ -161,14 +176,14 @@ Features replace it with a more modern and mobile-friendly theme by keeping its main look same. -* **Support logging in with GitHub:** We are getting reports from new - contributors about missing confirmation emails. Using GitHub for - logging in to bugs.python.org would make the contributing process - much easier. +* **Support logging in with GitHub:** We've been getting reports from + new contributors about missing confirmation emails. New contributors + might find using their GitHub account to register bugs.python.org + easier than creating a new account from scratch. -* **Support Markdown in comments:** +* **Support Markdown in comments.** -* **Add PR link to bPO emails:** The patch at https://mail.python.org/pipermail/tracker-discuss/2018-June/004547.html +* **Add PR link to BPO emails:** The patch at https://mail.python.org/pipermail/tracker-discuss/2018-June/004547.html changes the BPO mail from:: components: +Tkinter @@ -181,11 +196,12 @@ Features versions: +Python 3.4 pull_request: https://github.com/python/cpython/pull/341 +* **Add 'remove me from nosy list' button:** The work on adding this + feature has already been planned. Bugs ---- -.. Hidden email bug .. Listing user emails https://bugs.python.org/issue32177 @@ -214,6 +230,18 @@ References https://mail.python.org/pipermail/python-dev/2019-May/157399.html +.. [#] this commit + + https://github.com/python/cpython/commit/53d378c81286644138415cb56da52a7351e1a477 + +.. [#] The cpython-emailer-webhook project + + https://github.com/berkerpeksag/cpython-emailer-webhook + +.. [#] A recent incident caused by GitHub + + https://github.com/python/bedevere/pull/163 + .. [#] GitHub clone of Roundup https://github.com/roundup-tracker/roundup @@ -226,6 +254,10 @@ References https://codecov.io/gh/roundup-tracker/roundup/commits +.. [#] the user listings page + + https://bugs.python.org/user?@sort=username + Copyright ========= From aaefe59bd7ad30cdff8e28e3dc1f04cad4656610 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Wed, 22 May 2019 00:45:14 +0200 Subject: [PATCH 4/8] PEP 593: expand the "Improving Roundup" section and move it to the top. --- pep-0593.rst | 126 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 103 insertions(+), 23 deletions(-) diff --git a/pep-0593.rst b/pep-0593.rst index dd79e4536a7..5318b240ece 100644 --- a/pep-0593.rst +++ b/pep-0593.rst @@ -12,26 +12,84 @@ Created: 12-May-2019 Abstract ======== -This PEP addresses issues and factual errors found in :pep:`581` and -proposes a list of improvements to make bugs.python.org more -usable for contributors and core developers. +This PEP proposes a list of improvements to make bugs.python.org +more usable for contributors and core developers. This PEP also +discusses why remaining on Roundup should be preferred over +switching to GitHub Issues, as proposed by :pep:`581`. Motivation ========== -On May 14th, 2019 :pep:`581` has been accepted [#]_. The PEP however -contains factual errors and doesn't addresses some of the issues -that the migration to GitHub Issues might present. +On May 14th, 2019 :pep:`581` has been accepted [#]_ without much +public discussion and without a clear consensus [#]_. The PEP +contains factual errors and doesn't address some of the +issues that the migration to GitHub Issues might present. +Given the scope of the migration, the amount of work required, +and how it will negatively affect the workflow during the +transition phase, this decision should be re-evaluated. -Rationale -========= -While it might be too late to change the decision on :pep:`581`, -this PEP will still present valuable information that can lead -to a better understanding of pros and cons of Roundup and GitHub -Issues and issues that needs to be considered during the migration. +Improving Roundup +================= + +This section discusses some of the issues mentioned by :pep:`581` +and other desired features and how they can be added by improving +Roundup and/or our instance. + +* **REST API support.** A REST API will make integration with other + services and the development of new tools and applications easiers. + + Upstream Roundup now supports a REST API. Updating the tracker will + make the REST API available. + +* **GitHub login support.** This will allow users to login + to bugs.python.org (bpo) without having to create a new account. + It will also solve issues with confirmation emails being marked + as spam, and provide two-factor authentication. + + A patch to add this functionality is already available [#]_. + +* **Markdown support and message preview and editing.** This feature + will allow the use of Markdown in messages and the ability to + preview the message before the submission and edit it afterward. + + This can be done but it will take some work. Possible solutions + have been proposed on the roundup-devel mailing list [#]_. + +* **'Remove me from nosy list' button.** Add a button on issue pages + to remove self from the nosy list. + + This feature will be added during GSoC 2019. + +* **Mobile friendly theme.** Current theme of bugs.python.org looks + dated and it doesn't work well with mobile browsers. + + A mobile-friendly theme that is more modern but still familiar + will be added. + +* **Add PR link to BPO emails.** Currently bpo emails don't include + links to the corresponding PRs + + A patch [#]_ is available to change the content of the bpo emails + from:: + + components: +Tkinter + versions: +Python 3.4 + pull_requests: +42 + + to:: + + components: +Tkinter + versions: +Python 3.4 + pull_request: https://github.com/python/cpython/pull/341 + +* **Python 3 support.** Using Python 3 will make maintenance easier. + + Upstream Roundup now supports Python 3. Updating the tracker will + allow us to switch to Python 3. The instances will need to be + updated as well. PEP 581 issues @@ -94,6 +152,10 @@ are currently supported: Updating our bots to stay up-to-date with changes in the GitHub API has also maintenance cost. [#]_ took two days to be fixed. + In addition, we will still need to maintain Roundup if bpo is + preserved (even if it becomes read-only) and for the other trackers + we currently host/maintain (Jython [#]_ and Roundup [#]_). + The "Issues with Roundup / bpo" section of :pep:`581` lists some issues that have already been fixed: @@ -135,15 +197,7 @@ that have already been fixed: been done to resolve the issue. .. TODO: investigate the status of this; when was the last report? - - -Improving Roundup -================= - -This section discusses how some of the issues mentioned by :pep:`581` -can be fixed by improving Roundup and/or our instance. - -.. TODO: expand and integrate with the Roadmap section below + See https://mail.python.org/pipermail/tracker-discuss/2018-December/004631.html GitHub Issues missing features @@ -230,9 +284,26 @@ References https://mail.python.org/pipermail/python-dev/2019-May/157399.html -.. [#] this commit +.. [#] [python-committers] [Python-Dev] PEP 581 (Using GitHub issues for CPython) is accepted + + https://mail.python.org/pipermail/python-committers/2019-May/006755.html - https://github.com/python/cpython/commit/53d378c81286644138415cb56da52a7351e1a477 +.. [#] Support logging in with GitHub + + https://github.com/python/bugs.python.org/issues/7 + +.. [#] Re: [Roundup-devel] PEP 581 and Google Summer of Code + + https://sourceforge.net/p/roundup/mailman/message/36667828/ + +.. [#] [Tracker-discuss] [issue624] bpo emails contain useless non-github + pull_request number - users want a link to actual github PR + + https://mail.python.org/pipermail/tracker-discuss/2018-June/004547.html + +.. [#] The commit reported in msg342882 closes the issue (see the history below) + + https://bugs.python.org/issue36951#msg342882 .. [#] The cpython-emailer-webhook project @@ -242,6 +313,14 @@ References https://github.com/python/bedevere/pull/163 +.. [#] Jython issue tracker + + https://bugs.jython.org/ + +.. [#] Roundup issue tracker + + https://issues.roundup-tracker.org/ + .. [#] GitHub clone of Roundup https://github.com/roundup-tracker/roundup @@ -258,6 +337,7 @@ References https://bugs.python.org/user?@sort=username + Copyright ========= From 135b3a383d44aca33c456cc000e48f2b8d93d776 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 23 May 2019 03:03:14 +0200 Subject: [PATCH 5/8] PEP 593: expand the "Roundup advantages" and "Migration considerations" sections. --- pep-0593.rst | 219 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 156 insertions(+), 63 deletions(-) diff --git a/pep-0593.rst b/pep-0593.rst index 5318b240ece..1983c201afc 100644 --- a/pep-0593.rst +++ b/pep-0593.rst @@ -30,13 +30,71 @@ Given the scope of the migration, the amount of work required, and how it will negatively affect the workflow during the transition phase, this decision should be re-evaluated. +.. TODO: add a section with background and terminology? + (e.g. roundup, bpo, instances, github issues, pep581/588) + +Roundup advantages over GitHub Issues +===================================== + +This section discusses reasons why Roundup should be preferred +over GitHub Issues and Roundup features that are not available +on GitHub Issues. + +* **Roundup is the status quo.** Roundup has been an integral + part of the CPython workflow for years. It is a stable product + that has been tested and customized to adapt to our needs as the + workflow evolved. + + It is possible to gradually improve it and avoid the disruption + that a switch to a different system would inevitabily bring to + the workflow. + +* **Open-source and Python powered.** Roundup is an open-source + project and is written in Python. By using it and supporting + it, we also support the Python ecosystem. Several features + developed for bpo have also been ported to upstream Roundup + over the years. + +* **Fully customizable.** Roundup can be (and has been) fully + customized to fit our needs. + +* **Finer-grained access control.** Roundup allows the creation + of different roles with different permissions (e.g. create, + view, edit, etc.) for each individual property, and users can + have multiple roles. + +* **Issues metadata.** bpo has several metadata for each issue + (e.g. title, type, stage, versions, status, resolution, etc.), + each with an appropriate UI element (input boxes, dropdowns, + etc.). These metadata provide an easy and accurate way to + search and filter issues, and also to get info about the issue + at a glance. These are also fully customizable. + + GitHub doesn't provide an equivalent feature. Label can be used + instead but they are not as usable, especially if all the fields + are preserved. + + Roundup also lists linked PRs and attachments in two convenient + tables at the top of the issues, whereas on Github they are + linked within other messages. + +* **Nosy list autocomplete.** The nosy list has an autocomplete + feature that suggests maintainers and experts. The suggestions + are automatically updated when the experts index [#]_ changes. + +* **Dependencies and Superseders.** Roundup allows to specify + dependencies that must be addressed before the current issues + can be solved and a superseder issue to easily mark duplicates + [#]_. The list of dependencies can also be used to create + meta-issues that references several other sub-issues [#]_. + Improving Roundup ================= -This section discusses some of the issues mentioned by :pep:`581` -and other desired features and how they can be added by improving -Roundup and/or our instance. +This section lists some of the issues mentioned by :pep:`581` +and other desired features and discusses how they can be implemented +by improving Roundup and/or our instance. * **REST API support.** A REST API will make integration with other services and the development of new tools and applications easiers. @@ -49,16 +107,17 @@ Roundup and/or our instance. It will also solve issues with confirmation emails being marked as spam, and provide two-factor authentication. - A patch to add this functionality is already available [#]_. + A patch to add this functionality is already available and is + being integrated at the time of writing [#]_. * **Markdown support and message preview and editing.** This feature will allow the use of Markdown in messages and the ability to preview the message before the submission and edit it afterward. - This can be done but it will take some work. Possible solutions + This can be done, but it will take some work. Possible solutions have been proposed on the roundup-devel mailing list [#]_. -* **'Remove me from nosy list' button.** Add a button on issue pages +* **"Remove me from nosy list" button.** Add a button on issue pages to remove self from the nosy list. This feature will be added during GSoC 2019. @@ -91,11 +150,16 @@ Roundup and/or our instance. allow us to switch to Python 3. The instances will need to be updated as well. +* **Use upstream Roundup.** We currently use a fork of Roundup with + a few modifications, most notably the GitHub integration. If this + is ported upstream, we can start using upstream Roundup without + having to maintain our fork. + PEP 581 issues ============== -This section addresses errors in :pep:`581`. +This section addresses some errors and inaccuracies found in :pep:`581`. The "Why GitHub?" section of PEP 581 lists features currently available on GitHub Issues but not on Roundup. Some of this features @@ -200,93 +264,98 @@ that have already been fixed: See https://mail.python.org/pipermail/tracker-discuss/2018-December/004631.html -GitHub Issues missing features -============================== - -This section discusses features available in Roundup that are -currently missing in GitHub Issues. - -.. TODO: expand this section - - Migration considerations ======================== This section describes issues with the migrations that might not -have been addressed by :pep:`581`. +have been addressed by :pep:`581` and :pep:`588`. -.. TODO: review PEPs 581/588. Possible items: new-bugs-announce ML, - weekly report, issue stats, etc. +:pep:`588` suggests to add a button to migrate issues to GitHub +only when someone wants to keep working on them. This approach +has several issues: +* bpo will need to be updated in order to add a button that, + once pressed, creates a new issue on GitHub, copies over all + the messages, attachments, and creates/adds label for the + existing fields. Permissions will also need to be tweaked + to make individual issues read-only once they are migrated, + and to prevent users to create new accounts. -Roadmap -======= +* The issues will be split between two trackers; searching issues + will take significant more effort. -Features --------- +* The conversion from Roundup to GitHub is lossy, unless all + the bpo fields are converted into labels or preserved somewhere + else. -* **Mobile friendly theme:** Current theme of bugs.python.org looks - dated and it doesn't work well with mobile browsers. We want to - replace it with a more modern and mobile-friendly theme by keeping - its main look same. +* GitHub doesn't seem to provide a way to preserve issue IDs; + references to bpo issue numbers will become useless. -* **Support logging in with GitHub:** We've been getting reports from - new contributors about missing confirmation emails. New contributors - might find using their GitHub account to register bugs.python.org - easier than creating a new account from scratch. +* On top of the work and changes required to migrate to GitHub + issues, we will still need to keep running and maintaining + Roundup, for both our instance (read-only) and for the Jython + and Roundup trackers (read-write). -* **Support Markdown in comments.** -* **Add PR link to BPO emails:** The patch at https://mail.python.org/pipermail/tracker-discuss/2018-June/004547.html - changes the BPO mail from:: +In addition to the issues listed in the "Open issues" section of +:pep:`588`, this issues will need to be addressed: - components: +Tkinter - versions: +Python 3.4 - pull_requests: +42 +* GitHub is properietary and there is risk of vendor lock-in. + Their business model might change and they could shut down + altogether. - to:: +* There are currently two mailing lists where Roundup posts new + tracker issues and all messages respectively: new-bugs-announce + [#]_ and python-bugs-list [#]_. A new system will need to be + developed to preserve this functionality. These MLs offer + additional ways to keep track of the tracker activity. - components: +Tkinter - versions: +Python 3.4 - pull_request: https://github.com/python/cpython/pull/341 +* Roundup sends weekly reports to python-dev with a summary that + includes new issues, recent issues with no replies, recent + issues waiting for review, most discussed issues, closed issues, + and deltas for open/closed/total issue counts [#]_. The report + provides an easy way to keep track of the tracker activity and + to make sure that issues that require attention are noticed. -* **Add 'remove me from nosy list' button:** The work on adding this - feature has already been planned. + The data collect by the weekly report is also use to generate + statistics and graphs that can be used to gain new insights [#]_. -Bugs ----- +* Switching to GitHub Issues will likely increase the number of + invalid reports and increase the triaging effort. This concern + has been raised in the past in a Zulip topic [#]_. -.. Listing user emails https://bugs.python.org/issue32177 + There have been already cases where people posted comments on + PRs that required moderators to mark them as off-topic or + disruptive, delete them altogether, and even lock the + conversation [#]_. -Infrastructure --------------- -* Our Roundup fork can easily be ditched. The biggest dependency is our - REST API. See the GSoC project section for more details. +References +========== -* Once we get rid of our Roundup fork, we can easily move source code for - bugs.python.org instance to GitHub to attract more contributors. +.. [#] [Python-Dev] PEP 581 (Using GitHub issues for CPython) is accepted -* We already have a Docker image to install development environment at - https://github.com/python/docker-bpo + https://mail.python.org/pipermail/python-dev/2019-May/157399.html +.. [#] [python-committers] [Python-Dev] PEP 581 (Using GitHub issues + for CPython) is accepted -GSoC project ------------- + https://mail.python.org/pipermail/python-committers/2019-May/006755.html -.. TODO +.. [#] Experts Index - Python Devguide -References -========== + https://devguide.python.org/experts/ -.. [#] [Python-Dev] PEP 581 (Using GitHub issues for CPython) is accepted +.. [#] An example of superseded issues: + "re.sub() replaces only several matches" - https://mail.python.org/pipermail/python-dev/2019-May/157399.html + https://bugs.python.org/issue12078 -.. [#] [python-committers] [Python-Dev] PEP 581 (Using GitHub issues for CPython) is accepted +.. [#] An example of meta issue using dependencies to track sub-issues: + "Meta-issue: support of the android platform"" - https://mail.python.org/pipermail/python-committers/2019-May/006755.html + https://bugs.python.org/issue26865 .. [#] Support logging in with GitHub @@ -337,6 +406,30 @@ References https://bugs.python.org/user?@sort=username +.. [#] The New-bugs-announce mailing list + + https://mail.python.org/mailman/listinfo/new-bugs-announce + +.. [#] The Python-bugs-list mailing list + + https://mail.python.org/mailman/listinfo/python-bugs-list + +.. [#] An example of [Python-Dev] Summary of Python tracker Issues + + https://mail.python.org/pipermail/python-dev/2019-May/157483.html + +.. [#] Issues stats - Python tracker + + https://bugs.python.org/issue?@template=stats + +.. [#] s/n ratio - Python - Zulip + + https://python.zulipchat.com/#narrow/stream/130206-pep581/topic/s.2Fn.20ratio + +.. [#] For example this and other related PRs: + + https://github.com/python/cpython/pull/9099 + Copyright ========= From dc9be4e630b64b82e0ea82103ed229a1e1a74513 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 23 May 2019 18:56:11 +0200 Subject: [PATCH 6/8] PEP 595 (was 593): expand and reword some sections. --- pep-0593.rst | 122 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 48 deletions(-) diff --git a/pep-0593.rst b/pep-0593.rst index 1983c201afc..4155459ee6c 100644 --- a/pep-0593.rst +++ b/pep-0593.rst @@ -1,4 +1,4 @@ -PEP: 593 +PEP: 595 Title: Improving bugs.python.org Author: Berker Peksag Ezio Melotti @@ -56,27 +56,38 @@ on GitHub Issues. over the years. * **Fully customizable.** Roundup can be (and has been) fully - customized to fit our needs. + customized to fit our needs. * **Finer-grained access control.** Roundup allows the creation of different roles with different permissions (e.g. create, view, edit, etc.) for each individual property, and users can have multiple roles. -* **Issues metadata.** bpo has several metadata for each issue - (e.g. title, type, stage, versions, status, resolution, etc.), - each with an appropriate UI element (input boxes, dropdowns, - etc.). These metadata provide an easy and accurate way to - search and filter issues, and also to get info about the issue - at a glance. These are also fully customizable. +* **Flexible UI.** While Roundup UI might look dated, it is + convenient and flexible. - GitHub doesn't provide an equivalent feature. Label can be used - instead but they are not as usable, especially if all the fields - are preserved. + For example, on the issue page, each field (e.g. title, type, + versions, status, linked files and PRs, etc.) have appropriate + UI elements (input boxes, dropdowns, tables, etc.) that are + easy to set and also provide a convenient way to get info about + the issue at a glance. The number of fields, their values, and + the UI element they use is also fully customizable. + GitHub only provides labels. - Roundup also lists linked PRs and attachments in two convenient - tables at the top of the issues, whereas on Github they are - linked within other messages. + The issue list page presents the issues in a compact and easy + to read table with separate columns for different fields. For + comparison, Roundup lists 50 issues in a screen, whereas GitHub + takes two screens to shows 25 issues. + +* **Advanced search.** Roundup provides an accurate way to search + and filter by using any combination of issue fields. + It is also possible to customize the number of results and the + fields displayed in the table, and the sorting and grouping + (up to two levels). + + bpo also provides predefined summaries (e.g. "Created by you", + "Assigned to you", etc.) and allows the creation of custom + search queries that can be conveniently accessed from the sidebar. * **Nosy list autocomplete.** The nosy list has an autocomplete feature that suggests maintainers and experts. The suggestions @@ -84,7 +95,7 @@ on GitHub Issues. * **Dependencies and Superseders.** Roundup allows to specify dependencies that must be addressed before the current issues - can be solved and a superseder issue to easily mark duplicates + can be closed and a superseder issue to easily mark duplicates [#]_. The list of dependencies can also be used to create meta-issues that references several other sub-issues [#]_. @@ -129,7 +140,7 @@ by improving Roundup and/or our instance. will be added. * **Add PR link to BPO emails.** Currently bpo emails don't include - links to the corresponding PRs + links to the corresponding PRs. A patch [#]_ is available to change the content of the bpo emails from:: @@ -216,8 +227,8 @@ are currently supported: Updating our bots to stay up-to-date with changes in the GitHub API has also maintenance cost. [#]_ took two days to be fixed. - In addition, we will still need to maintain Roundup if bpo is - preserved (even if it becomes read-only) and for the other trackers + In addition, we will still need to maintain Roundup for bpo (even + if it becomes read-only) and for the other trackers we currently host/maintain (Jython [#]_ and Roundup [#]_). The "Issues with Roundup / bpo" section of :pep:`581` lists some issues @@ -237,17 +248,13 @@ that have already been fixed: * "Users email addresses are exposed. There is no option to mask it." - * Exposing addresses to logged in users was a decision taken when our - instance was set up. - - Anonymous users were only see the information listed below at [#]_:: - - Username GitHub Real name Organization Email address - - [hidden] * gvanrossum Guido van Rossum [hidden] [hidden] + * Exposing addresses to registered and logged in users was a decision + taken when our instance was set up. - Email addresses now only shown to users with ``Developer`` role and - the "Email address" column has now been removed. + This has now been changed to make the email addresses hidden for + regular users too (Developers and Coordinators can still see them). + The "Email address"" column from the user listing page [#]_ has been + removed too. * "It sends a number of unnecessary emails and notifications, and it is difficult, if not impossible, to configure." @@ -288,8 +295,24 @@ has several issues: the bpo fields are converted into labels or preserved somewhere else. -* GitHub doesn't seem to provide a way to preserve issue IDs; - references to bpo issue numbers will become useless. +* bpo converts a number of references into links, including + issue, message, and PR IDs, changeset numbers, legacy SVN + revision numbers, paths to files in the repo, files in + tracebacks (detecting the correct branch), links to devguide + pages and sections [#]_. This happens when messages are + requested so it is possible to create the correct link (e.g. + all the file links used to point to hg.python.org and now + point to GitHub). + + If the links are hardcoded during the migration, it will be + difficult (if not impossible) to change them later. If they + aren't, they will either be lost, or a tool to generate the + links and updating them will need to be written. + +* GitHub doesn't provide a way to set and preserve issue IDs + if they are migrated automatically with the use of a button. + (Some projects managed to preserve the IDs by contaacting + the GitHub staff and migrating the issues *en masse*.) * On top of the work and changes required to migrate to GitHub issues, we will still need to keep running and maintaining @@ -304,11 +327,14 @@ In addition to the issues listed in the "Open issues" section of Their business model might change and they could shut down altogether. -* There are currently two mailing lists where Roundup posts new - tracker issues and all messages respectively: new-bugs-announce - [#]_ and python-bugs-list [#]_. A new system will need to be - developed to preserve this functionality. These MLs offer - additional ways to keep track of the tracker activity. +* Switching to GitHub Issues will likely increase the number of + invalid reports and increase the triaging effort. This concern + has been raised in the past in a Zulip topic [#]_. + + There have been already cases where people posted comments on + PRs that required moderators to mark them as off-topic or + disruptive, delete them altogether, and even lock the + conversation [#]_. * Roundup sends weekly reports to python-dev with a summary that includes new issues, recent issues with no replies, recent @@ -320,15 +346,11 @@ In addition to the issues listed in the "Open issues" section of The data collect by the weekly report is also use to generate statistics and graphs that can be used to gain new insights [#]_. -* Switching to GitHub Issues will likely increase the number of - invalid reports and increase the triaging effort. This concern - has been raised in the past in a Zulip topic [#]_. - - There have been already cases where people posted comments on - PRs that required moderators to mark them as off-topic or - disruptive, delete them altogether, and even lock the - conversation [#]_. - +* There are currently two mailing lists where Roundup posts new + tracker issues and all messages respectively: new-bugs-announce + [#]_ and python-bugs-list [#]_. A new system will need to be + developed to preserve this functionality. These MLs offer + additional ways to keep track of the tracker activity. References @@ -343,7 +365,7 @@ References https://mail.python.org/pipermail/python-committers/2019-May/006755.html -.. [#] Experts Index - Python Devguide +.. [#] Experts Index -- Python Devguide https://devguide.python.org/experts/ @@ -402,10 +424,14 @@ References https://codecov.io/gh/roundup-tracker/roundup/commits -.. [#] the user listings page +.. [#] User listing -- Python tracker https://bugs.python.org/user?@sort=username +.. [#] Generating Special Links in a Comment -- Python Devguide + + https://devguide.python.org/triaging/#generating-special-links-in-a-comment + .. [#] The New-bugs-announce mailing list https://mail.python.org/mailman/listinfo/new-bugs-announce @@ -418,11 +444,11 @@ References https://mail.python.org/pipermail/python-dev/2019-May/157483.html -.. [#] Issues stats - Python tracker +.. [#] Issues stats -- Python tracker https://bugs.python.org/issue?@template=stats -.. [#] s/n ratio - Python - Zulip +.. [#] s/n ratio -- Python -- Zulip https://python.zulipchat.com/#narrow/stream/130206-pep581/topic/s.2Fn.20ratio From 555e0b1e519c3237f08285da3b537909bf24ebd4 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 23 May 2019 18:59:11 +0200 Subject: [PATCH 7/8] PEP 595: rename file --- pep-0593.rst => pep-0595.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pep-0593.rst => pep-0595.rst (100%) diff --git a/pep-0593.rst b/pep-0595.rst similarity index 100% rename from pep-0593.rst rename to pep-0595.rst From e25e8487358528cf448f7e599e3968a64de80381 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 23 May 2019 21:35:20 +0200 Subject: [PATCH 8/8] PEP 595: remove Discussion-To header, fix formatting of Author header. --- pep-0595.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pep-0595.rst b/pep-0595.rst index 4155459ee6c..e0c124b6a69 100644 --- a/pep-0595.rst +++ b/pep-0595.rst @@ -1,8 +1,6 @@ PEP: 595 Title: Improving bugs.python.org -Author: Berker Peksag - Ezio Melotti -Discussions-To: https://discuss.python.org/c/core-workflow +Author: Ezio Melotti , Berker Peksag Status: Draft Type: Process Content-Type: text/x-rst