Tabs or spaces, Python or JavaScript, Windows or Mac, Issues or Discussions? Everything depends on the situation. Today, we're going to look at GitHub Discussions and GitHub Issues to explain the differences and when you should use each.
Launch of GitHub Issues and Discussions
GitHub Issues was launched in 2009 as a way for software teams to collaborate. Developers and users now had a way to submit bugs, request features, and report other issues related to the project. Issues were designed to be a place to talk about a bug, feature, or update, before working on it, and closing out the issue. We know users don't always use a product exactly as intended, and developers were finding themselves having lengthy Discussions around whether they should work on an idea or issue in the first place.
This is where GitHub Discussions comes into play. Launched in 2020, Discussions are a way for developers and the community to have discussions—conversations around features, bugs, and suggestions—outside the codebase. Discussions aren't closed the way issues are, and thus they can serve as a place for maintaining FAQs, documentation, and hosted threaded conversations.
When should you use a Discussion or an Issue?
In short, Issues should be a way to track tasks and defined pieces of work. Discussions on the other hand are great for hosting questions, ideas, and a way to collaborate before making a decision. They are also great for community building, hosting conversations around FAQs, show and tells, and more.
If you ever create and Issue that you think should be a Discussion, and vice versa, you can quickly convert an Issue to a Discussion or a Discussion to an Issue. This is also helpful-as an example-if someone has opened a Discussion and a decision has been made, you can convert it to an Issue to complete the work. You can also convert an Issue to Discussion if someone has opened an Issue for a feature request, and it turns into a Discussion about whether the feature should be built, rather than being a task to implement the feature.
When it comes down to it, it depends on the situation whether you use GitHub Issues or Discussions. Both these products are great ways to collaborate and build projects, and I hope I've given you plenty of information to make a decision on when you should open a GitHub Issue, and when you should create a GitHub Discussion.