Hello everyone,

After a similar discussion in us...@infra.apache.org I was asked if I can
share the experiences - I restructured my answers a bit and created a page
in the "builds" confluence space. I also updated based on the experience
over last few weeks and since the discussion was mainly about "migration"
experience, it has also a chapter on how we migrated to GitHub Issues from
JIRA,
If anyone wants to make use of it, or correct/update - add their own
experiences - feel free:

https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632

J.



On Thu, Sep 2, 2021 at 11:09 AM Juan Pan <panj...@apache.org> wrote:

> Hi Jarek,
>
>
> Thanks for your detailed wonderful experience!
> What you said triggered me to become interested in airflow community.
>
>
> > GitHub implemented this great feature that you can convert an issue into
> a discussion and discussion into issue any time.
>
>
> Agree with you. ;-)
>
>
>
>
> ------------------------------------------------------------------------------
> Juan Pan(Trista), Apache member, Apache ShardingSphere PMC, Apache brpc
> (Incubator) & Apache AGE (Incubator) mentor
> Twitter, @trista86934690
>
>
>
> On 09/1/2021 16:34,Jarek Potiuk<ja...@potiuk.com> wrote:
> 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>
> <
> 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
>
>
>

Reply via email to