GitHub doesn't offer great tools to clearly separate bug reports, improvement suggestions and feature requests.
Filtering by tag only takes a single click. It's not hard.
But if you want to implement a clear separation, you have to actually find a way of defining the separate categories, documenting how they are different, which to use when, and once you're done, it's a not a given that whatever categorization you've settled upon for your project would work for mine.
I think it's a fine trade-off to have something generic, and let each project add whatever tags work for it.
I wouldn't be against renaming "issues" to something more "generic". Maybe "change requests"?
* Separate "Issues" and "Requests", give each their own tab in the top-level UI. This creates a relatively clean separation between what requires attention because something is broken and what can be ignored until you want ideas for what features can be added or otherwise improved. Maybe GitHub doesn't need anything more generic than this.
* Have a category system, where the maintainer can create their own issue categories. Put these categories, with the number of entries in each category, in the sidebar, so that that's what people see rather than the one "Issues" number.
Maybe both of those solutions are bad and a good UX designer (not a random commenter on HN who has thought about this for 2 minutes) can think of something better. Maybe both of those solutions are bad and there is no good solution and the current approach is the best possible. I don't know. Notably though, "there is no solution to the problem that's not worse than the problem itself" does not mean the same as "there is no problem".
And then we also need to separate tab for discussions and questions since those are also very common use cases for issues.
> Have a category system, where the maintainer can create their own issue categories. Put these categories, with the number of entries in each category, in the sidebar, so that that's what people see rather than the one "Issues" number.
The only part of this that doesn't exist is a tab that links directly to the labels page, which does show the number open/closed issues per label
It seems like the problem you are trying to solve is potential users quickly dismissing projects with too many open issues. I would agree that looking just at an open issue count is not the best way to assess the health of a project. I think you are better looking at open issues will un-merged pull requests and why they aren't merged. You can also look at a sample of open issues to see how organized and responsive the developers are and what types of bugs tend to be present. All of these require far more effort than just clicking over to the issues tab and then clicking into the labels page to see a breakdown of open issues by label. I would say that users that don't take the effort to do this basic research of before pulling in a dependency aren't the high value users that will help contribute to the value of the project.
No. The issue I am talking about is that there is no clear separation between things which must be addressed (bugs) and things which don't (feature requests). There is no possible way I could have made that more clear. I have repeated this in almost every comment on this topic. You seem to be intentionally misunderstanding me at this point.
The distinction between "things which must be addressed" and "things which don't" doesn't map cleanly onto the distinction between "bug report" and "feature request" and there are also issues that don't fall cleanly into either category.
Examples:
1) A user opens an issues because a library doesn't work properly on platform X and fails with an error message. The developer of that library closes that issue with a "won't fix" because they don't support the platform. Is this a bug report or a feature request?
2) A user opens an issues because one of the dependencies of a library is no longer being developed so won't support moving to the new version of the language the library is written in. Is this a bug report or a feature request?
3) A project owner opens an issue because a new standard has been released that the library has to support because it is critical to it's ability to interoperate with other parts of the software ecosystem. This could well be much higher priority than many minor edge-case bugs, but is still new functionality.
The answers to these questions can, and should, vary from project to project and issue to issue depending on the larger context. An issue tracking system should be flexible enough to encompass these different needs.
I charitably assumed you were focused on "potential users quickly dismissing projects with too many open issues" since that at least provides a clear reason for why the current methods of categorizing issues isn't good. Since that assumption was incorrect, I still don't understand exactly what exactly your issue is with github issues.
You've repeatedly conflated categorization of issues based on priority and categorization of issues based on relation to the spec. Just because something is a bug report doesn't mean it needs to be fixed and just because something is a new feature doesn't mean that it shouldn't prioritized over bugs. Ignoring this simply serves to keep the conversation running in circles.
The problem is that even if you had multiple top-level distinctions, you would still have to make sure that people opening them are disciplined (and pay attention) enough to file them in the right category. Just because there's a separate "feature request" top-level tab doesn't mean that nobody will ever open a "bug" asking for a "feature". Especially if not everybody is allowed to ask for new features.
And I'm not even going into the difference between "improvement" and "feature" requests.
Because when you go in the issues tab, you then choose to only see "bugs", which will show you the one that needs handling, and you can ignore the 999 others.
But no, the wording isn't the only/main issue IMO, it's the lack of a clean separation between problems which should be fixed and non-problems which don't need to ever be resolved. It's a cognitive thing for maintainers, I believe mixing up those things contribute to burn-out through the purely psychological effects of being told by the UI that there are 100 things which need to be solved when there may in fact only be 5, it's a public perception thing when the stat that's prominently placed on the repo page is the number of open issues.
And yes, it's vague. It's not the technical lack of a good enough labelling and search system. And maybe different people react differently to this stuff, maybe some people have no trouble dealing with the lack of a clean separation. But given the fact that burn-out in open source is such a huge issue, maybe conflating the stuff which must be fixed and the stuff which doesn't have to be fixed isn't such a great idea.
If all you are saying is that it is a UI issue to mix those two categories when you open the issues page for the first time, it is pretty easy to bookmark or link to a list of issues filtered by label.
If that doesn't relate to what you are saying in anyway... then I am really unclear on what you are trying to say
A healthy project can also close feature requests they don't want to implement. They can also choose to close every issue that isn't a bug report because they use different tools for feature planning and discussion. They can also choose to just automatically close every issue because they don't use github issues at all, but prefer other tools.
The difference is that they're all under the label "issues" implying it's something that needs to be fixed. Sure, you could label it, but that's a workaround and it's still in a category called "issues".
When I hear the word "issue", I hear something roughly similar to "problem"; it certainly has a negative connotation. Maybe I'm just wrong, maybe I'm the only person in the world who associates "issue" with something negative. And even if I'm wrong, it still has nothing to do with marketing.
Since you don't like the connotations of word "issue", what word would you suggest to replace it? Keep it mind that it needs to be similarly broad and encompass not just bug reports and feature requests, but also documentation improvements, design discussions and more.
> Since you don't like the connotations of word "issue", what word would you suggest to replace it? Keep it mind that it needs to be similarly broad and encompass not just bug reports and feature requests, but also documentation improvements, design discussions and more.
Only if you want to keep everything about the UI the same except for the word used for what's currently called "issues". That's not something I have expressed any sort of desire for.
I am explaining that you are mistaken about the meaning of the term. I'm backed up by pretty much any dictionary you use to look the word up in.
If you don't dispute the literal meaning of the word, but think it carries a negative connotation, that is not a semantic issue.
> Only if you want to keep everything about the UI the same except for the word used for what's currently called "issues". That's not something I have expressed any sort of desire for.
We currently have a broad category of things, these things need to have a name. You seem to think that "issue" is a bad name for this category of things, so I am asking: what you think is a better term for this category?
We can further break down that category into "bug reports", "feature requests", "change requests", "discussions" and add better UI elements to surface those groups but the overall system that manages these all these items still needs a general name for what it is managing.
As a user it legitimately is an issue, in the commonly used sense, if you cannot do what you need to do with software, even if that software is working exactly as designed and no one has yet flagged some alternate functionality to add with an enhancement.
That's a you problem.
Ignoring the definition of issue (which also disagrees with your "negative" outlook), GitHub Issues, the product/feature, is clearly defined and encompasses things that deserve discussion, debate, or dispute.
A feature request is very much something that should be discussed.
> Maybe I'm just wrong,
Yes, you are. Rather than push back, accept it and move on.
Except that GitHub Issues originally only encompassed bugs. Labels weren't added until later that allowed you to filter by "type". Also, GitHub Discussions are for discussions, not GitHub Issues. GitHub themselves say that Issues is "often referred to as GitHub's bug-tracking system", so I wouldn't say that it's so "clearly defined".
https://docs.github.com/en/get-started/quickstart/communicat...
That quote is directly below a quite clear explanation of what issues are for: "are useful for discussing specific details of a project such as bug reports, planned improvements and feedback."
Each project can decide for themselves at where they draw the line in terms of what they want where. That is a good thing, it makes github issues flexible for a wide range of projects that are organized in a wide variety of manners. It seems like a shame to lose that flexibility to make it easier for people who are too lazy to do more than look at the count of open issues when evaluating the health of a project.
I find it quite difficult to follow the discussion around a non-trivial feature request when it's just a regular issue.
It's a neutral term.
You mean, until you manage your project...gasp. How horrible!
Some projects can rack up that many request quickly and overwhelming the maintainer but that isn't the norm. Warranted or not this kind of buildup is usually a sign of neglect.
That's just changing how GitHub presents the "issues." They could just as easily remove the global number display and simply display the count of each type of issue on the issues page.
> When you click the Issues tab, GitHub shows you all the feature requests you don't care about until you manually go and filter them out.
That's just a UX/UI concern. You can easily link to feature requests only.
None of these are "issues" related, but rather, just how it's displayed. Your concern is with the visuals.
There you go. That’s the problem.