Github Discussions

102 views
Skip to first unread message

William Stein

unread,
Feb 8, 2023, 11:47:40 AM2/8/23
to sage-devel
Hi Sage Devs,

Any thoughts about enabling "Github Discussions" for SageMath on
Github now? The tab is already visible, but somebody has
to I think fully enable it and do some configuration.

https://github.com/sagemath/sage/discussions/landing

This can be used much like ask.sagemath.org or sage-support, but is
more modern and easy to moderate. It's also very easy
to move a github issue to be a discussion, when somebody opens an
issue that really should just be a request for help.

I was motivated to mention this, because somebody just asked CoCalc
support some question about computing in group
rings, and I have no idea what the answer is, but I also don't love
pointing them at sage-support or ask.sagemath, since I
know there can be a lot of friction. Pointing them at
https://github.com/sagemath/sage/discussions/ would be nice.

Some examples of use of Github discussions by other projects:

- Next js (a react framework) uses it very heavily --
https://github.com/vercel/next.js/discussions
- CoCalc -- we use it a bit: https://github.com/sagemathinc/cocalc/discussions

Thoughts?

William

--
William (http://wstein.org)

Oscar Benjamin

unread,
Feb 8, 2023, 1:10:46 PM2/8/23
to sage-...@googlegroups.com
On Wed, 8 Feb 2023 at 16:47, William Stein <wst...@gmail.com> wrote:
>
> Hi Sage Devs,
>
> Any thoughts about enabling "Github Discussions" for SageMath on
> Github now?

I just want to share my experience of this feature being used in the
SymPy GitHub repo because I personally think that enabling it was a
mistake. I dislike the interface of the discussions feature but more
importantly I think it's organisationally bad to use GitHub for end
user support in a large project that has many users. In a smaller
project that e.g. doesn't have a mailing list I can see how it might
be useful for situations where someone wants to talk to the developers
without having to create an open issue but I don't think that
necessarily carries over to larger projects.

Following and responding to notifications on a busy repo is time
consuming and can be mentally draining. The pool of people who will do
that is smaller than the pool of people who would subscribe to e.g. a
mailing list. For example I am not going to subscribe to notifications
from the SageMath repo but I am quite happy to skim messages on this
mailing list and only occasionally respond to anything. The basic
problem with GitHub's discussions feature is that it places the burden
of user support on to the smaller group of people who are actively
engaging with the repo. Those people are already dealing with the
large number of incoming issues, bugs, feature requests, pull
requests, new contributors etc and it is important not to make that
any more difficult or time consuming than it needs to be.

> This can be used much like ask.sagemath.org or sage-support, but is
> more modern and easy to moderate. It's also very easy
> to move a github issue to be a discussion, when somebody opens an
> issue that really should just be a request for help.

This is the one significant advantage of the discussions feature.
Closing an issue as invalid is not nice for the person who opened the
issue. Being able to transfer the issue to a discussion instead comes
across less harshly.

However from the perspective of the maintainer who would close an
invalid issue the difficult part is deciding whether something is an
issue or not. The fact that you can turn the issue into a discussion
does not make it any less draining to have to decide (often with
incomplete information) whether or not an issue is valid or even
whether the person opening the issue intended for it to be a bug
report rather than just a request for help.

Personally I prefer for user support and discussion fora to be clearly
separated from GitHub and to happen somewhere where there is a larger
pool of people who can engage more recreationally rather than feeling
any burden to respond. Those fora can triage problems around user
confusion before it gets to the point of opening a GitHub issue.
Ideally what would otherwise be invalid issues would be filtered out
before they reach GitHub.

If the desire is to have something more modern and easy to moderate
than a mailing list then my suggestion would be to use Discourse
forums.

--
Oscar

William Stein

unread,
Feb 8, 2023, 3:20:30 PM2/8/23
to sage-...@googlegroups.com
Oscar,

Many thanks for sharing this from the *developer* point of view. I'm very
much thinking about this problem entirely from the end-user-of-sage point
of view (i.e., me right now). Did you also encounter problems using
discussions with sympy from the end user point of view?

Glancing at the sympy Discussions at

https://github.com/sympy/sympy/discussions

I had a positive impression, since there's a lot of activity, with
questions clearly marked "answered", etc.
So thanks for sharing how painful that can be from the dev side.

-- William
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAHVvXxTuOaypGK7ma2B-Jfon7C9Z%2B0brT1HPHPQFnRbVqRQ0Xg%40mail.gmail.com.



--
William (http://wstein.org)

Oscar Benjamin

unread,
Feb 8, 2023, 4:35:19 PM2/8/23
to sage-...@googlegroups.com
On Wed, 8 Feb 2023 at 20:20, William Stein <wst...@gmail.com> wrote:
>
> Many thanks for sharing this from the *developer* point of view. I'm very
> much thinking about this problem entirely from the end-user-of-sage point
> of view (i.e., me right now). Did you also encounter problems using
> discussions with sympy from the end user point of view?

I don't personally like the format(s) but I haven't seen users having
problems with the interface itself. The quality of
dialogue/interaction with users there is low though. The threads that
have a reasonable dialogue are actually just developers talking to
each other rather than users getting their questions answered.

> Glancing at the sympy Discussions at
>
> https://github.com/sympy/sympy/discussions
>
> I had a positive impression, since there's a lot of activity, with
> questions clearly marked "answered", etc.
> So thanks for sharing how painful that can be from the dev side.

What won't be obvious from a distance is that all of the people
answering the questions are the same people who would normally respond
to issues and would submit or review pull requests etc. In fact many
of the people asking the questions are also people who are submitting
pull requests so many are not really "user" questions. The mailing
list has broader reach and there questions usually get asked and
answered in the first instance by people who are not maintainers (more
like "power users"). Likewise there are many people who answer
questions on StackOverflow but who have little or no involvement on
GitHub.

The implication then is that Discussions can provide a support channel
that is only watched by maintainers. Partly that's bad because it
places additional burden on those maintainers but also compared to a
mailing list it has no sense of community and no wider discussion.
There are no other users watching the questions and answers and either
learning from them or contributing their own solutions or follow up
questions. That's also a loss because I think that other "users" will
often have a very different perspective from the small group of
maintainers and I think that community building is more important than
providing immediate Q+A.

--
Oscar

TB

unread,
Feb 8, 2023, 5:05:15 PM2/8/23
to sage-...@googlegroups.com
On 08/02/2023 20:10, Oscar Benjamin wrote:
>
> Personally I prefer for user support and discussion fora to be clearly
> separated from GitHub and to happen somewhere where there is a larger
> pool of people who can engage more recreationally rather than feeling
> any burden to respond. Those fora can triage problems around user
> confusion before it gets to the point of opening a GitHub issue.
> Ideally what would otherwise be invalid issues would be filtered out
> before they reach GitHub.
>
> If the desire is to have something more modern and easy to moderate
> than a mailing list then my suggestion would be to use Discourse
> forums.
>
Minor additional info: There are also the Zulip channels at
https://sagemath.zulipchat.com, which are complementary to Discourse,
the public mailing lists or ask.sagemath.org. Of course that at some
point having too many support channels can cause a fragmentation problem.

Regards,
TB

kcrisman

unread,
Feb 8, 2023, 9:54:51 PM2/8/23
to sage-devel
Personal feeling is that a lot of people who have Sage *questions* are less likely to have GH accounts.  I mean, some will.  But a lot won't.  So the friction for them would be similar to the other options - though sage-support maybe less so, as probably more people have Google accounts.  And for what it's worth, recent questions on ask.sagemath seem to still be getting decent traction - though we do have a fragmentation problem that is not likely to disperse no matter what solution we use, because in the end people ask questions about Sage coming from everything from high school users to developers.

Tobias Diez

unread,
Feb 9, 2023, 4:13:11 AM2/9/23
to sage-devel
What about moving this sage-devel mailing list to github discussions? I think this is orthogonal to handling the user support via gh discussions.

Jonathan

unread,
Feb 9, 2023, 9:09:34 AM2/9/23
to sage-devel
I agree with Oscar. The Github discussions may be OK for developers, but are not generic enough for end-user support. From participating in the Sympy discussions, I too find that there is more discussion and more people contributing in the Google group. Maybe Discourse would be better for maintenance and interface, but it is not as simple to navigate for the end user. Jupyter uses Discourse and I find I have trouble keeping up-to-date on what is happening there. I think this may reflect the default settings not being as ideal. I have not taken the time to try to completely customize how the Jupyter Discourse keeps me informed of activity.
Reply all
Reply to author
Forward
0 new messages