Why users cannot create Issues directly

(github.com)

165 points | by xpe 4 hours ago

20 comments

  • ok123456 1 hour ago
    100% agree.

    If it's someone else's project, they have full authority to decide what is and isn't an issue. With large enough projects, you're going to have enough bad actors, people who don't read error messages, and just downright crazy people. Throw in people using AI for dubious purposes like CVE inflation, and it's even worse.

    • NewJazz 51 minutes ago
      Yeah but a good issue tracker should be able to help you filter that stuff out. That ghostty finds discussions to be a better way to triage user requests/issues is somewhat quirky, although a perfectly valid option. As is just using issues, imo. Just good to make sure users know how to report an issue, and what information to include.
      • mitchellh 7 minutes ago
        To be clear, I think discussions on the whole as a product are pretty bad. I'm not happy having to use them, but given my experience trying different approaches across multiple "popular" projects on GH, this approach has so far been the least bad. Although I'm still sad about it.

        > Yeah but a good issue tracker should be able to help you filter that stuff out.

        Agreed. This highlights GitHub's issue management system being inadequate.

        (Note: I'm the creator/lead of Ghostty)

    • nutjob2 1 hour ago
      Don't forget the rude, entitled, and aggressive, they are legion.

      It's simply a great idea. The mindset should be 'understand what's happening', not 'this is the software's fault'.

      The discussion area also serves as a convenient explanation/exploration of the surrounding issues that is easy to find. It reduces the maintainer's workload and should be the default.

      • shevy-java 32 minutes ago
        Well, many of those things depend on assumptions. I don't mean you or your opionion here as such - I mean the words such as rude or entitled. These are often assumptions and may not be correct.

        For instance, to give a specific example: Andy Maleh maintains a project called glimmer. I thought glimmer was a fine idea ("one GUI to rule them all"), but ... interacting with Andy is like interacting with some strange AI really. He makes assumption about people who use the bugtracker ("you are not a good open source person!"), for instance, and then goes on to speculate about them being "bad actors" as a consequence of his own "analysis", which is typically flawed and incomplete. That totally surprised me. Then I had a look on reddit and he amassed a grand total of about 42 karma after 3 years. Now - reddit has tons of issues, crazy moderators and so forth, but when you reach 42 karma after 3 years only, yet have about 500 comments and 300 new threads created (all basically him trying to advertise glimmer, so self-promo), yet only 42 karma, then something is strange. Before I deleted my account at reddit recently, after 2 years I had 65.000 karma - again, the whole karma system is totally pointless on reddit, but if you only amass 42 karma, then something may be wrong. I then realised that he managed to antagonize more people by his attitude and opinions; you can see this on his "blog" posts like this:

        https://businessdiscriminationreport.blogspot.com/

        This is just one example of many more. In the rails/ruby ecosystem you have some strange people; DHH too with his "Europe will perish" articles, guess he is now a US TechBro (see https://world.hey.com/dhh/europe-is-weak-and-delusional-but-... and other low quality articles).

        The thing here, as TLDR, is that people have a different opinion, and summarizing this as "rude, entitled, and aggressive" really won't qualify. Andy classifed me as entitled; I don't think I am. I just have a completely different opinion to his - and often others - assessment of the situation, in particular when it is written text. A lot of intent is simply lost in text, that is why sometimes people write e. g. "/s" to denote sarcasm in text. I always found this very strange and I don't think I ever used /s at all as annotation in any of my texts. I do use smileys sometimes though.

  • Maxious 2 hours ago
    For example, memory leak investigation is currently spread across discussions, x/twitter and discord https://x.com/mitchellh/status/2004938171038277708 https://x.com/alxfazio/status/2004841392645050601 https://github.com/ghostty-org/ghostty/discussions/10114 https://github.com/ghostty-org/ghostty/discussions/9962

    but has not graduated to issue worthy status

    • quantummagic 2 hours ago
      That's a shame to hear. I had to give up on Ghostty because of its memory leak issue. Granted, it was on an 8GB system, but that should be enough to run a terminal without memory exhaustion a few times a week. Foot has been rock solid, even though it lacks some of Ghostty's niceties.
      • mitchellh 23 minutes ago
        Note that this is an active discussion where we're trying to get to a point of clarity where we can promote to an issue (when it is actionable). The discussion is open and this is the system working as intended!

        I want to clarify though that there isn't a known widespread "memory leak issue." You didn't say "widespread", but just in case that is taken by anyone else. :) To clarify, there are a few challenges here:

        1. The report at hand seems to affect a very limited number of users (given the lack of reports and information about them). There are lots of X meme posts about Ghostty in the macOS "Force Close" window using a massive amount of RAM but that isn't directly useful because that window also reports all the RAM _child processes_ are using (e.g. if you run a command in your shell that consumes 100 GB of RAM, macOS reports it as Ghostty using 100 GB of RAM). And the window by itself also doesn't tell us what you were doing in Ghostty. It farms good engagement, though.

        2. We've run Ghostty on Linux under Valgrind in a variety of configurations (the full GUI), we run all of Ghostty's unit tests under Valgrind in CI for every commit, and we've run Ghostty on macOS with the Xcode Instruments leak checker in a variety of configurations and we haven't yet been able to find any leaks. Both of these run fully clean. So, the "easy" tools can't find it.

        3. Following point 1 and 2, no maintainer familiar with the codebase has ever seen leaky behavior. Some of us run a build of Ghostty, working full time in a terminal, for weeks, and memory is stable.

        4. Our Discord has ~30K users, and within it, we only have one active user who periodically gets a large memory issue. They haven't been able to narrow this down to any specific reproduction and they aren't familiar enough with the codebase to debug it themselves, unfortunately. They're trying!

        To be clear, I 100% believe that there is some kind of leak affecting some specific configuration of users. That's why the discussion is open and we're soliciting input. I even spent about an hour today on the latest feedback (posted earlier today) trying to use that information to narrow it down. No dice, yet.

        If anyone has more info, we'd love to find this. :)

      • mi_lk 2 hours ago
        I’m sure they would appreciate a report as it doesn’t seem that it can be reproduced yet
      • favflam 2 hours ago
        btw, is it me or is there any justification for anyone including a developer to run more than 8GB of RAM for a laptop? I don't see functionality as having changed in the last 15 years.

        For me, only Rust compilation necessitates more RAM. But, I assume devs just do RAM heavy dev work on a server over ssh.

        • pdpi 1 hour ago
          There's all the usual "$APPLICATION is a memory hog" complaints, for one.

          In the SWE world, dev servers are a luxury that you don't get in most companies, and most people use their laptops as workstations. Depending on your workflow, you might well have a bunch of VMs/containers running.

          Even outside of SWE world, people have plenty of use for more than 8GiB of RAM. Large Photoshop documents with loads of layers, a DAW with a bazillion plugins and samples, anything involving 4k video are all workloads that would struggle running on such a small RAM allowance.

          • gizmo686 1 hour ago
            This depends on industry. Around here, working locally on laptop is a luxury, and most devs are required to treat their laptop like a thin client.

            Of course, being developer laptops, they all come with 16 gigs of RAM. In contrast, the remote VMs where we do all of the actual work are limited to 4GiB unless we get manager and IT approval for more.

        • afiori 1 hour ago
          Browser + 2 vscode + 4 docker container + MS Teams + postman + MongoDB Compass

          Sure it is bloated, but it is the stack we have for local development

        • tynorf 2 hours ago
          Chrome on my work laptop sits around 20-30GB all day every day.
          • gizmo686 1 hour ago
            How much would it take up if there was less RAM available. A web browser with a bunch of tabs open but not active seems like the type of system that can increase RAM usage by caching, and decrease it by swapping (either logically at the application level, or letting the OS actually swap)
          • typeofhuman 1 hour ago
            I wonder if having less RAM would compel you to read, commit to long term memory, and then close those 80 tabs you have open.
            • transcriptase 1 hour ago
              I wonder if a good public flogging would compel chrome and web devs to have 80 tabs take up far less than a gigabyte of memory like they should in a world where optimization wasn’t wholesale abandoned under the assumption that hardware improvements would compensate for their laziness and incompetence.
              • refulgentis 1 hour ago
                They do this stuff.

                I’m honestly amazed OP is managing 30 GB regularly. I’d wager it’s a tall tale. It’s sort of perfect troll bait on a forum because you end up with people sounding nuts, defending web browser ram usage, against the common position, that browsers are RAM hogs.

            • pdpi 1 hour ago
              If I'm doing work than involves three different libraries, I'm not reading and committing to memory the whole documentation for each of those libraries. I might well have a few tabs with some of those libraries' source files too. I can easily end up with tens of tabs open as a form of breadcrumb trail for an issue I'm tracking down.

              Then there's all the basic stuff — email and calendar are tabs in my browser, not standalone applications. Ditto the the ticket I'm working on.

              I think the real issue is that browsers need to some lightweight "sleep" mechanism that sits somewhere between a live tab and just keeping the source in cache.

    • hitekker 2 hours ago
      The author says in the first link he only heard it reported twice, which I'm guessing is the latter two links (the two discussions)

      Your second link looks like an X user trying to start a flamewar; the rest of the replies are hidden to me.

  • shevy-java 38 minutes ago
    I think this is ok. They attempt to add a barrier here, with the attempt to increase the quality of the issue suggested. This may not be the only goal; one may be to have fewer issues raised in total. But there may be several advantages, as well as disadvantages with that approach - it is simply a trade-off.

    In particular when I maintain an open source project, I have a lack of time in general so I need to move quickly. I actually don't mind issue discussions on my project, but people can not expect me to invest a lot of time into managing all of those; whether this is a discussion or an issue directly, is not so important, but I know that some project owners don't like open issues that remain open for years. It is kind of a difference in philosophy here.

    One trade off is that I am not so likely to get involved in such a project. I may start a discussion, but in general I am very chaotic and may never follow up on discussions I started, simply due to lack of time, too many things to do, forgetting too much too (I do keep notes locally, but these files just keep on growing!).

  • bsnnkv 14 minutes ago
    I'm a fan of this. My own projects on GitHub have an action[1] which autocloses and autolocks any opened issues until they have been reviewed and accepted by me, and I only consider feature requests from sponsors.

    The real miss here is that there isn't a way on GitHub to only allow maintainers to create issues, instead we are left with these subpar workarounds.

    [1]: https://github.com/LGUG2Z/komorebi/blob/master/.github/workf...

  • 1123581321 2 hours ago
    I agree with the general philosophy about user submissions. Browsing closed discussions looks a lot like browsing closed issues. So I'm not sure that the policy is successfully turning bug reports into discussions. But it's at least keeping Issues free from noise for contributors. Github could do more to nudge users into approaching Discussions differently. https://github.com/ghostty-org/ghostty/discussions?discussio...
    • nine_k 2 hours ago
      The point is the opposite, AFAICT. Any user complaint starts as a discussion. If an actionable bug report results from it, it goes to the tracker, which serves as list of problems to work on. A lot of discussions do not end this way, even though they may solve a user's issue anyway, e.g. by providing advice and reference.

      Definitely discussing things could also happen in the issue tracker, and some <Actionable> tag could be used to mark issues that are ready to work upon. But I suspect that Discussions are better suited for, well, discussions, while the facilities of the issue tracker can then be used by maintainers / contributors.

      I find this separation pretty smart.

      • drob518 2 hours ago
        Agreed. IMO, it makes sense to have a way to triage possible issues, confirm that they are, in fact, legitimate, and then create issue records to reflect them. As long as users have a way to report anomalous behavior, then, as you say, it’s really no different than using tags on issues. Po-tay-to, po-tah-to.
  • keyle 3 hours ago
    Issues simply don't scale. Using discussions as a filter is a good idea.

    If you spend more time closing issues than creating them manually from discussions, the math adds up.

    • nh2 2 hours ago
      What is the actual difference?

      As a maintainers, if you want to be be able to tell real issues from non-issue discussions, you still gave to read them (triage). That's what's taking time.

      I don't see how transforming a discussion into an issue is less effort than the other way around. Both are a click.

      Github's issues and discussions seem the same feature to me (almost identical UI with different naming).

      The only potential benefit I can see is that discussions have a top-level upvote count.

      • oofbey 2 hours ago
        If discussions had a more modern UI with threads or something then the difference might be real. But AFAICT it’s the same set of functionality, so it’s effectively equivalent to a tag.
        • just-ok 54 minutes ago
          They sorta do: each comment on a discussion starts a thread you can reply to, unlike on issues where you have to keep quoting each other to track a topic if there’s more than one. It still sucks, especially since long threads are collapsed and thus harder to ctrl-f or link a reply, but it’s something.
      • doctorpangloss 2 hours ago
        > able to tell real issues from non-issue discussions

        imo almost all issues are real, including "non-issue" - i think you mean non-bug - "discussions." for example it is meaningful that discussions show a potential documentation feature, and products like "a terminal" are complete when their features are authored and also fully documented or discoverable (so intuitive as to not require documentation).

        99% of the audience of github projects are other developers, not non-programmer end users. it is almost always wrong to think of issues as not real, every open source maintainer who gets hung up on wanting a category of issues narrower than the ones needed to make their product succeed winds up delegating their product development to a team of professionals and loses control (for an example that I know well: ComfyUI).

    • cookiengineer 2 hours ago
      > If you spend more time closing issues than creating them manually from discussions, the math adds up.

      The math is even better if you just ignore all issues and close them after two weeks for being stale!

      Wish this was /s but it isn't.

      • keyle 1 hour ago
        As long as it does not affect the metrics of your resume! /s
    • sammy2255 2 hours ago
      Why do you say that? Curl (arguably one of the most used open source software in the world) currently has 5 open issues https://github.com/curl/curl/issues
      • mi_lk 2 hours ago
        Not sure curl is a good example since it’s already very mature and boring (in a good way)
  • eviks 2 hours ago
    > This pattern makes it easier for maintainers or contributors to find issues to work on since every issue is ready to be worked on.

    How is this not trivially solved via a "ready-to-be-worked-on" tag?

    • mitchellh 11 minutes ago
      Because I don't want my default view to be "triage." If GitHub allowed default issue views (and reflected that in the issue count in the tabs as well), then maybe. But currently, it doesn't work. I've tried it at large project scale across many (multiple projects with more than 20K stars and millions of downloads).

      Compared to that, this system has been a huge success. It has its own problems, but it's directionally better.

    • 8n4vidtmkvmk 54 minutes ago
      For one, it might require several rounds of back and forth before its ready to receive the tag, but now the details are spread across several comments instead of neatly at the top
      • eviks 46 minutes ago
        No, you can always summarize details neatly at the top, you can edit comments, you know?
        • NewJazz 30 minutes ago
          Yes but the person who is qualified to summarize might not be the person who initiated a discussion.
          • eviks 19 minutes ago
            No again, the person qualified can edit the initial comment.
            • NewJazz 14 minutes ago
              Hmm didn't realize that repo owners could edit other folks' comments
    • em-bee 40 minutes ago
      that solution is not trivial because it requires permission for anyone to comment on issues, which invites irrelevant or unhelpful comments or even complaints. the separation allows issues to be limited to developers only, those who actually work to fix the issues.

      technically, messages are messages. this approach no more than grouping messages into different forums. it could also all be under discussion with a sub forum for issues, one for features, one for other topics, etc, and then there would need to be a permission system for each sub forum.

      so all this does is to create two spheres of access for users and developers. and that's the point.

      in the end it's really a matter of taste and preference.

      • eviks 34 minutes ago
        That's not true, you can limit comments to collaborators if you don't like them. Although note that it's something you've made up, comments are not part of the original list of reasons. Moreover, comments aren't limited in the actual issues, so nothing prevents unhelpful comments, leaving your issue unresolved
        • em-bee 26 minutes ago
          well that's exactly what they did, limit comments to collaborators. anyone else can comment in the discussion forum.
          • eviks 23 minutes ago
            Well, that's not what they did, did you not read the last sentence of my previous comment (or checked for yourself)?
    • voxl 1 hour ago
      How is it not trivially solved by a discussion section? Why is your solution better for someone else's work flow? Why do you feel like you get to impose your way of doing work on an open source project?
      • eviks 1 hour ago
        Why do you feel like it's ok to make up nonsense about imposing? How can I impose anything on that project? Why break the expected/established workflow of users if the explanation doesn't work? Why are you asking 3 questions without answering 1?
        • em-bee 36 minutes ago
          each project has its own workflow. no established workflow is broken. github traditionally imposed a different workflow because initially it didn't even have discussions.
  • Groxx 1 hour ago
    Hmm. I like it.

    When I have a clear "Issue" which I've already researched, it's a bit of friction, but it doesn't seem like any more work to dump exactly the same text into a Discussion... and yea. Issues becoming a dumping ground is a real issue. This seems like a reasonable strategy / experiment.

  • gizmo686 1 hour ago
    I have never worked on projects that give non members write access to our bug tracker.

    This includes both our open source project not giving the public access. And our entirely closed source internal projects not giving other developers within the company write access.

  • literatepeople 2 hours ago
    Seems great to me. Perhaps GitHub should look into incorporating this into the UX somehow? So many projects are issues linking to other issues, I would love to see other projects adopt this to make github task tracking more usable.
  • pella 59 minutes ago
    2025-12-30 https://x.com/mitchellh/status/2006114026191769924

    "Slop drives me crazy and it feels like 95+% of bug reports, but man, AI code analysis is getting really good. There are users out there reporting bugs that don't know ANYTHING about our stack, but are great AI drivers and producing some high quality issue reports.

    This person (linked below) was experiencing Ghostty crashes and took it upon themselves to use AI to write a python script that can decode our crash files, match them up with our dsym files, and analyze the codebase for attempting to find the root cause, and extracted that into an Agent Skill.

    They then came into Discord, warned us they don't know Zig at all, don't know macOS dev at all, don't know terminals at all, and that they used AI, but that they thought critically about the issues and believed they were real and asked if we'd accept them. I took a look at one, was impressed, and said send them all.

    This fixed 4 real crashing cases that I was able to manually verify and write a fix for from someone who -- on paper -- had no fucking clue what they were talking about. And yet, they drove an AI with expert skill.

    I want to call out that in addition to driving AI with expert skill, they navigated the terrain with expert skill as well. They didn't just toss slop up on our repo. They came to Discord as a human, reached out as a human, and talked to other humans about what they've done. They were careful and thoughtful about the process.

    People like this give me hope for what is possible. But it really, really depends on high quality people like this. Most today -- to continue the analogy -- are unfortunately driving like a teenager who has only driven toy go-karts."

    "Examples: https://github.com/ghostty-org/ghostty/discussions?discussio... "

  • cortesoft 2 hours ago
    Is this fundamentally different than just using tags on issues to separate ready to work on things from initial user submissions?
    • jonahx 1 hour ago
      I feel like "technically, no" but "practically, yes".

      Somehow the distinction of just adding a tag / using filters doesn't communicate the cultural/process distinction in the same way.

  • lawgimenez 2 hours ago
  • purpleidea 1 hour ago
    How is the technical block done? Just a bot closing issues or is there some github setting for this?
  • paxys 2 hours ago
    So they are using Issues as a project board to track and manage ongoing work items, but Projects is built for exactly that. May be better in the long term to move project management to Projects and let people file bugs with as little friction as possible.
  • Animats 38 minutes ago
    This is a good AI application - something which accepts user problem reports and tries to group them together. Maybe even reproducing the bug in a sandbox if the description is good enough. Engaging with the complainant to get more info.

    This could be useful if not used for enshittification, where you have to get past the chatbot to reach anybody useful.

  • rbbydotdev 2 hours ago
    I wonder if just tagging and filtering automatically via a GitHub setting which currently doesn’t exist could serve the same purpose
  • otterley 1 hour ago
    (2014)
  • xpe 4 hours ago
    Personally, I dig it! Selected parts from linked page:

    """Unlike some other projects, Ghostty does not use the issue tracker for discussion or feature requests. Instead, we use GitHub discussions for that. Once a discussion reaches a point where a well-understood, actionable item is identified, it is moved to the issue tracker. This pattern makes it easier for maintainers or contributors to find issues to work on since every issue is ready to be worked on.

    This approach is based on years of experience maintaining open source projects and observing that 80-90% of what users think are bugs are either misunderstandings, environmental problems, or configuration errors by the users themselves.[...]"""

  • eduction 1 hour ago
    > 80-90% of what users think are bugs are either misunderstandings, environmental problems, or configuration errors by the users themselves. For what's left, the majority are often feature requests (unimplemented features) and not bugs (malfunctioning features).

    Do I ever make mistakes?

    No. It’s the users who are wrong.

    • 8n4vidtmkvmk 18 minutes ago
      I can believe this. I think it depends on the project, but there are certainly some with very high false positives. Maybe that's indicative of a confusing app, I don't know.