As counterpoint, I didn't interpret it that way. The tone wasn't shaming a programmer for accidentally screwing up (e.g. It was Michael who deleted everything with UNIX command "rm -rf /* ").
Instead, today's blog was extending the conversation of the message he sent 3 months ago[1] and he had already put Junio Hamano's name in that post.
If you're trying to trace the intellectual history and rationale for why things were done a certain way, attaching a name to it is very common and it does not mean malicious intent.
I didn't see any ad-hominem attacks in the post but I can only guess that the repetition of "Hamano" in the text rubs people the wrong way.
[1] https://public-inbox.org/git/EA993AC0-022C-423D-ABD7-4747FA0...
History is about people making decisions. It wouldn't make sense to write about the history of nations without naming any names, and I think it wouldn't make sense here, either.
Second, while I am critical of these historical decisions, I don't purport to be better than Hamano. There's a whole section of this post saying that "you or I might have done the same thing" for the same reasons.
I especially don't accept your charge that this is "ad hominem." I don't argue that you should agree with me because who Hamano is. I don't (and wouldn't) call Hamano any names, call doubt on his character, or even question his intelligence or competence.
Everyone should evaluate these historical decisions on their own merits. But anyone who wants to understand why git works the way it does must understand that these are Hamano's decisions, and decide for themselves whether these decisions were good or bad.
EDIT: A number of comments here have said that the complaint has to do with the number of times I mention Hamano's name, so I've updated the post to remedy this.
The issue, I think, is that the specific name doesn't really add anything to the discussion: you don't actually contact Hamano and get his perspective, and you don't use the name to link any additional relevant information. You could omit the name entirely without detracting from what you're trying to say.
Including the name makes the (public!) criticism needlessly personal. Not really cool.
> History is about people making decisions. It wouldn't make sense to write about the history of nations without naming any names, and I think it wouldn't make sense here, either.
Historians usually do quite a bit more research, including talking to participants. Much more context would be required before zeroing in on one person and saying it's his fault. Was there discussion beforehand? Why has no one changed it thus far? All you did was post to a noisy mailing list from which you expected no reply, then assumed that it was solely the committer's decision.
> I don't (and wouldn't) call Hamano any names, call doubt on his character, or even question his intelligence or competence.
But that's done implicitly when you tie his reputation up so thoroughly with choices that you wrote an entire essay disparaging. The damage is magnified when he's not given a real opportunity to explain himself. Although you stated in another comment you've now emailed him directly, which is a good call.
I think a separate command would have been convenient, too. ¯\_(ツ)_/¯
Elsewhere in codeland we usually say "this code is doing the wrong thing" not "Bob did the wrong thing."
It's not like someone as storied as Junio, who has maintained git for as long as its been a serious project with applications beyond the kernel, risks being fired because he made a handful of questionable decisions. He is, after all, only human. Only the insecure fret over every shed of blame.
It is, in fact, considered rude to circumvent/bypass/ignore the original author by saying "the code was wrong" without first giving the author a chance to explain the rationale.
Ultimately, the point at which "naming" transitions into "shaming" in a technical discussion is a matter of interpretation and balance, but I don't think we need to completely remove considerations of code parentage from technical discussions, which you seem to be advocating.
Probably wasn't worth calling out the maintainer by name (or the hyperbole in the title, but clicks!) but at the end he explains that reading a interview with Junio how Git evolves and isn't really designed.
Even has a solution to the Git problems he sees "easy git" (which I had never heard of).
This was posted on Redfin's official blog by a "Principal Engineer", which is even worse and reflects poorly on Redfin. Does Redfin shame engineers by name when things do not work out? If a higher up is reading this you should rethink your engineering blog ASAP.
(sorry, it's a huge pet peeve of mine, every technical article has to be an ad as well)
Naming the maintainer would make sense later on when the author purportedly tries to get into contact with Hamano but, spoiler alert, fails at it.
"Come work with us! We'll only be sure to publicly humiliate if you make a technical decision we disagree with!"
i hope i have a commit so controversial someone blogs about it 13 years later. i'd be equally happy to respond with a defense or concession. :)
it struck me as an irrelevant fact- not an attack. so i can't help but wonder if you all aren't taking more offense than the guy who made the commit himself.
> Well, I posted a question on the Git mailing list to ask, but the Git mailing list is so noisy that I doubt that anybody will ever answer my question, least of all Hamano. But I can speculate as to why; if I were Hamano, I probably would have made the same mistake.
And no, posting to the mailing list, which the author himself admits is too noisy for the commiter to have likely noticed, is not a real effort to make contact given the severity and self-assured nature of the assertion, which suggests to me that the author is lazy in other ways that make his analysis suspect. Seriously, the author is so cocksure about the problem, and yet too timid to email Hamano, who is on Github and has a listed email address?
It's an appalling lack of basic courtesy, never mind intellectual curiousity.
Despite this, I'll respond to you with basic courtesy.
As a maintainer of open-source projects myself, I hate it when people email me directly with questions. I ask that everyone use only public channels of communication, if only because that way everyone can benefit from hearing the answers. In my opinion, I showed courtesy and not "timidity" by not spamming Hamano's personal inbox.
However, I recognize that not everyone feels this way, and so I have taken your point and I have emailed Hamano directly. (I hope he doesn't mind.) If he responds either on the git list or to me privately, I'll update the post.
Why call the maintainer out by name (and continually do so throughout the essay)? What purpose does that serve? To embarrass him for volunteering his time on an open source project that you've built your business on, just because you didn't like these two features he added? There was no personal behavior of his at play; he simply made some technical choices you disagree with.
Keep it technical, dude. This is ad-hominem and smug.