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-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository
>
> 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

Reply via email to