Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
proposal: add new Question? label to issue tracker #23745
Go doesn't currently allow questions on our GitHub issue tracker.
If we get a question, we reply with a link to https://golang.org/wiki/Questions in some stock answer explaining that Go is unlike some projects on GitHub that use their issue tracker as a forum and users should use a mailing list or slack or the Discourse web forum.
It's pretty sad to turn all those users away, though.
I've been thinking that we should just maybe start to allow the questions. We can automate away the email annoyance spam with bots pushing the Subscribe/Unsubscribe button automatically (for those who want the ~firehose minus questions) based on heuristics and labels (the community can label the issues as "Question").
What really drove this home was this same exchange happening to me recently in a non-Go project. I had filed a feature request bug with a project with a proposed way to implement it, and I was told to go away to a forum, where it rotted unseen & untracked.
The nice thing about questions in issue trackers is that they can be closed when they're resolved and you can search for open questions. That doesn't happen in forums.
I still don't think we'd want to promote the issue tracker as the canonical forum for questions, but I also think we should consider not turning people away who end up there.
My concern is that many more people read the forums, and they are far more likely to be able to actually answer the questions. Questions about use of the language are easy enough to answer, but many questions are about unusual use cases and libraries, for which there are people who know the answer but they aren't reading the issue tracker. If we make this change we'll need some way to encourage the people already reading the forums to also read the issue tracker.
Spitballing, applying the Question tag (or something else?) could trigger a bot to email golang-nuts notifying the forums of an interesting issue tracker question. Or a different/new forum?
Assuming the details can be sorted out, this is an excellent idea. Meet your users where they are.
We don't want to require that the first-level triage-er have to write (or research!) an answer. They need to be able to add some metadata (or close) quickly. But adding the label "Question" is as quick as closing it. And then gopherbot can take over and unsubscribe all the bugs-only users who are only interested in actual bugs. It can even use the gmail API to remove it from our inbox. (I have existing gmail bots that that for other things.)
tl; dr: IMO this is a bad idea. I'll elaborate
We're not turning them away. We are re-routing them to places (like forum.golangbridge.org or stackoverflow) that are much better suited for questions, and where there are a lot of people reading questions and answering them.
If just pasting "for questions, see https://golang.org/wiki/Questions" feels "sad" (and I agree it doesn't feel nice), you just have to write a better pre-packaged reply once (one that is more verbose, and feels "nicer"), and insert that when you close the issue.
but you can't automate the questions away for the people gardening from the github user interface. Also this kind of "automation" would still rely on contributors gardening the issue tracker and labelling the questions as "questions", so I'm not convinced that it would be actually possible to keep the tracker tidy and clean for people not interested in answering questions.
Yours was not a question, then. We already allow feature requests in the tracker, and especially so the ones with concrete implementation ideas. I don't think this experience is that relevant since on this tracker your issue would still be open. Also we're not re-routing people to abandoned internet places... we're re-routing them to places filled with people answering go questions!
This is actually a bad thing. Because users won't search among closed issue to see if their question was answered in the past. Nobody cares about or looks at closed issues. On the other hand, in a forum or on stackoverflow you usually don't "close" or "archive" valid questions, and all the threads are kept there, so users 1) actually use to search button to look for older threads, because they're not stacked away in a "closed" page 2) resurrect old threads if they want to ask more things in topic with the thread
Having a centralized database of questions/answers is a valuable thing. That's why stackoverflow is widely used. At this point for most technologies you don't even have to actually "ask" a question. You just search and find a past thread with answers. Routing people to a couple of standard places has two benefits 1) there's an high chance of the question already having an answer, you just have to search 2) if that doesn't happen, the person asks the question there, enriching the questions/answers database.
You can fix this by closing nuts and routing people to forum.golangbridge.org and stackoverflow, so it shouldn't be used as an argument for allowing questions on the issue tracker.
I agree. I have the feeling that the people answering go questions on stackoverflow and forum.golangbridge.org are not the same that "patrol" the issue tracker.
The current separation between the issue tracker (only for bugs and feature requests/proposal) and questions/answers forums is beneficial because it allows us to keep the issue tracker a somewhat tidy, clean place that the people working on go can visit to find things to do; and it permits the kind of people that answer questions and discuss about the language (and there are many many more of these) to visit places that are exactly meant for this kind of interaction.
GitHub is superior to Google Groups for discussing code and searching for past questions. The bi-directional issue linking is nice and other places don't have that. If a bug or proposal topic is generating many questions then that shows in the issue.
If a question can't be answered in a reasonable amount of time (such as for usage of a third party library) then somewhere like golang-nuts would be more appropriate and the issue can be closed as "don't know".
You could also make a subset of the issue tracker into a quick-and-dirty q&a site: have questions.golang.org show a list of the titles of issues labeled Question that link to the issue on github and an "ask question" link that goes to the new issue form (assuming there's some way to set that up to be prefilled so it automatically gets labeled?)
Hi, here are my thoughts on this issue as a Gopher and Gophers Slack Admin.
I agree with Brad that it's pretty sad to reject people and turn them away from Github when they have a question. It would be nice if people could ask questions here and then drive pages like FAQ, or may lead to creating new ones.
However, currently as far as community goes, there are far less people active here, potentially answering / helping others than on other mediums, like the GoBridge Forum or the golang-nuts ML.
There's also the problem that Github really doesn't make it easy to allow people interested in helping the community to help them as there's no way to subscribe to new issues only, you can either get all the e-mails or you have to manually subscribe to the issues you are interested in (or comment on them).
And, so far I haven't mentioned the elephant in the room.
I leave out Reddit out of this, as despite the best efforts of the admins there, a whole thread can quickly turn bad for anyone having a question that needs to be answered.
I wonder if instead of the classic link to the questions wiki page, https://github.com/golang/go/wiki/Questions , a better answer could be to just answer with the contents of the page directly. Maybe a bot command could be added to open the issue on behalf of the user on the Forum and then link it here, add the rest of the reply, apply the
Finally, this is also a problem of image. When you navigate on golang.org, it's pretty hard to figure out where to get help from, or even to find the Contributing page (I always have to google for that one). I would love to have a redesigned website which puts more emphasis on helping users discover these kind of places and provide recommendations for officially endorsed support channels.
To the above reply I can also add the fact that it would create a lot of noise here, which would make it harder for the Go Team / people working on supporting the Go project itself to be effective at distinguishing generic usage questions from actual Go problems / proposals.
Also Github lacks a lot of functionality, chief among which threaded replies, and a decent search feature.
Another thing to consider is that currently the issue tracker itself doesn't really like
This would create too much noise for maintainers / people helping out and the current Github tooling is pretty bad at this (as mentioned earlier).
The current search defaults are
Is a question an issue?
A middle ground might be agreeing on a template text we all use saying something like:
I'm not sure what the best answer here is. I'm still spitballing.
changed the title from
proposal: consider allowing questions on the GitHub issue tracker
proposal: add new Question? label to issue tracker
Feb 26, 2018
If we do start allowing questions, we could easily provide a link by which the title of the issue is pre-populated. gopherbot can then do something sensible with it, which will catch most questions.
We could also provide a separate issue template for questions to ensure that people add as much relevant information as possible, structure things in a vaguely common way etc.
One request I would make; I, like a (small) number of folks, have the firehose of issues turned on, more for idle reading than anything. If questions can be asked via the GitHub issue tracker, the traffic will likely increase; by how much I'm unclear, but it would be fair to assume it will be some percentage of the existing traffic to golang-nuts, StackOverFlow, Twitter etc.
If gopherbot or something similar gained the ability to subscribe people to issues according to certain filter criteria, this would enable me to turn off the firehose, and folks more generally to more precisely specify the issue flow they are interested in. It would also help to eliminate the duplicate emails I get from GitHub about the PR associated with a Gerrit-bot linked CL (because you can't filter out PR emails from GitHub).