349 comments

[ 2.8 ms ] story [ 308 ms ] thread
That took a long long time for them to respond. It's day 29 now. In fact, they could have communicated something after even a week - probably something similar to what they have actually written, only more 'We're looking at your list and we'll try to get back to you as soon as possible'.

Where is Jono Bacon in all of this?

edit: OK, I feel kind of bad for mentioning Jono because I've watched him do awesome things over the years. I've sent him an email out of the blue asking him to respond - hopefully he gets it.

They did sort of respond on the initial HN thread though. Commenting means committing and if you do the wrong decision in haste, you might screwed up in the process (as an individual or a company). Is 29 days too long? Maybe.

They do address the slowness on the commit too and they provided a timeline.

Oh, I'm glad they did respond :-) In fact, I actually think that if they hadn't responded they would be seeing an exodus of projects.

Given that the issues being highlighted in that letter are long standing though, I don't think it would have been hasty to say that they appreciate the feedback and they are reviewing.

It's great of course that they responded on HN. But the fact that they only responded on HN and had no way of responding on their own site is... a bit embarrassing actually! At least I sort of feel that they should feel that way.

I actually pay for their lowest monthly tier as my needs are very limited. I largely like GitHub and will stick with them, but they just have to do something about their community engagement. If they don't, then someone is going to eat their lunch!

edit: kind of surprised at how some are responding to my comment - what did I say that was so wrong? I'm genuinely curious - it's not just me saying and thinking this, after all!

(comment deleted)
(comment deleted)
I agree with you, and when Jono made his post on the original Hacker News thread, I immediately followed him on twitter and even CC'd him on tweets that had people talking about things hoping that he'd respond to them, at least post a public post outside of the HN thread saying that they're working on things... But he was more worried about promoting the community leadership summit.

Kind of sad honestly. Not very good community leadership by ignoring your own community to promote a community leadership conference.

To be fair, he was flying into linux.conf.au all the way in Geelong - that's a long flight. It could well have been that he's recovering - I notice that his last blog post was February 1st.

And of course I'm kicking myself that I missed the conference entirely. Sigh. Next year I guess.

You are not kidding about the long flight. I wish someone could move Australia a little closer to California. :-)

Hope to see you at linux.conf.au next year, chris_wot! :-)

I have to assume he's been told not to speak about details until the executives came up with a plan. If that is the case, GitHub management is really making his job a living hell. Why have someone whose job it is to work with the community if everything has to be micro-managed by higher-ups?
My apologies for the lack of public responsiveness. Thanks, chris_wot, for jumpstarting the discussion.

As outlined in Brandon's post linked here, we have been taking some time to really delve into the core of these issues and explore what the best solutions are. This has involved some internal discussion as well as reaching out to various parts of our community to gather feedback and perspectives. We take these concerns really seriously and want to ensure we can explore the best long and short-term solutions. As you can probably understand, we want to have some of our ducks in a row before sharing some next steps.

Rest assured that even though there has not been much publicly shared yet, we are definitely exploring ways to address these issues.

(comment deleted)
Wow, It took them 29 days to say "we hear you stay tuned"
Some other companies usually don't reply at all. E.g. Apple, Microsoft, etc.
It's really sad though when you consider gitlab answered a while back.
And have suffered for it in the past (though Apple, less so, it is true).
But Apple has a reputation of not saying anything outside of the big releases and for the most part didn't have to be responsive because the periodic hype usually drowned out any criticism.

GitHub on the other hand largely owes its reputation to how it is perceived by open source communities. Their perceived value is based less on the quality of their product(s) and more on being the place all open source projects live (moreso than even SourceForge ever was -- even companies like Google and Microsoft have moved their open source projects to GitHub simply because that's where developers expect open source projects to live).

Apple can get by largely on marketing and the perceived quality of their products. GitHub relies on open source projects, even if they don't make any money of them directly. Hosting open source projects is just an advertising expense.

If the majority of noteworthy open source projects left GitHub (especially if they left to the same platform, e.g. GitLab.com or BitBucket) their reputation as "the place where open source projects live" would evaporate and they'd have to fight the same friction for new users as their competitors. Additionally they'd probably become less interesting for third-party integrations as they can no longer serve as a cheap showcase for those products/services. This would again harm their appeal to paid users.

Yup, agree with everything you say. You just said it better than I could have :-)
Aspiring to communicate with developers as well as Apple does is a perverse goal. Microsoft for example has a status page for their browser work [1] just like Google does for Chrome [2]. (The Microsoft page lets people vote for their favorite features, the Chrome one does it via stars on their tickets.) Something like either of those from Github would be great.

[1] https://dev.windows.com/en-us/microsoft-edge/platform/status... [2] https://www.chromestatus.com/features

Submitting bug reports to Apple is about as fruitful as playing tennis with the pacific ocean.
Dunno, the ocean can send back your tennis balls. They'll be went, they may take a long time and they may come back on a different beach altogether, but there's a chance.

Radar issues? They just fall off the radar.

ROTFL. I report only when they have really annoying bugs and still don't condone their way of hiding issues from other (paying) users inside a private system. They answer after weeks, if they do, and then they expect me to retest next day. Sorry, but that's not gonna work.
At least better than on Android.

Even goddamn String::split is directly, and reproducably, broken. WONTFIX.

Microsoft usually responds pretty fast with "wont fix"
Not true, sometimes they respond with "we'll look at it for the next major release in 2 years". I've seen that on a lot of 5-year-old items that are still broken.
They finally added task bar on multiple screens, which was in the wings for a very long time.
You can add Google to that list but just because some other big companies do it does not make it right. Nor should we accept it.
I will grant you that. At the same time, it is a horrible benchmark and it is even more deadly when you compare github, a company, among many, that offers hosting to a monopoly that you can't easily move away from.
Or, more cynically, it took them 6 days to find a way to respond to some of the problems raised by the Business Insider article on GitHub without addressing the article directly.

"Dear GitHub" paints a picture of feature requests going unanswered. To a software developer userbase that isn't damning on it's own. We all understand the realities of software project priorities, and users can be accommodating to their timeline (and changing development platforms isn't a trivial task). But that accommodating attitude is severely damaged by learning the business doesn't care about serving that userbase anymore.

Exactly what I was thinking: The BI article lit a fire under their arse and this is a quick scramble rather than a long-considered response.
It's almost as if planning changes to ui and backend design used by millions of people on a daily basis just can't happen instantly...
It's almost as if it takes 29 days to say that you have read an open letter and respond that you will get back to them...
It's almost as if they did that, then we would be reading a post on why it is taking so long, and why didn't github supply realtime daily blog posts on exactly what every single engineer is doing every day.

They are damned either way since everyone now days believes they deserve every question they post answered immediately and if they don't they are ignoring their customers. If they do, and then don't turn around and immediately release a product they are also shunned. But the sentiment here these days is pretty needy and entitled so I understand...

What's being asked for here isn't exactly onerous, you know.

It's not unreasonable to expect a response to an open letter, signed by some very nontrivial names, in less than a month.

It's not unreasonable to expect something other than bullshit hand-wavy corpspeak.

It's not unreasonable to address the letter, point by point, and lay out why they're doing or not doing something.

If the organization has grown so bureaucratic that they can't manage these simple few things in a timely manner, that's another huge point against them.

It's always more complex than most on HN think. I've seen it firsthand after AWS outages and the laughably simplistic solutions or complaints offered up here.

So they respond immediately that they are looking into it. Then this post would be raging that it has been 30 days without any updates.

So they should reprioritize everyone who needs to be involved and sideline their current work, move to this project and start tossing updates over the wall to satisfy the mob? There are a lot more people involved with big websites/infrastructure when you have millions of customers and everyone here seems to happily ignore that fact when it is something they believe they are entitled to have because "its easy". They shouldn't be responding w/ hand-wavy answers just to get the enraged masses something to chew on, what happens if they don't come through?

Everyone should just calm down and stop whining. They've responded that they are working on a solution, it will take a while to implement.

> Everyone should just calm down and stop whining. They've responded that they are working on a solution, it will take a while to implement.

As someone who's actually involved in the Dear Github movement and not just some commenter on HN, not a single one of us wanted them to respond immediately with "We're doing this, and this for you RIGHT NOW" and stop everything their doing.

While today's response is a good sign, it does nothing more than satisfy what you should have done from the start. Respond that they are aware of the situation and will have a better response in time. That time could be 3 days, 3 weeks, or 3 months. Just acknowledging that they seen it and are addressing it is good enough.

Their support has been notorious (we've outlined it on the letter) for not being responsive... So the best response is quietness for almost a month, just to say "We see your letter, we will prepare something soon."?

You really, really need to reach out to Jono Bacon via email.
This article was covered by top tech news sources, why the heck does everyone need to reach out privately?
I thought you said you were directly involved with that letter? Don't you want to talk to one of the people who could make that happen?
> But the sentiment here these days is pretty needy and entitled so I understand

Don't be so silly. Plenty of people pay for the service, to ensure it serves the purpose it advertises. They're utterly entitled to complain if it doesn't.

I don't think anyone was expecting a list of specific measures, but more something like what they published today. "We heard you, we'll report back in a month once we figured out what we can do" is (IMHO) better than silence.
Yeah, how dare you take your time to respond to non-paying customers.
This seems like an unrealistic attitude. The free users running open source projects on GitHub are part of what made them so big and successful.
Non-paying customers? I pay for a private repos on my account, and for repos on 3 orgs. That's $82/mo. Many others also pay for private repos. Hardly non-paying customers.
Maybe they were busy fighting such heinous evils as meritocracy and inappropriate language.
They could have acknowledged the problem quickly, but without an actual plan to implement something useful in a close time frame someone would have called the bluff.

Insulting customers with empty, insincere declarations is worse than working in silence.

Or, they got the original letter and only then decided to implement some changes. It could take 29 days to get management level approval for switching developement to issues, and to get an idea if all those issue changes are possible, before they are willing to publically announce it
That's certainly possible, but if so then it's a pretty sad indictment.

If it takes 29 days just to get approval to say you're going to work on the problem, imagine how long it will take to actually get something done.

I distinctly remember them responding to Dear Github previously, and pretty quickly.
They were probably resisting the urge to say "We give you an awesome and extremely valuable product for free and all you fuckers do is complain."
My credit card statement every month with 3 charges from GitHub totaling $82 is hardly free.
Brutal delay in responding to their most important constituent? What the hell? This wasn't a minor user's feature request, it was an open letter signed by a ton of major open source leaders. If I was an investor in GitHub I would fire the CEO.
That's the problem. GitHub brass thinks their most important constituent is the people paying thousands of dollars to buy GitHub Enterprise. The only reason they have the enterprise customers is because they got popular with open source first. However, at this point their enterprise popularity may be big enough that success there is self-sustaining -- enterprises make decisions based more on what other enterprises do rather than on what open source and small companies do.

That being said, I bet that enterprises are screaming about Issues too. Enterprise loves their custom fields.

Enterprises use JIRA and various github plugins, works a treat and keeps PM types happy. This is about OSS projects that are to small for JIRA/Bugzilla, but have outgrown the limited github issue tracker.
You say that, but much has changed in the past 10 years. If it truly were "up to enterprises", we wouldn't be using Git in the first place.
(comment deleted)
> The only reason they have the enterprise customers is because they got popular with open source first.

I have absolutely no idea how GitHub could have lost sight of this simple fact.

Didn't they just replace their complete management?

That'd explain it.

Well, if they responded within a day, the answer would be something like "we'll look that up".

Because they waited for almost a month, they can confidently say something like "we thought about your issues thoroughly and we are ready to take some actions to resolve them".

Sure, they had a more meaningful response, but a public response immediately saying "We hear you, and we'll have a more detailed response after we look things over. Thank you." Would have sufficed and been way better for their case.

Ignoring your users just to spend a month writing a response to those users is not in the best interests.

Once you strip out the fluff, those sentences are effectively identical. It's not like they said what they'll be doing. Just a bunch of hand-wavey "we're working on it".

  their most important constituent
Do you mean their millions of users? In which case, is this one letter a voice for every single one of them and is this one letter the only request to come from those -- again -- millions of users? Or do you specifically mean those on the letter, in which case what makes them their 'most important constituents' over all the other organizations, open source projects, enterprise users, and developers?
I'll be more optimistic and be happy they replied and very interested in what they have in store. They say "next week" and it's Friday so it won't take that long.
"Issues haven't gotten much attention from GitHub these past few years and that was a mistake, but we've never stopped thinking about or caring about you and your communities."

A lot of thinking but no action. Github, what have you been up to these years??

Keeping a gigantic software application running, mainly. The ease of your role as a bystander and critic in no way reflects the work they have to do to keep the system up.
You can see a list by scrolling through:

https://github.com/blog

One of the more obvious things is that running a huge, popular app is non-trivial, particularly if your users do things which get e.g. governments to attack your site.

I wish more companies would take more time to respond to these sorts of situations. Perhaps this was excessive (I see conflicting reports of where they responded and when). But...

Let things cool off, take a hard look at things internally, get the stakeholders committed to actual change, then provide an update. I'm far more likely to believe that then even a perfectly executed PR play. I've watched even the most pathological and idiotic tech people get good at those the past 10 years. Beware people with good haircuts who say nothing and only appear during times of trouble.

> Let things cool off, take a hard look at things internally, get the stakeholders committed to actual change, then provide an update.

This is not an update - this is "we're looking into it", which should precede the internal soul-searching and actual change. They should have released this the moment they decided they were going to look into it - to outsiders, that moment seemed to be 29 days after the open letter was published.

I wonder if this has more to do with ESLint[1] than the letter.

[1]:https://github.com/eslint/eslint/issues/5205

Nope. We'd been working on our response ever since Dear GitHub was published. It just took a little time because we wanted to think long and hard about our response - beyond just the words we used to respond – and actually consider how we are interacting with the community, and where we can make demonstrable improvements. It is just coincidence that the ESLint thread happened this week, and our response came out today.
You really should consider telling those who filed the letter that you were at least working on it. Did you expect them to know?!?
Did they who filed the letter ask? If they asked and didn't get a reply to the effect of "we're working on it", then I can see your point. If they didn't ask, well then that's on them. I not finding any stories about them asking about what's going on and not receiving a reply, so I'll assume the latter, since I'm sure the former would have been posted about.
Who, precisely, were they meant to ask?

Perhaps you should reread that letter:

However, many of us are frustrated. Those of us who run some of the most popular projects on GitHub feel completely ignored by you. We’ve gone through the only support channel that you have given us either to receive an empty response or even no response at all. We have no visibility into what has happened with our requests, or whether GitHub is working on them.

It's a statement. There's no question there.
It's a statement that said that they asked them to address some critical issues via their regular support channel. The statement said they have already reached out, and they had nowhere else to go so hence the open letter.

Or in other words, to answer the question I was asked (which was "Did they who filed the letter ask?"), yes, they did ask. Apparently repeatedly.

They were in the HN thread at least, not sure about elsewhere.
I think it looks worse that it took so long to respond without any demonstrable improvements.
I disagree: I'd rather see a well reasoned response than a knee jerk relation. If they had decided _not_ to do anything, I'd prefer to have them think about it first.

That said, they set the bar pretty high, and now they need to execute.

What world do we live in that 29 days is an unacceptably long amount of time to deliver a feature that affects 0.1% of millions of users?
This world. Seriously their response was some words, that doesn't take that long to come up with. 29 days to go to production on that is not good. Adding a simple feature on a project which I am pretty sure they say they deploy daily on shouldn't take 29 days when you have the amount of talent they have. I am sure people aren't expecting the world, but 29 days should equal some text saying ok we're listening here is something we've done.
(comment deleted)
They’re already working on a lot of different things; they’re not just there waiting for someone to write a letter and then jump on coding everything that’s written in.
Oh, the classic "HR" response. "We're very busy here".

Well, if they truly have "more imporant things to do than address community ire", then this also means that they agree to take the community's ire.

I didn’t say they have more important things to do but that they can’t just stop what they’re doing and code a solution in 3 weeks as the parent comment was suggesting. It’s perfectly ok to have to wait more than 29 days to (hopefully) see new features released that address the letter.
They don't have to just stop what they're doing, they stop what a couple of people are doing and ship something. 29 days would be fine if they replied straight away. But they didn't they took ages, 29 days is a long time for a response. So if you take a long time to reply you have to have something to show why. As it stands, this just looks like they couldn't really be bothered and had it as a "do at some point" task.
They didn't deliver a feature, they put out the lame equivalent of a press release. It's like somebody called you on the phone, said "hello? Can you hear me?" and you waited 29 hours to reply "hello".

That's no way to run a modern web-based business for alpha geeks.

Just a tip from a person who's interacted with cranky people for a long time....

When I get feedback, especially negative, I like to think about it before I respond. And I may take a month to respond.

But I always immediately respond with something like

"Thank you for providing feedback, and thanks for your patience while I think about your feedback, discuss it, and respond appropriately."

At least you then know I'm not ignoring it.

As a classroom teacher, I agree wholeheartedly. A timeline for when you will respond in more depth (24h, a week, a month) is also quite helpful.
They responded in the original HN thread saying basically that.
Most Github users don't read HN.
Most GitHub users probably also didn't know about the open letter in the first place.
If they have a culture of "only catering to the big corporate players" like a lot people have been saying, it'd be hard to change momentum. They probably also had to do a lot of internal discussions about how they would address this, and what changes they wanted to make. They also had to be careful about how they responded, for fear of making things perceptibly worse.

I have no insight into their internals, but, IME, getting that many people, especially upper-management to adjust focus is a long, slow process. I'd guess it just took a lot of time to get coordinated.

I don't think it is because they want to cater to the big players, but more that this got a lot of attention.
I think I may have mis-stated my point. I'll caveat my response this with: This is what I've heard, I don't know if it's true.

They have an internal culture of "lets develop features for the companies that pay us, rather than the free-users". This got a lot of attention, because they started to realize that they can't keep heading in that direction and expect things to keep working.

(comment deleted)
That would be odd; ESLint is a pretty small project compared to, say, the top 100 or so. I can't imagine their investigation would be much of an issue.

Honestly git is distributed so I don't know why people wouldn't just setup another repo somewhere, say, GitLab and you could experiment with different workflows, etc and essentially have a remote back-up.

Thank you GitHub, to know that you need 29 days to reply, let my OpenSource GitHub Project look not soooo bad. :-)
That's a great question on the page by EGreg:

> I wonder if GitHub itself can use its own issues system for prioritizing feature requests and bugs :-)

Great, but please resist the urge and goading to build another JIRA in github. The second best thing about github is its simplicity.
I don't thin something that size would be warranted. But, letting users customize Issues, and PR/merge rules, and splitting off another section for requests would be beautiful.
This is exactly my fear as well. I really, really like how simple GitHub issues are. While I have some very minor quibbles, I'm also afraid that change here will end up being worse, not better.
In an ideal world, the Issues team would develop and support a plugin ecosystem for the tracker. Users can customize and add the features they see fit and even create their own custom plugins. Allows flexibility and power for those who want it while keeping the core simple and clean
This is the best idea.

While some features like +1s and contributing guidelines should be baked in, other features like extra fields, requiring people to sign a disclosure, etc would be best left to plugins that can hook into issues much like CI services hook into pull requests.

Now, if only we could get a movement behind a "merge" button that does fast-forward only commits.
I know that gitlab has it as a project option!
Agreed, and here's a git alias I made for the occasion:

  merge-pr = "!f() { git fetch $1 $2; git branch _FETCH_HEAD FETCH_HEAD && git rebase HEAD _FETCH_HEAD && git checkout master && git merge --ff-only _FETCH_HEAD; git branch -d _FETCH_HEAD; }; f"
Syntax: `git merge-pr <remote> <branch>`. You can copypaste url + branch from github's UI above the merge button.

Note: This merges only to master, no way to specify another merge target. Feel free to suggest improvements.

I have these for merging a PR into develop and master respectively. Usage is `git pr <#>`

  pr  = "!f() { git checkout develop && git fetch -fu ${2:-origin} refs/pull/$1/head:pr/$1 && git checkout pr/$1 && git rebase -i origin/develop && git checkout develop && git merge - && git push; }; f"
  prm  = "!f() { git checkout master && git fetch -fu ${2:-origin} refs/pull/$1/head:pr/$1 && git checkout pr/$1 && git rebase -i origin/master && git checkout master && git merge - && git push; }; f"
I remember trying and failing to get exactly that working. I'll give yours a shot, thanks!
Here are mine, helpful colors and error message included.

  sync = "!f() { echo \"$(tput setaf 4)Syncing this branch with origin master$(tput sgr 0)\" && git fetch origin master && git rebase origin/master && echo \"$(tput setaf 2)Branch sync successful$(tput sgr 0)\"; }; f"

  ship = "!f() { echo \"$(tput setaf 4)Shipping this branch to master$(tput sgr 0)\" && git checkout master && (git merge --ff-only - || (echo \"$(tput setaf 1)Could not merge branch into local master\\nRun git sync before running this command\\nIf this error persists, you have local, un-pushed commits in your master branch\\nPush them to origin master or move them into a branch before running this command$(tput sgr 0)\"; git checkout -; return 1)) && (git push origin master || (echo \"$(tput setaf 1)Could not push branch\\nRun git sync before running this command$(tput sgr 0)\"; git reset --hard HEAD@{1}; git checkout -; return 1)) && echo \"$(tput setaf 2)Branch ship successful$(tput sgr 0)\"; }; f"
The reason they are separate is so that you can

  git push --force-with-lease origin HEAD:<remote-branch-name>
in between. This way, GitHub marks the PR as "Merged" instead of "Closed with unmerged commits". It's a minor detail, but I like it.
They’re already working on it (source: inside info).
It should really support both. I prefer the current behaviour though.
I don't have any giant opens source projects so I guess I don't get bothered by the +1s and cries for help. Chromium gets those on their non-github issues. So does Firefox. I'm guessing WebKit does too.

My biggest issue, which I guess is a non-issue for most others?, is I hate when reviewing a PR that every single line comment generates a message/email.

Maybe it's because I'm used to Rietveld but my normal workflow is to start reading the patch and adding comments. I might have made 10 separate line comments before I get to a part of the patch that invalidates all those comments. Therefore I don't want them sent until I'm ready. I want to be able to make line comments across all files in the PR and only when I'm ready, send them as one coherent message.

As it is now, AFAICT, the only way to do this is to write line comments in some other file on my computer and then later manually find the lines again in github and add them one at a time. Rietveld also lets you respond to line comments inline and mark them as "done".

is there anything for github that does the same? Maybe one of their offline tools?

Excellent idea... some notion of a review session would be nice.
Review Board works with GitHub and allows you to publish your review when you're ready.
Just continue to use Reitveld :)
> My biggest issue, which I guess is a non-issue for most others?, is I hate when reviewing a PR that every single line comment generates a message/email.

> is there anything for github that does the same? Maybe one of their offline tools?

Nope. Even the API doesn't allow this, you can only create one "review comment" at a time and no matter how fast you create them (or if you carefully create all of them over a persistent connection) each and every one of them will generate one notification and one outbound mail.

That went pretty well the first time I tried to get a linter to annotate a PR. The annotation worked, but I discovered some people's mailboxes can not handle getting 50 mails from the same source in a fraction of a second (and oddly enough people are not fond of getting 50 one-line emails from the same place).

(I asked github support about it, they confirmed the only workaround is to not use inline comments)

You should also be able to switch to digest emails from GitHub. Do they support that?
Users might not, even if GitHub does. I would hate to get 50 emails because I don't want digests and I watch a certain project.
I recently switched our large-ish GitHub project to use reviewable.io for code reviews. The UI can be hard to understand sometimes, but so far everyone agrees it's a tremendous improvement over GitHub's joke of a code review UI.
Besides the UI, "reviewable.io" is a memory hog. It's simply unusable if you try to browse the site from a device without a lot of free memory (e.g. older tablets, ARM SoCs, etc).
Reviewable founder here. Yep, Reviewable is a heavy client-side app, and I make no apologies for it. Mobile devices are getting powerful very quickly (you can already use Reviewable pretty much fine on modern phones/tablets) and the target audience of developers generally needs reasonably powerful devices anyway. I'd rather miss out on some users in the short term than lock myself into an obsolete server-centric architecture in the long term...

That said, performance is always an issue, it's just a question of where to set the target.

Reviewable founder here. I'd love to get somebody to sit down with me and rant about the UI so I can figure out how to improve it. Let me know if you're game. :)
I've been working on a bot to copy Github Pull Requests into Gerrit reviews, using the Google-hosted Gerrit servers.

My bot isn't running publicly yet, but you can see the start of it working at:

https://github.com/grpc/grpc-go/pull/546 or https://github.com/grpc/grpc-go/pull/545

(Code is at https://github.com/LetsUseGerrit/gerritbot for now, but I don't imagine anybody would use the code themselves... they'd only interact with it via the Github bot)

Is there any public "how to" about Gerrit? I've interacted with it a few times for Go codereviews, but not frequently enough to get comfortable. Really simple things like finding the "submit comments" button I have to spend five minutes finding every time.
I don't know of a general "how to" but 'a' is a keyboard shortcut to send a reply (with comments).
Expanding on this, typing '?' will bring up the help, like gmail.
Gerrit has an excellent REST API, and because I like working with code in a terminal, I wrote Gertty -- a terminal based interface to Gerrit. It should work with the Google hosted servers.

https://pypi.python.org/pypi/gertty

Gertty is the greatest greatness ever. Doing code reviews on a plane and syncing up when back online is so cool. Thank you for your work on this.
I was actually shocked two weeks ago when I was talking to someone about Gerrit and they complained that their comments were never addressed. Turns out they hadn't been hitting the "Publish Comments" button, and had been assuming that every draft comment they left was being sent as an individual email.

This taught me (or reminded me of) two things:

* GitHub is so dominant that even its poor decisions are being enshrined as "the way things work"

* Gerrit really needs some UI love as well.

Hopefully the recently begun work on a Polymer based interface (PolyGerrit) will help in that department.
Not github, but you may be interested in http://phabricator.org/. We hired a guy a while back who swore by it. We had too much momentum in github, so it did not catch on at our org. One of his favorite features, if I recall as it was a few years ago, is what you are talking about.
I would love to know what the reasonable approach would be ideal from the people talking bad things about GitHub. If they responded to issues right away people would complain too.

It's not easy to come up with a solid plan for new features and improvements, specially in a company this big (that has a lot going on as we all know). What? You think they're going to get that list of complaints and start smashing some code? That letter is not even 1 month old. I can kinda understand the frustration but keep in mind that there's a lot of other things to handle, it's more complicated than that.

In the meantime if you're really struggling, there are other great options available out there like BitBucket and GitLab.

Then they might have grown too quickly then. At this point, is really not that hard to move to GitLab.
A reasonable approach? When I'm in doubt, I just go with the truth. They could have said "Hey, we hear you, we're starting a group to figure out how best to resolve your issues." or "Hey, we've already been working on this, we'll get back to you in a couple of months." Or even a "Hey, we get you aren't completely happy, but we just don't have the time to address your concerns right no, but when we can, we will."

Any of those would have been better than perfect silence followed with, we'll see what we can do.

Well, they just published a down to earth response didn't they? Some companies don't even respond at all.

As I said, I can understand the frustration but they seem to be working on it. Give them some time or use other tools if you can't wait.

I would love to know what the reasonable approach would be ideal from the people talking bad things about GitHub.

Treat their software development savvy usebase as stakeholders in their ongoing project rather than unwashed masses consuming a loss leader?

A mutually-agreeable reasonable approach probably doesn't exist. Limited visibility into the project may be considered exposing too much of the business for GitHub's tastes. So it will continue to be a one-way relationship, with all the baggage that comes with a one-way relationship (incl "talking bad things").

Well they used to be open about their future plans on their blog[1]. It hasn't been even a month after that letter and we _finally_ have a response from them. It really doesn't seem to be that big of a deal IMO.

[1] https://github.com/blog

From reading the comments on this thread, one could get the impression that HN Github users would have been happier had Github not responded at all.
That's an odd impression for you to have gotten!
once the troll is fed the appetizers, it demands the main course.
I think some people are miffed that it took them almost a month to just respond to the letter. Maybe you don't care as much about certain software, but some people are really passionate about it.

Perhaps HNers would have appreciated some more substantive action by now, rather than just a response.

I'm confused by what these people are asking for. Should Github acquire a time machine? If so, instead of asking for an earlier response to this later, maybe they could just do things differently from the beginning so the letter was never necessary!
Being flippant is really unhelpful, and kind of insulting.

People really care about software.

Instead of just responding to us now with a letter that's totally sparse on details, what if GitHub gave us an idea of what they're actually going to do? "We're sorry" is really annoying to hear almost a month after the fact.

Maybe they are still trying to figure out what to do? There isn't an easy solution to some of these problems, and it is not like they have NOTHING else to do than solve this issue.
They could be as transparent as possible and tell us what they have. This seems like just a stopgap to prevent leakage of the more popular OS repos.

Damage control is not a replacement for answers.

Right? Damned if they do, damned if they don't...
After nearly a month, yes. If significant starfighter users complained about how it worked, how long would it take for there to be a response? 2 hours? That is because you care.

A month is how long you spend when you really don't care, when you rather not deal with it at all, but somebody force you to. Of course people get annoyed when those they think cared about them actually hate them.

Reading the reactions to their addressing the complaints, I really don't envy the folks at Github. A lot of folks in the "Yeah that's nice but what about X/Y/Z" range (and same here on HN).

There's simply no winning.

It'd be a little easier to identify key requests if they implemented voting to solve the "+1" comments, as identified in the "Dear Github" letter.
Yes and no. Some feature requests were years old and hugely popular. For example, displaying tab-spaces code (such as Go) properly was something that took years to implement, despite the enormous feature request thread and extremely simple implementation. It became obvious github had dedicated zero resources to building new features the community had longed-for
I just hope they also add new features centering around depreciation of repos and the ability to add a "THIS IS NO LONGER BEING MAINTAINED" flag or an equivalent.

Finding a repo that appears to solve my problems only to find a mass of issues and an absent maintainer is a pretty big time sink, for both me and likely the maintainer too!

It's pretty easy right now to just change the header of the README, and/or the project description to indicate deprecation. What added benefit would making it a feature provide?
It requires the maintainer to do this. Often if the maintainer isn't maintaining the codebase then they won't be updating the readme either.
Wouldn't it be up to the maintainer to toggle the "no longer maintained" flag?

Sometimes a project that hasn't seen commits in a long time isn't orphaned, but just doesn't need changes...

(comment deleted)
(comment deleted)
(comment deleted)
I usually look at the "Pulse" part of the repo page. That tells me how often it has activity and if it is an active repo.
That is a really bad way to solve the issue, since smaller pieces of software may not need further development.
What's wrong with putting that in the project description ,or prepending it with a "DEPRECATED"? I mean the easily editable field in the header of every repository.
I complain every 6 months about their "releases" page - eg this one for my project https://github.com/rogerbinns/apsw/releases

They unhelpfully add a "Source Code" link, which would be great if that is what it was. Instead it is actually just a zip file of the repository at that tag. But the repository is in a maintainer state, so the "Source Code" isn't useful to an end user because various tools need to be run (eg building help, automake/autoconf, dependencies). The people mislead by Github due to this "Source Code" contact me, not github.

Every six months for several years, I send the email explaining how this doesn't serve anyone's interest, how it hurts, and that I am happy with any solution (eg don't auto add, change the name to make it clear, be able to label an existing file as the "Source Code" etc). I get the usual response of understanding and sympathy, and vague suggestion that it may be addressed. Three years and counting ...

(comment deleted)
>They unhelpfully add a "Source Code" link, which would be great if that is what it was. Instead it is actually just a zip file of the repository at that tag.

I fall for this everytime I go to use that link.

The people who dogfood Github, by using it every day, know how to get around places.

The people who is it once every week or two, like me, get lost each time. It's always a hunt when I want to figure out how to do something, even if I know I've done it before.

Totally agree.

A few examples for me:

- From a "pull request / files" view like this (https://github.com/google/protobuf/pull/1191/files), when I want to view a whole file, I always want to click on the filename. But the filename isn't a link: you have to look at the right side and click the button that is generically named "View" (View what?).

- At the top level of a repo (ie https://github.com/google/protobuf), you can click "X commits" to view the list of commits. But when you go into a subdirectory (ie. https://github.com/google/protobuf/tree/master/benchmarks) the "commits" link disappears, and to view the commits in that directory you have to look on the right side instead for a button that says "History".

- continuing from my last point, if you view an individual file, (ie. https://github.com/google/protobuf/blob/master/benchmarks/Pr...), the "History" link is in yet another place! So between the top level, a subdirectory, and a file, the link to view history is in three different places. I don't follow these links quite often enough that it becomes automatic, so it slows me down every time.

I'm wondering what's a good way for a dogfooding company to look at things from a fresh perspective. Perhaps the traditional focus group and user interaction studies?
Listen closely to anything new team members have to say. From the inside, it all makes sense, but from the outside, it's often obvious insanity ;-)
I also have a problem with the "download zip" button on repositories. It doesn't include submodules. I've asked Github several times to give me a button to remove it from my repo, or to add submodules, to no avail.
I'll bet they have zero positive feedback over the Source Code zip, and you confirm yet more negative feedback over it.
I like having it as a simple way to quickly download a git-free tree of simple projects. So there's one small piece of positive feedback.
It's also immensely useful for installers like pip that can pull an archive directly from Github using just a URL and no local git install.
This issue is not about tools, but about humans being confused by the releases page. I have no problem with an archive of the repository being available - the issue is that github ui on the release page implies that is the best download to build and install the software, when it can be the least convenient hardest way.
You can already get such an archive by clicking on the right bit of the release page. And I believe at any page reflecting a revision. It is easy to get a copy of the repository.

It isn't the case for all projects, but for some there are some pre-build steps that the majority of people who want to install and use the project don't have or even know about. The project can put up the source after those steps are done, and the downloader does the final source building and installation with ease.

As an end user looking at the release page, you can't tell the difference between the easy way (the pre-processed source that will work well for you) and the hard way (you'll need to install and invoke several tools for no real benefit).

The underlying problem is that Github make it really easy for people to end up with the hard way, and not the intended easy way. This benefits no-one. I have no problem with them making the repository files available - I just want them to stop confusing people who go to a release page.

I'm not talking about the releases page, and I don't think @Sir_Cmpwn was either.

Many small projects don't have a releases page. The download zip is just a way of quickly getting the source code for such projects.

To be honest, I wasn't trying to start an argument. I was just pointing out that I like having a "download zip" button.

Understood. I wasn't clear that I have no problem with being able to download a copy of the repository from as many pages/places as is reasonable, and there is no need to change that.

The specific top level complaint is about the releases page when visited by a human who would have the goal of building and installing the software release. There the "Source Code" link is misleading if the maintainer has a release file that is the expected one for building and installing the software.

Personally, I'm a big fan of the "Source Code" zip file download. I use it regularly, and have never had a problem.
There is no problem with a way of grabbing the repository contents. Good to have, and shouldn't go away. It is the github ui on the release page strongly suggesting to use that download, even when the project has provided a better archive for users to build and install the software. That better archive can already have several pre-build steps run so the end user doesn't need additional tools of no benefit to them.
To be honest, I didn't even know there was a release page in github repos. I don't recall seeing those. I normally don't expect to be able to download installers from github, so I never really thought to look for such a thing.
I use it semi-frequently and have never had a problem.
> They unhelpfully add a "Source Code" link, which would be great if that is what it was. Instead it is actually just a zip file of the repository at that tag.

Huh, if all the files of the repository at that tag aren't the "source code" of that release what is?

A ZIP file is less helpful than the GitHub interface pointed at that specific commit ID.
It's not immediately obvious, but the tag and commit links to the left of the release (under the green "latest release" label) actually do that.

The tag link points to the tree (in Github's file browser UI) for the release, and the commit ID link points to the specific commit for that tag (in Github's diff UI).

Trouble is, this isn't very discoverable, given that those two links aren't styled as links-- they're the same font and color as is used for the subheading with date and commits since, which aren't clickable elements.

Sure. The issue is less with the functionality and more with how it's presented to the user.
Source distribution packages aren't necessarily a simple snapshot of the repository.

For example: for autotools based build systems you want to run autoconf and automake to generate the Makefile.in and configure scripts.

Any reasonably complicated project has some pre-processing that has to be done for a source release. e.g. creating the configure script for autotools repos, or building the documentation. These steps can and should be automated, but github is not providing hooks to perform these automated tasks.
Wouldn't the output of that be the "distribution code" rather than the "source code"?

Do your projects not have a README telling people how to build? Are you targeting a nontechnical or beginner audience?

There's a long history of distributing source code already partially processed, and for decades, this has been what people expected when they download a source tarball. Newer generations were introduced to open source through github and are less familiar with this, but they also are rarely interested in source tarballs — they're interested in either the source code to contribute to (in which case they'll git clone) or in a binary distribution.

Really the main purpose of source distributions is for packagers. Especially when you're creating pkgbuild scripts like for archlinux's AUR or gentoo or slackbuilds or macports or BSD, all the tools needed to build the source code become build-time dependencies for your package, which is annoying for people installing it.

Not having to add autotools to a BuildRequires is nice, but hardly the end of the world as a package maintainer. I agree though, the contents of the repository at a git tag is not necessarily a source DISTRIBUTION - which is what most people who are compiling your software would want - especially when many of them probably don't know the autotools incantations required to generate the configure script.
Gotcha, thanks for the explanation!
I find the to be really frustrating. `tmux` does it, which means that I have to package it differently when I switch from a stable release to building from git.
We probably need to do away with partially processed source and distribute just the git repo (or a tarball without .git but with info about which git rev it is) and binary packages for end-users.
Yeah but those steps should be part of the normal build process. If you have to use weird tools (e.g. autotools) to generate your "real" source code, I'd say the problem is those tools. Also. Seriously. Autotools? In 2016?
Autotools? In my Linux?

It's more likely than you think.

So what would you suggest in lieu of autotools? The only real mature alternative is cmake, and cmake's main advantage is that it is a cross platform build system. Basically that means it works on windows without cygwin or its equivalents.

If you use something other than cmake or autotools, you're going to end up making the lives of packagers more difficult. If they have to change anything, as they usually do, they're going to have to know how the build system works, and they dont necessarily want to deal with whatever new-fangled build system you're using.

Usually projects using cmake distribute their source code with cmake build scripts because they're taking advantage of cmake's cross plaform features, and cmake generates different source distributions for different platforms. But this does place a burden on the user to have cmake installed. There's a good argument to be made that that's no longer much of a burden, after all, it's just one package manager invocation away. But you have to think about who's downloading a source distribution (as opposed to binaries or checking out the repository). They're people who are compiling from source for esoteric platforms, perhaps and embedded system, where a cmake package might not already exist. They're people like me who are writing their own pkgbuild script because they like to keep their system well organized and not have too many useless packages (like cmake) lying around. They are people creating a new linux distribution who haven't yet packaged cmake but want to package your software.

And in terms of software design, cmake isn't very good, at least in the eyes of many people writing unix systems software, which as far as mature open source software projects written in C/C++ go, is a lot. Don't get me wrong, cmake certainly has the cross platform advantage, and if you're making software that you want to compile on windows, you'd be remiss to not at least seriously look into using cmake (not that it's the only option, you could also opt to lean on cross-compiliation from a unix platform to windows, distributing binaries only, or requiring users to install cygwin, which isn't worse than having to install visual studio if you don't already use it).

But if you're not taking advantage of the cross-platform features, I'd say cmake is pretty awful. Precisely because it's cross-platform, cmake rejects the typical design principles of unix software, instead offering a monolithic build system that requires special scripts to be written for any different tools you want to use, or even any complicated dependencies (for example: SDL). This is necessary because cmake needs to establish a consistent internal interface that can work for both the windows and unix tools. As a result, everyone has to learn how to use the monolithic cmake system from the ground up, and those skills won't be useful for anything else.

In contrast, autotools, known for having a high learning curve, is really not that bad for people who already know unix. If you understand how to use a unix system, you can figure out autotools faster than you can cmake. And you can really know it, to the extent that you feel confident diving in and messing with its defaults, much sooner than you would with cmake.

But of course, ease of learning isn't the only factor autotools integrates with external tools using their standard interface while cmake demands you essentially write a wrapper for them. Autotools is simply more flexible.

I don't like autotools, for the record, but given the options available, I'd probably choose it over any other build system in almost all the places it's used currently and more.

> In contrast, autotools, known for having a high learning curve, is really not that bad for people who already know unix. If you understand how to use a unix system, you can figure out autotools faster than you can cmake. And you can really know it, to the extent that you feel confident diving in and messing with its defaults, much sooner than you would with cmake.

I've been using unix since 1992 and find the entire autotools suite to be almost incomprehensible. The low point was in 2014 when I was trying to compile a package that intentionally did not ship a configure file and made the user explicitly call autoconf. This would have been ok except that in the 3 or so years between when the code was released and I was trying to build it, autotools made some backward-incompatible changes and autoconf/automake errored out, with no indication of how to fix those. Eventually I just gave up and used a different package.

Conversely, when I started using cmake (motivated by clion using it as a build system) I was able to get it up and running basically immediately, and 12 months later I appear to have become the cmake guru for my company.

"The low point was in 2014 when I was trying to compile a package that intentionally did not ship a configure file and made the user explicitly call autoconf."

At the risk of having to admit I've had my share of bad experiences with autotools, don't ever do that. That is a big sign with flashing lights and sirens, saying that you should put that package down and leave it alone. Because...

"This would have been ok except that in the 3 or so years between when the code was released and I was trying to build it, autotools made some backward-incompatible changes and autoconf/automake errored out, with no indication of how to fix those."

The version of autotools someone was using when they wrote the scripts is very closely tied to the scripts. It's not at all a good idea to use a different version of the autotools.

> At the risk of having to admit I've had my share of bad experiences with autotools, don't ever do that. That is a big sign with flashing lights and sirens, saying that you should put that package down and leave it alone. Because...

And indeed, the exact issue the OP is complaining about is how the zipfile automatically created by GitHub has NOT had autotools run on it yet, and the maintainer cannot even manually overwrite that file!

I have to respectfully disagree. Cmake isn't super amazing and has some flaws and a less than ideal design and language, but it gets the job done. Autotools is more like something that was needed once in the 1980's when you had to support 300 different proprietary UNIX's and compilers / stdlib's weren't very standardized and had lots of bugs and warts, and now only exist because of inertia.
I too have to disagree. Cmake is crap compared to Autotools. It's makefiles don't work if the end user who does the compilation doesn't have cmake installed. Autotools doesn't have any runtime dependencies - that's a design goal that yes, still matters 2016.
(comment deleted)
Github isn't a build server. You shouldn't expect it to perform tasks for you. You should provide a CI server to your users if you want that functionality. I've never heard of downloading "source code" that has been preprocessed. The entire point of the repo is that it IS the source code. If you want it to be preprocessed for users, why even have the original form in the repo?
This is explained in reply to your sibling comment, but the convention on linux for many years is that the source distribution has automake/autotools already run. That way, when you download the source tarball, you know the process is `./configure && make` to make the final binary. The way package maintainers for distributions customize things is (hopefully) by providing flags for configure. The idea is that autotools should only be necessary for developers, not for maintainers.
It is unfortunate, but just create a new branch and run autotools, and mark a release there.
If by "unfortunate" you mean "totally crazy"... I'd rather deal with the occasional person confused by GitHub kids' ignorance of what source tarballs are meant to be that doing such wild and dirty dances in the repository.
TL;DR source code to install from and source code to hack on are often different beasts.
Shouldn't the person downloading the source code be expected to run those scripts? And topically those scripts are included in the source.
Adding a script that builds the project from “maintainer state” and referencing it in the README may save you some aggravation.
Not really. Not many people have the whole autotools/automake tool chain installed, let alone document building tools, and whatever other processing the project does (eg SQLite uses some TCL scripts). So they'd have to go and get all those, obeying any version constraints. And after all that they'd end up at the same point as getting an archive intended by the maintainer for them to build and install.
That is the intended outcome.
Absolutely. This feature is such an integral part of a repo that distributes releases that I'm surprised it hasn't gotten more attention from Github. I, for one, would love to see them provide the checksum for the archives that are published via Releases -- it's not currently available when you create a release and relies on the operator to implement a workaround that creates a digest and publishes it on an external endpoint.
We have the same 'Source Code' link in GitLab on our tag/release page. Should we rename it into 'download source' to be more clear?
Or I am always a fan of putting a checkbox in the project's Settings page "show 'download source code' link" and a text box underneath it with "source code download label", enabling the project to use language they are happy with

That said, I am also cognizant that "checkbox overload" is a real thing, so merely "for your consideration"

We're indeed pretty hesitant to add options for these things, it makes it harder to refactor the UI if you have to account for all settings.
Google Code used to have labels, in particular one named "featured". You can label files in the release with it, and the ui put those at the top. Consequently it was clear to users which release files would be best.

"Source Code" has two meanings. One is the preferred form of contributing to the project. The other is the preferred form for building and installing it on a system. Sometimes they are the same. However I argue someone going to a release page is more interested in the latter, and the former is confusion.

I'd suggest making your UI reflect the page visitor's goals. "Repository Archive" is better wording, but still not that good.

Glad someone else acknowledges this.. the number of times I've had to answer questions about how to get automake to work, etc., from people who should be just downloading the tar and running `./configure`. People are starting to get this tendency to check out the whole repository just to use the software. (I've been guilty of this too! There is something about it..) But people: If you're not going to work on the software, use the release distributions!

In one project I went as far as making a "releases" branch, and actually putting the "make dist" output there, in full, and tagging that instead of the master branch. This was a pretty good compromise, since the github download link now points at the actual release tarball, and you can easily see from `gitk` which commit from the development branch each releases branches from.

However, it's annoying not to be able to use tags as a way of navigating the development branch, and since I wasn't the one officially putting together final releases, eventually it was found that this was just too complicated to keep doing for each release. And it's just a dumb trick to satisfy github's weird releases interface anyway, so I couldn't justify the complexity.

The GitHub API allows you to provide much more useful content for a release. See this project as an example: https://github.com/aws/aws-sdk-ruby/releases - Notice that it has links for build artifacts, generated docs, and even contains links to issues closed by the release. Also, its pretty easy to automate a "release" from travis.
The problem isn't that you can't add more content to a release, it's that you can't remove the misleading zipball/tarball links which are labelled source code but break traditional tarball conventions (e.g. not running autotools first).
So tempted to add a +1 comment...

(This is a joke, please do not do it)

Can't wait to see what actually tangible outcome this will have.

I think that's far more interesting than that they took 29 days to respond; ok, they did. Deal with it. They have responded now.

What's important is what happens next.

A public issue tracker?

A rust style RFC process? (https://github.com/rust-lang/rfcs)

Just please, whatever you do, do it fast, and stop people from doing what babel did and migrating to phabricator. :P

Since they only offered a "receipt" for the original letter, why did it take two months? They could have put this response out the same day the "Dear GitHub" letter was posted.
And the first response to their letter was a:

:+1:

What's the point of "we're going to reply next week" post on a Friday? Just make a statement next week.
Quite nice answer. - Googled for some background and stumbled upon the following:

[Danilo Campos, has been known to tweet similarly strong views about diversity. Campos joined in August]: "don't think we'll succeed teaching white, male middle managers empathie and compassion anytime soon so let's limit their scope of damage"

Such a rubbish. I think GitHub has their priorities / focus wrong. - Glad I'm using Gitlab.

A couple of thoughts come up, I'm not a white guy and I'm offended by that guys statement, its prejudiced and I'd be embarrassed if that came out of my mouth.

Second if a company is going to trade on being a meritocracy, then be a meritocracy. Why have a diversity council, why be concerned over a bunch of "white guys" and what they can't learn. If they are the best at what they do and if github considers good management traits include compassion and empathy, then whats it matter what color they are the best people would rise up regardless.

This is just prejudice plain and simple.

Second if a company is going to trade on being a meritocracy....

They haven't for some time: https://www.google.com/search?q=github+meritocracy+rug

What GitHub did is the worst possible response.

We women get worse education, so the solution is to lower hiring standards for us?

Seriously?

Lobby for better women education, sponsor groups and events engaging in that, but don't hire less qualified people just for their genitals or their skin color.

Except that, in all but the most intangible possible metrics, at least in the US women officially get better educations, as measured by graduation rates, grades, and sanctions including most especially medical interventions (for ADD), for both K-12 and college. And in the former most of their teachers are women.
Well, that makes it even more ridiculous.

But even if women get worse education, the answer can’t be to reduce hiring standards.

He isn't very fond of HN / Y Combinator as well. His article "Y Combinator and the Negative Externalities of Hackernews" (2014) http://danilocampos.com/2014/09/y-combinator-and-the-negativ... and the HN discussion https://news.ycombinator.com/item?id=8389163
Have you read this HN comments on racism?

They're disturbing.

I don't think he understands the difference between /being racist/ and /neither working towards nor against, just taking profit of a racist situation created by someone else/

(a) is racism, and needs to be fought directly.

(b) is capitalism, and a whole different story (although one could argue that it should be fought, too, and companies should work for the advancement of society, not just profit)

When he mislabels (b) as (a), he distorts the meaning of racism — same with sexism.

To any githubbers reading this:

A lot of people posting here are being unreasonable, demanding, and childish. Recognize that for what it is, don't let it affect you, and just continue moving forward based on the constructive part of the feedback.

Yes, continue to ignore feedback from the community and enjoy your market lead because once you have that users will never leave for another product.
(comment deleted)
Yeah.. Poor github. I'm playing a tiny violin made of hundreds of millions of dollars.
>A lot of people posting here are being unreasonable, demanding, and childish.

Yes, please ignore all reasonable expectations for communication and go back inside the hugbox.

I see frankly none of those things here. I see annoyance that it takes a month to respond to a frickin' letter, and I see many opportunities for improvement.

A smart organization will focus on that, rather than weak tone arguments.

(comment deleted)