dask / community

For general discussion and community planning. Discussion issues welcome.
20 stars 3 forks source link

Discourse revisited #194

Open ian-r-rose opened 2 years ago

ian-r-rose commented 2 years ago

Hi all,

In #46 the community discussed starting a Dask discourse page. There were some initial experiments in that direction, but then the discussion seems to have stalled, and the page lapsed. I'd like to revisit the idea.

There are many valuable discussion topics that are (in my opinion) not particularly well captured by the current set of communication tools (GitHub issues, Slack, Gitter, Stack Overflow). These include questions about usage, configuration, deployment, integration with other tools, and general advice for how to approach Dask-based workflows. We currently point users towards Stack Overflow for usage questions and Gitter/Slack for chatting (though the latter are somewhat discouraged since they have a poor search story).

At this date, Discourse forums have been adopted by (at least) Jupyter, Pangeo, Bokeh, PyMC, and Plotly, most of which with decent-to-good community engagement. They seem to be a well-understood and liked model for community discussion, and have at least a few major advantages over the current community slack:

Alternatives

GitHub issues: This repository aside, they are intended for bug reports and feature requests, usage questions are discouraged.

Stack overflow: can be an excellent Q&A website, but has a very strict definition of what constitutes an on-topic question. A Dask-specific forum allows for a wider range of conversation.

Gitter: mostly discouraged due to it's poor searchability and ephemeral nature.

Slack: better used and understood than Gitter, but many of the same drawbacks.

Specific proposal

I'd like to resurrect the dask.discourse.group Discourse page and try out some layouts, categories, tags, and welcome messages. If people like it, we can "bless" the page and start directing traffic there. Of course, it would only work if we are able to have knowledgeable people monitoring it and maintaining a welcoming and civil atmosphere. I would hope to draw from the experiences of some of the above communities.

Objections

Thoughts?

mrocklin commented 2 years ago

Ian and I spoke about this offline. I'm strongly supportive. I think that we should go ahead and set it up again (this time with people to answer questions!) and then shift people over to there from StackOverflow and from Slack.

Short term we can set it up without much cost/pain I think and geek out a bit about how to configure things.

On Thu, Oct 21, 2021 at 6:21 PM Ian Rose @.***> wrote:

Hi all,

In #46 https://github.com/dask/community/issues/46 the community discussed starting a Dask discourse page. There were some initial experiments in that direction, but then the discussion seems to have stalled, and the page lapsed. I'd like to revisit the idea.

There are many valuable discussion topics that are (in my opinion) not particularly well captured by the current set of communication tools (GitHub issues, Slack, Gitter, Stack Overflow). These include questions about usage, configuration, deployment, integration with other tools, and general advice for how to approach Dask-based workflows. We currently https://docs.dask.org/en/latest/support.html#discussion point users towards Stack Overflow for usage questions and Gitter/Slack for chatting (though the latter are somewhat discouraged since they have a poor search story).

At this date, Discourse forums have been adopted by (at least) Jupyter https://discourse.jupyter.org/, Pangeo https://discourse.pangeo.io, Bokeh https://discourse.bokeh.org, PyMC https://discourse.pymc.io/, and Plotly https://community.plotly.com/, most of which with decent-to-good community engagement. They seem to be a well-understood and liked model for community discussion, and have at least a few major advantages over the current community slack:

  • One can view and search for discussions without having an account/slack invite (I suspect this is a major impediment to attracting more community discussion in the slack).
  • The discussions are searchable by users and indexed by search engines (I regularly see the Jupyter discourse pop up in my google searches)
  • It's easier to categorize and tag https://blog.discourse.org/2017/10/its-time-we-talked-about-tags/ topics.

Alternatives

GitHub issues: This repository aside, they are intended for bug reports and feature requests, usage questions are discouraged.

Stack overflow: can be an excellent Q&A website, but has a very strict definition of what constitutes an on-topic question. A Dask-specific forum allows for a wider range of conversation.

Gitter: mostly discouraged due to it's poor searchability and ephemeral nature.

Slack: better used and understood than Gitter, but many of the same drawbacks. Specific proposal

I'd like to resurrect the dask.discourse.group Discourse page and try out some layouts, categories, tags, and welcome messages. If people like it, we can "bless" the page and start directing traffic there. Of course, it would only work if we are able to have knowledgeable people monitoring it and maintaining a welcoming and civil atmosphere. I would hope to draw from the experiences of some of the above communities. Objections

  • I already have too many communications channels: fair point, though I think there is a real gap in the Dask community channels today. Worth a shot?
  • Who would maintain and moderate this board?: hopefully this would be a group effort, but I would be happy to start off doing this. This would largely be under the auspices of Coiled (my employer), but I would hope to be able to attract other institutional and individual contributors.

Thoughts?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/dask/community/issues/194, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACKZTA65IGKPMOHQ2RRLWLUICN6NANCNFSM5GPIL6NA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

GenevieveBuckley commented 2 years ago

One can view and search for discussions without having an account/slack invite (I suspect this is a major impediment to attracting more community discussion in the slack).

I definitely felt this friction, and agree that it's a problem.

jacobtomlinson commented 2 years ago

I also chatted with Ian about this yesterday.

I'm apprehensive. Adding more communication channels increases maintainer burden. I struggle to keep up with all my notifications as it is. But I agree some conversation types are not well facilitated by our current communication channels, so I'm up for giving it another shot.

I am also optimistic that this might reduce traffic in other places (particularly Slack where similar conversations happen repeatedly due to lack of search).

Perhaps we should consider moving everything that happens in this repo over to Discourse as an incentive for maintainers (e.g me) to keep an eye on it closely.

ian-r-rose commented 2 years ago

I'm apprehensive. Adding more communication channels increases maintainer burden. I struggle to keep up with all my notifications as it is.

I hear this. I guess my hope for this is that it's not quite so high-interrupt as slack, or even GitHub issues. By default, I think it sends you a daily digest (a feature I've been wanting in GitHub for quite some time), so I don't think it tends towards overwhelming you in notifications.

I am also optimistic that this might reduce traffic in other places (particularly Slack where similar conversations happen repeatedly due to lack of search).

Searching plug search-engine indexing is a benefit to my mind.

ian-r-rose commented 2 years ago

Okay, I've done some work setting up some broad categories and labels over at dask.discourse.group. I'd be glad to hear feedback from folks here (that feedback could even be on the forum :wink: )

In particular, I'd like to direct your attention to this orientation message, and this as-yet-empty introductions topic.

GenevieveBuckley commented 2 years ago

@ian-r-rose when I click the link you posted above for the dask discourse group, I get an error "Not Found" (see screenshot below).

It looks like you've written [text](text) instead of [text](url) in the markdown link. I think that's the problem.

image

GenevieveBuckley commented 2 years ago

...and now I've had a sec to look at the other two links, it's obvious the dask discourse page is at: https://dask.discourse.group/

Looks good!

GenevieveBuckley commented 2 years ago

Ian, it'd be helpful if you could share what you want people to do next.

I have access to the Dask twitter account, so if you write a tweet I'm happy to post one for you. Let me know if you'd like that.

jsignell commented 2 years ago

I'm with Jacob on being extremely hesitant about adding another tool.

When github started "discussions" (this is dask/dask for reference: https://github.com/dask/dask/discussions) I was extremely hopeful that those could fill the gap that you have identified. I agree that they aren't doing it yet, but I think we could do a better job of pushing people to ask usage questions in there. Is there something missing from discussions that you think discourse does better?

ian-r-rose commented 2 years ago

@ian-r-rose when I click the link you posted above for the dask discourse group, I get an error "Not Found" (see screenshot below).

Thanks for flagging @GenevieveBuckley, I've fixed the link.

Ian, it'd be helpful if you could share what you want people to do next.

I think that if people's concerns are addressed/alleviated, I'd advocate for people to start by adding introductions to the welcome thread and directing traffic there.

* Ask maintainers to start having some conversations over there, so it looks less empty?

Absolutely.

* Publicize it among Dask users?

Yes, in particular I think it would be useful to link to it here.

jakirkham commented 2 years ago

Since a couple of people mentioned concern of adding another discussion tool, would it be worth thinking about what tool will be removed when adding or deciding to keep Discourse?

ian-r-rose commented 2 years ago

Thanks for your thoughts @jsignell. I'm glad you brought up GitHub discussions. I was also hopeful that it would provide a similar model, though I don't think it's quite done the job to date.

Is there something missing from discussions that you think discourse does better?

My pitch for discourse over discussions is basically this:

  1. Adoption: many of our peer projects are using Discourse for this kind of discussion, and seem to be doing it with good results. In my research I've seen very few using GitHub Discussions. There's clearly some path-dependence here, but using a similar set of tools is likely helpful from both a maintenance perspective and from a cross-project community-building perspective.
  2. Better tooling around moderation, community management: Discourse is designed from the start for this kind of discussion, while GitHub discussions feels (and this is just an opinion) more like a tweaked issue tracker.
  3. Cross cutting discussions: as far as I know, GitHub discussions are only available on a per-repository basis. This makes it harder for people to have discussions that cut across dask repos or don't even belong in dask (e.g., pangeo or xarray-related topics)

Now, as is often the case with engineer/scientist-brain, I think there is a danger of wanting a technological tool to solve a social problem. Ultimately I don't think that just the choice of discussion platform would generate the kinds of discussion we want. But maybe it can help?

ian-r-rose commented 2 years ago

Since a couple of people mentioned concern of adding another discussion tool, would it be worth thinking about what tool will be removed when adding or deciding to keep Discourse?

At the very least, I think gitter is dying a natural death. The official docs mention gitter and slack, but don't really encourage them. GitHub discussions aren't mentioned anywhere, AFAIK. The dask/community repo says that it's intended to be "low traffic". To my mind, part of this is suitably tweaking where people are pointed, and then the choice of whether/when to remove something may become clear as folks vote with their keyboards?

jakirkham commented 2 years ago

So should we just drop Gitter then? If so, what would that process look like?

ian-r-rose commented 2 years ago

@martindurant is doing yeoman's work on monitoring gitter, though it seems not hugely active, I'd be curious to hear his thoughts on how that's going and whether he'd want to direct his attention elsewhere.

I think the process would involve removing it from the official docs, and replying to folks that they should move conversations to the relevant other platforms (at least for a few weeks). It would be nice to be able to pin a message, though I am not aware of a way of doing that.

jsignell commented 2 years ago

If we recommend against gitter and discussions and drop references to them, then I am happy to encourage the use of discourse.

jcrist commented 2 years ago

If we recommend against gitter and discussions and drop references to them, then I am happy to encourage the use of discourse.

I agree with this. Also note that we can disable GitHub discussions so they're not even an option.

jsignell commented 2 years ago

Now, as is often the case with engineer/scientist-brain, I think there is a danger of wanting a technological tool to solve a social problem. Ultimately I don't think that just the choice of discussion platform would generate the kinds of discussion we want. But maybe it can help?

I totally agree with this. If you think discourse will make it easier to keep track of things then we should give it a shot.

GenevieveBuckley commented 2 years ago

Also note that we can disable GitHub discussions so they're not even an option.

Side note: if disabling GitHub discussions deletes current discussions, we have a few that should be transferred into issues (like Emil's discussion about map_overlap improvements). Just making sure people are aware if/when that's a thing that happens :smile:

GenevieveBuckley commented 2 years ago

@ncclementi perhaps we should mention the new Dask discourse at your Dask workshop tomorrow (Unless @ian-r-rose wants to keep it quiet for a bit longer)? (I don't remember if it was already in the course notes or not)

I think the hope is that it will be a bit more actively checked by maintainers than stackoverflow is right now.

ian-r-rose commented 2 years ago

From my perspective it’s ready to have some traffic. I’m opening some PRs to update some docs and language, but not much is in the way of folks asking questions right now.

On Tue, Nov 2, 2021 at 4:52 PM Genevieve Buckley @.***> wrote:

@ncclementi https://github.com/ncclementi perhaps we should mention the new Dask discourse https://dask.discourse.group/ at your Dask workshop tomorrow (Unless @ian-r-rose https://github.com/ian-r-rose wants to keep it quiet for a bit longer)?

I think the hope is that it will be a bit more actively checked by maintainers than stackoverflow is right now.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dask/community/issues/194#issuecomment-958452284, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLWQN34I52HBUSF3TD4VU3UKB2VXANCNFSM5GPIL6NA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

jacobtomlinson commented 2 years ago

I just checked out an issue on dask-kubernetes which is a usage and troubleshooting type question, rather than a feature request or bug report. It stood out to me as a good candidate for the type of question to redirect to the discourse.

@ian-r-rose is this the kind of topic you had in mind for discourse?

martindurant commented 2 years ago

Time to ask people on gitter to stop using gitter? Questions there are very likely to be a good fit for discourse, and often go unanswered.

ian-r-rose commented 2 years ago

I just checked out an issue on dask-kubernetes which is a usage and troubleshooting type question, rather than a feature request or bug report. It stood out to me as a good candidate for the type of question to redirect to the discourse.

@ian-r-rose is this the kind of topic you had in mind for discourse?

Yes, this is exactly the kind of topic I had in mind! I suppose this is the type of thing that I'd direct towards the "Deployment" category, but I also don't think it's a big deal if people choose the category that makes most sense to them.

ian-r-rose commented 2 years ago

Time to ask people on gitter to stop using gitter? Questions there are very likely to be a good fit for discourse, and often go unanswered.

Yes, I think that it's a decent time to do that. I just removed references to gitter from the docs, so hopefully we will get less new traffic there.

ncclementi commented 2 years ago

Yesterday with @ian-r-rose and @scharlottej13 we were drafting a template on how to respond to questions that we want to redirect to discourse and follow-up steps. You can find the template in this issue https://github.com/dask/community/issues/198 and use it as a reference on how to respond to people.

For example https://github.com/dask/dask/issues/8324

I was wondering if this kind of issue should be tagged in a certain way, or should we just leave them untagged.

jsignell commented 2 years ago

Seems like a good chance to use the discussion tag

fjetter commented 2 years ago

Do we want to adjust the "General Coding Question" link which sends people to SO?

image

see https://github.com/dask/.github/blob/202332470d293d2288c23fe235bb75c7fcd72d2b/.github/ISSUE_TEMPLATE/config.yml#L6-L8

ian-r-rose commented 2 years ago

Do we want to adjust the "General Coding Question" link which sends people to SO?

We had some discussion with @jacobtomlinson about this a few days ago when adding Discourse to the list, and we decided to keep it around as a valid place to ask questions (though below the Discourse option).

jakirkham commented 2 years ago

The nice thing about SO is it has a very clear question & answer format and the UI is designed to emphasize that. While discussion threads on things like Discourse are nice, they are more focused on the flow of conversation.

GenevieveBuckley commented 2 years ago

@ian-r-rose do you want me to publicize the Dask discourse forum with a tweet from the Dask twitter account? That's easy for me to do if you'd like.

Earlier we were holding off on this, but I think now we've more or less been publicizing it everywhere else (like the dask-tutorial repo, the github issues template, Coiled's Dask heartbeat, etc.) so it seems like a good time.

ian-r-rose commented 2 years ago

@ian-r-rose do you want me to publicize the Dask discourse forum with a tweet from the Dask twitter account? That's easy for me to do if you'd like.

Sorry @GenevieveBuckley, somehow I missed this! I would welcome that!

GenevieveBuckley commented 2 years ago

Tweet scheduled for 8:37am PST Monday:

Did you know Dask has a discourse forum? https://dask.discourse.group/

It's a great place for usage questions and discussion. Head on over to check it out!

And because December is a busy time and it's easy for things to get missed, I've scheduled a second on for January 17th at about the same time:

In case you missed it, the Dask discourse forum is now live: https://dask.discourse.group/

Come and say hi in the introductions thread: https://dask.discourse.group/t/introduce-yourself/22

jacobtomlinson commented 2 years ago

The forum seems to be going well, folks seem to be turning up and asking questions that are well suited to a forum.

One thing I noticed is there is no native way in Discourse to mark a thread as resolved or to highlight a comment that solves the issue. It looks like there is an official plugin for this, perhaps this would be a good feature to enable?

Also could I get admin rights on the forum @ian-r-rose?

ian-r-rose commented 2 years ago

One thing I noticed is there is no native way in Discourse to mark a thread as resolved or to highlight a comment that solves the issue. It looks like there is an official plugin for this, perhaps this would be a good feature to enable?

Good idea! It was already installed, but not enabled for all topics. I've tried flipping that switch, but I'm still not entirely sure where it should be showing up...

Also could I get admin rights on the forum @ian-r-rose?

Done

jacobtomlinson commented 2 years ago

Ah awesome! And thank you!