correction: " likely external (deployment/networking issue) rather than a product bug/feature"
On Wed, Sep 1, 2021 at 10:33 AM Jarek Potiuk <ja...@potiuk.com> wrote: > The current approach of mine is - if the issue is likely external > (deployment/networking issue) a product bug/feature, or if there are no > reproducible steps - it's a discussion. > > The "likely" part is important I think (and that's how I approach it at > least) - is that if i am not 100% sure or lack of information I always > mention that this is a guess and unless more information is provided, we > will treat it as discussion (I believe lack of reproducible steps is pretty > much always a "discussion" by default). > > Previously I was closing such issues (but that was a bit too "strong") and > might put-off some people. But recently GitHub implemented this great > feature that you can convert an issue into a discussion and discussion into > issue any time. This is a great feature, I think. Discussions can remain > open forever if the user will not provide more information (hey, they are > discussions!) and they are not "firm closed" either. > > I think Discussions went a long way for us in Airflow - we started using > them pretty much immediately after they were introduced several months ago > (we like to try new things!) and initially they had very little "uptake". > But this changed over time, people started to use them when we kept > answering there and even started to mark things as "answered" (which is > akin to Stack Overflow). Also after we introduced the template which is a > bit annoying to fill-in (you have to pick version, get the operating system > information etc. etc. as required fields) and we added direct links to "if > you have no reproducible step [OPEN DISCUSSION]", I already noticed that > people are opening more discussions than issues resulting from deleting the > template and entering free question/general rambling, > > I think the important thing is that we treat discussions seriously, and > engage with users and discussions are not left "unattended". On the other > hand it's perfectly ok for us to ask for more information etc. and forget > completely and immediately about an open discussion. Unless the author or > other user comes back with more information that is - it's perfectly ok for > a discussion to "die-out", it's not ok for an issue to do so. > > J. > > > On Wed, Sep 1, 2021 at 9:37 AM Juan Pan <panj...@apache.org> wrote: > >> Hi fellows, >> >> >> Thanks for your sharing, ShardingSphere community is still using GitHub >> template and triaging issues with labels by our committers. >> I still found recently many communities opened discussion section on >> GitHub. I wonder how to leverage Issue and discussion section together? >> Which questions belong to Discussion section and which ones are supposed to >> put in Issue section? >> Look forward to your experience and ideas. >> >> >> Best wishes, >> Trista >> >> >> >> ------------------------------------------------------------------------------ >> Juan Pan(Trista), Apache member, Apache ShardingSphere PMC, Apache brpc >> (Incubator) & Apache AGE (Incubator) mentor >> Twitter, @trista86934690 >> >> >> >> On 08/29/2021 00:46,Jarek Potiuk<ja...@potiuk.com> wrote: >> Some update from the most recent attempt of Apache Airflow to improve our >> issue handling using some "new-ish" features available in GitHub: Issue >> Forms and GitHub Discussions. >> >> TL;DR; We don not have yet results but we think in Airflow making the full >> use of GitHub Form Templates and endorsing the use of GitHub Discussions >> where appropriate (and at the issue entry time), should help us a lot by >> "gating" issues better, improving their quality and getting our users into >> "pre-clasifying" the issues (or indeed using Discussions where it is a >> better choice). >> >> *Problems we observed:* >> >> * with the standard MARKDOWN templates we have many issues where people >> did >> not provide useful information (version of airflow, operating system etc.) >> * we had a number of issues where users would simply delete the markdown >> template content straight away and replaced with their own issue >> description - without "reproducible steps", or really to ask a question >> about their deployment problems without even trying to attempt to >> investigate it. >> We've ended up with many "discussion" kind of question posted as issues. >> Then we would "convert" such issues into discussion but it required >> maintainers comment and explanation. Mostly it was because the users did >> not even know they can (and should) open a discussion instead. >> * the markdown templates were difficult to read/fill in - it was not clear >> what you should do with the parts which were relevant - we left >> instructions in the comments, which were sometimes left/sometimes deleted, >> generally the issues were "structur-ish" rather than "structured". >> * often people opened Airflow 1.10 issues even if it reached End-Of-Life >> in >> June (they should open discussions instead - which is still great because >> even if there are no way we will handle the issues but either us or other >> users can help them still for workaround or even directing t) >> >> *Discovery* >> >> Then we discovered that we already can use "Forms for GitHub Issues" (beta >> feature but it is available for everyone now - >> >> https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms >> ). >> This looked like not only a great way to structure and pre-classify the >> issues (by the users) but also seems to be a great communication tool with >> the users. We believe it will allow us to address most of the issues >> above. >> Basically instead of committers having to explain the rules over and over >> and instruct the users how they should report the issues - it's all there >> explained really clearly and nicely while the user enters the issue. >> >> *Solution* >> >> We defined forms with required fields that cannot be "skipped". also when >> you do not fill a "textarea" entry it is marked as "Not Provided" rather >> than deleted. We added helpful comments and hints as well as explanation >> in >> which cases you should use GitHub Discussions (including lack of ability >> to >> select 1.10 version and link to open GitHub Discussions) instead of issues >> (with direct link). We've added logo and welcoming message to "soften" the >> "more formalized form entry need. We made it clear that if there is no >> reproduction steps, the users should open GitHub Discussion instead. We've >> added more issue types - we've separated "Airflow Core", "Airflow >> Providers" (we have more than 70 providers that extend Airflow's >> capabilities) and "Airflow Docs" issues - automatically applying correct >> labels, so we do not have to do triage ourselves. We also created a >> "maintainer only" issue type with allows to enter pretty much free-form >> information (for tasks/todos etc.) and we've added a required "checkbox" >> to >> confirm you are maintainer, to discourage people from using it to raise >> their "free form" questions there. We wanted it to be "easy" for >> committers >> to enter such "free form" issue but "not easy" to skip structured >> information by the users - at the same time guiding them to use >> "Discussions" which are much "easier" to enter any content and ask >> questions. >> >> What is even more - this structured form will allow us to automate some >> stuff if we find it is needed. For example if someone submits an entry >> without providing "reproduction steps" we can write a bot to automatically >> convert such issue into discussion. Or automatically close an issue if >> someone opens a "free-form" one while not being maintainer. >> >> *Demo/Take a look yourselves* >> >> You can try it yourself here: >> https://github.com/apache/airflow/issues/new/choose >> >> And see some screenshots how our issue form entries looks like: >> >> - https://ibb.co/Lxgx7xn >> - https://ibb.co/0rYqm1Q >> - https://ibb.co/fX45nBB >> - https://ibb.co/dbTR9GV >> >> PR introducing it is here: https://github.com/apache/airflow/pull/17855 >> >> We really hope it will drive the issue quality up and issue number down >> eventually. >> >> J. >> >> >> On Thu, Jul 15, 2021 at 5:17 PM Jarek Potiuk <ja...@potiuk.com> wrote: >> >> Good luck :). >> >> On Thu, Jul 15, 2021 at 3:53 PM Erik Ritter <erik...@apache.org> wrote: >> >> Thank you all for the great advice and thoughts! I see a lot of alignment >> between items suggested here and things we've tried or thought about. >> >> Being proactive about closing issues against old versions of Superset is >> definitely something we want to do, but haven't gone through and done a >> mass issue closing yet. That could certainly help cull the issue count. >> >> We have set up some bots on github to close stale issues, but their >> timeline is probably too long (I think we wait 3 or even 6 months before >> closing a stale issue). Setting a more aggressive timeline for closing >> feels like a reasonable approach. >> >> A lot of the issues we see seem to be legitimate bugs/issues with the >> product, but Superset has such a large surface area (supporting dozens of >> database query engines) that many committers don't have the time or >> ability >> to replicate someone's environment to truly repro an issue. I'd imagine >> making it easier for new contributors to set up a dev environment and test >> with their own data could help solve this issue. Our new developer >> onboarding docs/workflow is somewhat lacking, but enabling more community >> members to resolve issues could provide the incentives to improve it. >> >> Finally, I do think we have an issue with committers/PMC members paying >> attention to issues filed, probably because Github email spam is all too >> common, and we pretty much all have jobs that touch more than only >> Superset. As mentioned, assigning work isn't really possible for an open >> source Apache project, but I would hope that we could improve the triaging >> rate of issues at least. Perhaps gamifying in some way, or creating a >> volunteer group to do a bi-weekly or monthly triage session could help us >> start to get some control over the issues filed. >> >> Thanks again for all the great advice, and I'm glad to know it's not only >> us having these issues. We've got some plans in the works to improve this >> state, and hopefully in a few months I can follow up on this thread with a >> success story! >> >> Erik >> >> On 2021/07/09 12:01:06, Paul Angus <p...@angus.uk.com.INVALID> wrote: >> Hi Erik, >> >> My 2c - you (the project) may have to 'take a view' on some of the >> issues if they date back to older versions. >> >> In my experience fixing bugs obviously requires replicating the >> problem, fixing it and confirming that its fixed, but if the issue was >> reported against an old version, then someone needs to replicate it in the >> old version (to be sure its not PICNIC - Problem In Chair Not In Computer) >> then replicate it in the current version to check that its still a bug, >> and _then_ start fixing it... >> >> Volunteers are unlikely to want to take on all that effort, so it does >> mean an ever increasing number of old bugs (as Jarek says, only >> stakeholders tend to allocate resources to that kind of thing). >> >> So I would start by seeing if you have a lot of really old bug reports >> and consider closing them as a matter of course. Huge bug lists also tend >> to put people of as they don't know where to start and don't feel that >> they >> can even make a dent in the pile. >> >> Kind Regards >> >> >> Paul Angus >> >> -----Original Message----- >> From: Jarek Potiuk <ja...@potiuk.com> >> Sent: Friday, July 9, 2021 12:51 PM >> To: dev <dev@community.apache.org> >> Subject: Re: Issue Management in Apache Projects >> >> We are struggling with it as well in Apache Airflow. >> >> I can write about some of the things we actively do to try to bring it >> down (and we can see how it will work after some time). >> We have not succeeded yet (we also have ~800 issues opened) but we for >> example have ~130 opened PR and we used to have > 200 of them so we see >> the >> sign of improvement. >> >> * we triage and respond to the issues pretty quickly and "aggressively". >> I.e when there is not enough information or the issue is very likely to >> be caused by external factor, we close the issue explaining what's >> missing, >> what the author should do, what information should be provided and add >> info >> that it will re-open as soon as more information is provided. I found >> closing issues in this case works much better for motivation of the user >> to >> add more information (or save the hassle of maintaining status and closing >> the issue later). >> >> * we have automated stale-bot that closes inactive issues and PRs after >> (30 day inactivity = notice, + 7 day = closing) >> >> * when the user raises the issue which is a question, we actively >> redirect the user to "Discussions" rather than issue and .... close the >> issue :). We found "GitHub Discussions" pretty useful and active, and more >> and more users are opening discussions rather than issues. This keeps the >> "issues" >> down to some "real" issues. >> >> * we have a triage team that virtually meets from time to time and >> actively reviews, classifies the issues (adds labels) but also runs some >> stats on which areas are "under-staffed". They meet semi-regularly and >> discuss and send some summaries. >> >> * we continuously encourage new users to contribute and add more >> committers especially in the areas that are "under-staffed" (recently UI >> committers "team" and "Kubernetes" team has greatly increased in capacity) >> and it immediately improved the situation there) >> >> * what helps there is that some of those committers are full-time >> employed or part-time paid as freelancers by important stakeholders in the >> project (Astronomer, Google). Also those stakeholders are fully aware of >> the value it brings, so they gladly pay the committers for their community >> effort, even if it is not directly responding to their needs (disclaimer - >> I am one of those freelancers that is part-time paid by the stakeholders) >> >> * the rule we have is that we do not need issues at all. People are >> encouraged (in the docs and workshops) to open directly PRs rather than >> issues >> >> * we added "Are you willing to submit PR?" question in the issue >> template. >> When the issue is relatively simple and the user says "yes" we assign >> the user to it. When the answer is missing - we actively ask the user if >> there is a will to submit the PR. More often than not, the users are >> willing to when encouraged (at least initially). >> >> * we mark the issues that are simple as "good-first-issue" which then >> lands in http://github.com/apache/airflow/contribute . More often than >> not we have people commenting "Hey I want to implement this, can you >> assign >> me?" >> which we do pretty immediately when they ask. That often works and we >> have new contributors :). >> >> * we have a "really quick to start" development environment for Airflow >> (Called Breeze) that we continuously improve and try to make easier to >> start contributing. >> >> Last but not least. We put a lot of effort into training, guiding and >> encouraging new contributors to contribute to Airflow: >> >> * we run semi-regular workshops for new contributors - we **just** >> started Airflow Summit 2021 yesterday and for example today we have the >> "first time contributor's workshop" >> >> >> https://airflowsummit.org/sessions/2021/workshop-contributing-apache-airflow/ >> - 3 hours hands-on when we teach the new contributors how to contribute. >> This is I think 5th or 6th time we do it (we have a few physical events >> and over last 1.5 year we had I think 4 online ones). This time we have 20 >> people who signed up - from literally all over the world (and BTW. all >> proceedings from that cheap 50 USD workshop go to Apache Software >> Foundation as donation). >> >> * yesterday was a "community" day at the Summit where we had three >> talks encouraging people to contribute: >> >> >> >> https://airflowsummit.org/sessions/2021/contributing-journey-becoming-leading-contributor/ >> - the road of Kaxil, the PMC of Airflow through committership >> https://airflowsummit.org/sessions/2021/contributing-first-steps/ - the >> first steps by a fresh contributor to Airlfow who shared his experiences >> https://airflowsummit.org/sessions/2021/dont-have-to-wait/ - "You don't >> have to wait for someone to fix it for you" - the talk from one of the >> committers to Airflow, Leah and her co-worker Rachel >> >> And we have quite few more talks for those who want to start >> contributing to Airflow: >> >> https://airflowsummit.org/sessions/2021/guide-airflow-architecture/ - >> The newcomer's guide to Airflow Architecture >> >> And finally, there are things we plan based on some upcoming features in >> GitHub: >> >> * we are eyeing very closely the new GitHub Issues introduced recently: >> https://github.blog/2021-06-23-introducing-new-github-issues/ . They >> seem to be much more developer-friendly and automation-friendly and they >> might help with better organizing/handling the issues. I am working with >> Github Issues Product Manager (we are going to have a meeting about it >> next >> week) to enable the new GitHub Issues for the whole Apache Software >> Foundation (I agreed that with Infra) and I hope very soon we will get it >> for all ASF projects (as an option to use) >> >> * we are waiting for Codespaces General Availability and our >> development environment is prepared to be used there out-of-the-box. This >> will make even easier path for new contributors to start contributing >> their >> code straight from the GitHub UI. https://github.com/features/codespaces. >> >> Sorry for such a long mail - this is basically a summary of ~ year of >> discussing and acting in this area. >> >> I hope some of those might be helpful :) >> >> J. >> >> >> On Thu, Jul 8, 2021 at 11:33 PM Christopher <ctubb...@apache.org> >> wrote: >> >> Hi Erik, >> >> Do you have a good understanding of *why* there are more issues being >> opened than being closed? If so, that might hint at some possible >> solutions. >> >> For example, if you just don't have enough people to write code, then >> the PMC could focus on inviting new committers to try to grow the >> community, or mentoring new developers. >> >> If, on the other hand, the quality of the issues is poor, such that >> they aren't very actionable, you could ask for more information from >> the reporter, and add a label that shows its status, such as "waiting >> on reporter". If no response is given in a reasonable time, you can >> close old issues. You can also try to address issue quality using >> GitHub issue templates: >> >> >> https://docs.github.com/en/communities/using-templates-to-encourage-us >> eful-issues-and-pull-requests/configuring-issue-templates-for-your-rep >> <https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-rep> >> ository >> >> You could also set up something to auto-close very old issues that >> haven't been updated in a long time, under the premise that they are >> probably not relevant anymore. If they are, they can always be >> re-opened. >> >> You can also use GitHub "projects" (which I see you're already using: >> https://github.com/apache/superset/projects) to help organize >> related >> tasks, so they can be closed when the overall project is done. >> >> If the problem is that your committers aren't paying attention to >> open >> issues, you can try to ping your community's dev@ list to remind >> people of how many issues are outstanding, as a way of encouraging >> people to help triage, close, and bring down the number. You could >> try >> to find other ways to "gamify" the count, too. But, ultimately, it >> comes down to volunteer effort. >> >> If the problem is that your committers are having trouble tracking >> the >> activity on GitHub, you can double check your mailing list >> configuration to ensure activity gets copied to a notifications@ or >> issues@ list that your committers can track (you can also configure >> them to go to dev@, but that tends to get spammy and redundant, >> especially for your committers who are happy seeing the notification >> dots and/or emails directly from GitHub). >> >> Ultimately, you'll need to figure out why the situation is the way it >> is, and address it accordingly. You won't be able to force volunteer >> community members to participate to bring the number down, but >> perhaps >> there's ways to encourage them, depending on why it's happening in >> the >> first place. >> >> On Thu, Jul 8, 2021 at 5:04 PM Erik Ritter <erik.t.rit...@gmail.com> >> wrote: >> >> Hi all, >> >> I'm a PMC member for Apache Superset, and we've recently been >> struggling with the number of issues reported in our Github repo. >> We're currently >> at > >> 800 open issues, and are having trouble keeping up with responding >> and addressing all the user issues and feedback. We were curious if >> any other Apache projects had a way of managing Github issues that >> works for them. >> We >> were considering setting up a bot that assigns new issues to a >> random committer/PMC member, but are open to other ideas too. >> Thanks >> for your >> help >> and advice! >> >> Best, >> Erik Ritter >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org >> For additional commands, e-mail: dev-h...@community.apache.org >> >> >> >> -- >> +48 660 796 129 >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@community.apache.org >> For additional commands, e-mail: dev-h...@community.apache.org >> >> >> >> -- >> +48 660 796 129 >> >> >> >> -- >> +48 660 796 129 >> >