Hacker News new | ask | show | jobs
by BaculumMeumEst 979 days ago
I appreciate the effort here, but after learning the workflow and having to get all this set up on a few computers, having to configure git send-mail is honestly just needlessly annoying and absurd.

Organizations that insist on using workflows like git send-mail and mailing lists not only drive away a significant number of potential contributors, but they also form a weirdly religious culture that fetishizes needlessly painful process and is incapable of improvement

17 comments

Configuring git send-email is trivial, definitively faster than creating an account at some web UI from a "source forge" – it's literally setting a handful of properties in the `.gitconfig` – and those are not specific to a project, but just your mail server settings you can reuse them for any project that accept patches over mailing lists.

And using it for a project that accepts this workflow is such a joy, no need to figure out weird merge request that make me re-enter all the information I had in my git commits already.

If it's only a few patches, say three, I can do a simple `git send-email --to mailing@list.example.com -3`, maybe throw in `--cover-letter` for some meta info if the changes are even big enough to require that, and be done.

Certainly to each their own workflow, and once can get accustomed to a lot of needless tasks and workflows, but how one can look at the bloated interfaces that try hard to add vendor-lock-in and say "this is so much simpler and easier to grasp" can IMO only mean they never tried this way in good faith. In the end sending a mail is trivial, and code changes are text (most of the time), it can hardly be beat in simplicity.

Anecdotally, most of our new hires from the last years had no experience with the email workflow, and a few weeks in most of them find it way better, while the rest finds it at least as good as the alternatives (and here they mean gitea or sourcehut, not the monsters that GitHub/Lab are).

> Configuring git send-email is trivial, definitively faster than creating an account at some web UI from a "source forge" <snipped>.

You forgot that mailing list requires subscription and in some cases it could be a tricky. Without proper subscriptions and confirming subscription, your mails with patches will go to trash.

In what cases is it tricky? I find that most projects use some version of mailman (like QEMU - https://lists.nongnu.org/mailman/listinfo/qemu-trivial) and then it's just a question of filling out the form and hitting "Subscribe". I cannot remember project I wanted to contribute to, I had to use git+email and it was difficult to subscribe to the mailing list they want me to use.
How is that harder than signing up to Github?
I only have to sign up to Github once, not once per project.
That’s because Microsoft GitHub is a proprietary monolith. Compare that to the open core & self-hosting of GitLab the more FOSS-positive space where each server (without federation) requires a new sign up, confirmation emails (meaning you already had to go thru email), CAPTCHAs, setting up new keys, etc. That said, you will need to get your email filters in place or you can get a lot of new, unwanted mail (assuming you are required to sign up which often isn’t the case).
Personally, it's not. I'm using GitHub and I also sometimes send patches in emails.

I'm asking specifically what part of subscribing to mailing lists is the tricky part, as that's what parent mentioned. I'm not saying it's easier/harder than GitHub's workflow.

I think you meant “how is signing up for GitHub harder than that?”
Oops yes.
And then every so often mailman hits you up with "I'm receiving all these bounces from your email server!" because all the various garbage anti-spam techniques were not quite thought out with mailing lists in mind or people have lots of misconfigured servers and servers with different acceptance criteria, and it's all a big mess.

Configuring git send-email is only half the battle, anyway - chances are you want to participate in the discussion of your patch, so better figure out how to make sure your email client will not send the forbidden HTML email.

That's a battle??

This sounds like hyperbolic brought on by dislike, not a real indicator of time cost/effort. You've already spent more time complaining, than the work done to do these things!

There is usually no need to subscribe.
This. You just To: the mailing-list and depending on the project CC: the maintainers.

No subscribing needed. Standard policy on all mailing lists is to reply-to-all so you'll get always CC'ed on replies. This also makes it very easy to pull in more people into a discussion, even across different projects.

That's how mailing lists should work.

Many mailing lists today reject posts from non-subscribers.

Of those that allow posts from non-subscribers, you will find that many are configured such that you will not get a reply, due to "reply-to munging". Your message will go to the list, but with a Reply-to: header designating that list, instead of (or in addition to) setting the more modern mailing-list-related headers.

Reply-to-all isn't a list policy; it's a behavior of the individuals. Some people don't reply to all. They think they are, but only the post author gets their reply. That is one of the motivations behind the Reply-to.

https://marc.merlins.org/netrants/reply-to-still-harmful.htm...

The CC part is highly conflicted. Most maintainers hate double emails, whilst some loudly insist to be CC'd, esp. the Linux kernel folks. So you need to read beforehand the preferred etiquette. And nevertheless, the tone on mailinglists is entirely different (and mostly extremely childish and unprofessional) than on ticket trackers.
> not the monsters that GitHub/Lab

You mean cloning a repo and then simply pushing upstream?

I can’t fathom how anyone would think that is more complicated than e-mail push workflows.

It’s like someone telling you that IRC is “obviously” less complicated than setting up a Discord account.

There's complexity and then there's complexity. Your end user experience as a Discord user may be simpler on its face, but it's reliant on a lot of obfuscated complexity under the hood. You wouldn't be able to, say, send Discord messages using telnet, the way you can with IRC. Discord's simplicity in setting up an account, joining servers, having scrollback, etc comes at the cost of other types of simplicity.

People in this thread are talking past each other without realizing that they are expressing different preferences about where complexity belongs in a tool.

(For the record, I happen to be on the IRC / git mailing list side of the spectrum.)

“Obfuscated complexity” aka good UX that decreases friction and increases velocity.
Again, friction and velocity of what? It's a lot easier for me to write an IRC bot than a Discord bot. But other things are much harder to do with IRC. People are looking at different vectors.
your parens enclose the most unneeded addendum i have ever seen
That's surely hyperbole. You can just say "This is unnecessary" and it achieves the same purpose. Maximalist comments like this tend to amplify the tension in these sorts of discussions.
yes it is hyperbole
For most channels you don't need an IRC account. And there are web interfaces like https://web.libera.chat/.

I'm trying to subscribe to Discord. I'm currently stuck in a captcha loop.

100%.

Clicking a link to open a chatroom directly, with no account creation process, is infinitely simpler than account creation, potentially with several layers of verification (CAPTCHA, email, phone verification to join a server...).

You mean

- cloning the repo in github to your own fork

- cloning your fork locally

- pushing to your local fork after you've made your change

- opening a PR

Which is the expected flow for any project you're not already part of, ie all of them.

The email workflow:

- send an email

I can't fathom how you can say the email workflow is more complicated.

No thank you.

Avoiding email based workflows and alerting is one of my top priority in every job I have had.

> Configuring git send-email is trivial

The linked article is literally a multi-step process of arcane terminal commands that differ by operating system. You may think it's easy, but it's definitionally not trivial.

Multistep is fair, though for the record "multi" in this case means 2. One of those steps (the only thing that differs by OS) is installing git- I think you'd agree that gatekeeping by ability to install git is pretty reasonable for a project that uses git. Using git send-email doesn't require much more configuration than configuring ssh keys to push to GitHub. The fact is, most open source development workflows outside the safe confines of java on intellij will rely on the ability to use a few commands. We're better off making more great documentation like this to help new people adjust than deliberately clipping their wings.
'Arcane terminal commands'? These are standard basic terminal commands.
The thing that differs by OS is the installation of Git.
Is this installing git?

    sudo -H cpan Net::SMTP::SSL IO::Socket::SSL
I have absolutely no desire to send all of my companies intellectual property to a mail server. It could be the best workflow in the world, but if one email address gets breached, you're leaking everything and that's really unacceptable.
Isn't this also the case for centralized git servers? Even moreover if you run a monorepo.
No clue, I prefer to use a monster that actually has security mechanisms, and protocols in place designed by professionals.
> I prefer to use a monster that actually has security mechanisms, and protocols in place designed by professionals.

Like a mail server?

I don't know, sending sensitive information over plain text doesn't scream security to me. So no, unlike a mail server.
Organizations that insists on using a web interface and ever-changing click workflows not only drive away a significant number of very knowledgeable contributors, but they also form a weirdly irrational culture that fetishizes needlessly graphical content, marketing and fake-usability detrimental to learnability and integration with each user workflow.
“needlessly graphical” requires a citation when it’s clear that if you use a web GUI for this you address a market of potential contributors that is three to six orders of magnitude larger.

srht is really designed for (and thus only really useful for) lone wolf developers who collaborate rarely, if ever, and with a very small number of collaborators who collaborate infrequently. It is not built for large teams with constant active collaboration, it falls down for this use case.

It’s hobby software for hobby users. (I don’t think this is a bad thing, but you should be aware of the product design goals of its author.)

Some of the largest and most important software is developed over email, e.g. Linux, QEMU, Firefox, etc... Don't make the mistake thinking that email doesn't scale. In fact, for most teams, the opposite is true.
This is like saying that pyramids were constructed without modern cranes and bulldozers so obviously it's the right way to build stuff today. It's clearly not true but there are many power-wielding individuals in these projects who prefer to browse the web with lynx or develop in emacs and will impose this on anyone that would like to participate.

This is wrong.

No one is forcing you to contribute to, or even use, software that uses an email-based workflow. I’d also put money on the fact that the majority of contributors to Linux, an extremely successful free software project, prefer the email-based workflow.
> No one is forcing you to contribute

This is exactly the problematic attitude. I'm an OpenJDK author but not linux kernel contributor for mainly this reason. There are many people like me.

> majority of contributors to Linux, an extremely successful free software project, prefer the email-based workflow

This reminds me the many absurd conversations I had from my time in Goldman Sachs, few years ago. People with 15+ year tenures claiming Slang is the best answer to any- and everything. They just didn't know any better and stubbornly stuck to tooling and mindset straight out of 1995.

All of the largest software is collaborated on over webapps, without exception.

Windows and Office and AWS and GCP dwarf these foss projects.

There is a reason that Google, Amazon, Microsoft, and Apple don’t use email to collaborate on software.

> when it’s clear that if you use a web GUI for this you address a market of potential contributors that is three to six orders of magnitude larger.

You cannot possibly claim that the other side needs to cite their sources and then throw numbers like that out without any backing.

I have no great love for GitHub, I avoid it for my own projects but their official cli client is pretty functional and there are just tons of other clients, graphical or not for GitHub, GitLab etc …

I say that as someone who don’t like GitHub, but overall it’s far from the worst tool an employer may impose to its employees.

What on earth is "fake-usability"? It's more usable, just admit it.
Fake-usability is when 97/100 software developers find something more usable, but it's fake because I've invested a lot of time doing it a different way and gotten used to it.
GUI is fake-usability now?

Fake Edit: Oh this is HN. Never mind then.

Isn't it weird that such people bother installing a windowing system at all? Just work off the login terminal bro, it's perfection.
This is well said and insightful! I will reflect on this kind of phenomena and suspect I will be able to see it in the world going forward. Awareness of this will be useful to avoid the pitfalls described here. Thank you for making this contribution! :)

I funnily think that many of the people poo-pooing the email patch method here, would just as merrily join in on HN were it an email mailing list collection, haha! :)

In case of GitHub you have this for example : https://cli.github.com/

It is often used in GitHub CI workflows.

Our project inherited a patchbomb-based workflow from Linux. Many of the individual members have also contributed to gitlab/hub based projects, and appreciated a lot of the automation available, as well as recognizing the lower barrier-to-entry of not having to figure out how to get an SMTP connection. So a few years ago we experimented with allowing "small" patches to be sent via PR on gitlab, and doing the review there.

Basically, everyone agreed that actually doing the review on gitlab was a lot worse compared to email. There's just so much more flexibility.

It's not off the table that we may give it a try again, because the advantages of having concrete pull requests (and issues and...) rather than patch series is pretty significant. But if you're familiar with doing email-based review, I think it's still a far superior; and you're definitely giving something up when you move away from it.

>Basically, everyone agreed that actually doing the review on gitlab was a lot worse compared to email. There's just so much more flexibility.

Could you elaborate? This is truly shocking to me. Admittedly I have never worked on a project with an email-based workflow, but I can't think of how email would allow comments inline with the patch, which is an incredibly beneficial feature to me.

I like git patches...I can scan through them, write comments, and maybe strip out files that aren't necessary (if you have two isolated networks and are syncing code in between). I'm a fan of some of these ambitious git projects like GitLab but there's just something about syncing git through patches (like email).
Well yeah, replying in-line to the patch to make comments is definitely a requirement. :-)

You always reply with quotes; and you always reply inline, below the thing you're replying to. Quoted material is typically indicated by '>'.

So for one thing, you can easily trim your reply to just the bits of the patch that you think is important; that makes it easy for anyone reading; you don't have to skip over large parts of the thread.

Then you can also re-arrange what you're replying to, to make it make your reply make more sense.

Furthermore, suppose A replies to the patch and makes comments 1, 2, and 3 (inline in a single email). When person B replies to A's email, they typically also send a single email, perhaps with replies 1' and 3' (trimming out comment 2, which they don't care about). This means if you've read A's mail, you can just read B's mail, and all the "new" comments are collected in one place (with the thing they're replying to).

Contrast the above with gitlab, where A's replies 1, 2, and 3 are spread throughout the patch; and B's replies will also be spread out, meaning you have a kind of discoverability problem to see both 1' and 3'.

And suppose in the course of talking about something you realize this bug may actually be a security issue -- you can remove the list, cc' "security@", and pick up the discussion without having to do any copy & paste. Same goes if you want to make a private comment, or bring something to someone's attention; just reply, remove everyone else, and say "FYI".

I wish I had a really good recent example to show you, but a quick skim of today's threads isn't anything special. :-)

I mean, I was arguing with people online [1] on BBS's in the early 90's, and I was on Usenet back when that was the main social network; so this "reply and comment inline" way of having a discussion is pretty well ingrained for me. But there are people on my team in their early 30's who also took to the email workflow really quickly too.

[1] https://xkcd.com/386/

Thanks for taking the time to respond. I'm surprised to find that there are people out there who think endlessly nested >'s are a good solution, but it's always nice to have one's world view expanded :)
For one thing, most GUI mail readers will automatically convert the `>` into nested block quotes.

For another, it's not common to see more than 2 levels of `>` (your text, the thing you're replying to, and the thing they're replying to); and yes, when it gets past 4 it begins to get really unreadable, so my gut feel is that it's extremely rare (although I wouldn't be certain without doing some sort of data mining).

As I said, the main advantage of using email is the flexibility you have in editing the response; part of learning how to use the review workflow effectively is learning how to present the context; which means trimming the replies to balance information and readability.

It really kills the fun when contributing to any FOSS project that fetishizes these tools and holds them up as some kind of proof of hacker cred. I've given up. The latency is too high and the tools are terrible.
“Want to contribute? Subscribe to our mailing list that sends a hundred emails a day.” Nope.
Subscribe to our mailing list, where we are rude and dismissive if you accidentally dare make a line longer than 50 characters, (didn't you read our netiquette?) as some members like to read their emails on outdated devices without text reflow capable display software. Also don't dare to use non-ASCII Unicode characters, or we will be rude and will ignore your request. Just spell your name in American, because that is what real programmers do!
Even better is when people post issues on Reddit or whatever asking for help because that's the most low friction way for them to ask, and then a project contributor replies with "hey can you send this to the mailing list?" and so the person sends it in and is met with exactly fucking this. It's just such a great use of everyone's time.
You don't need to subscribe. You are in CC when people want you to be notified, otherwise there are web interfaces you can browse. See https://lists.gnu.org/archive/html/guix-devel/ for example. On each message there is a button: "reply via email to [...]".
Damn, this is ugly and confusing, I mean, look at the threads XD! I'm glad I must not use this shit.
Shh now. A basic interface that took 5 minutes to make in 1995 is good enough for all eternity. No need to change it.
I certainly love navigating a million times back and force to read what should be a single thread.
This interface is awful. I wish GNU would make more of an effort to be easy to contribute to.
I usually know, when the interface is not too shiny, that the content might be good. It's the same with HN. And those interfaces are still very easy to understand and use.

That being said, there is certainly room for improvement.

There's something to this idea, I think. The less polished a tool is, the more I'm inclined to think it was built by the community for community use. There's so much talk about enshitification, and I'm struggling to recall when a tool with a less-than-polished interface had that problem.

The example that springs to mind is spamgourmet, which has a FAQ about why they don't redesign their site. I've used the service for about 20 years, and while there is a bit of a gatekeeping vibe to it, there is also a good reason: they have very few resources for support, and want to attract a certain crowd to minimize the support burden. It seems it's been working for a couple of decades, at least.

> Q. Couldn't you make the whole thing a lot easier to understand by redesigning your site and providing instructions in a more clear way?

> A. Probably. Frankly, we're trying to build a user base of people like you, who probably have some familiarity with the way email works and who are willing to read FAQ's. This is to keep our support burden to a minimum (this is a non-commercial service). So far, the approach has worked well -- just about all our users hit the ground running with no need for support, and it's our belief that those users who would require support generally don't sign up in the first place, perhaps because of the geeky presentation of the site. That's not to say we don't provide support where it's needed -- after skimming this FAQ, please don't hesitate to write if you have a question or believe there's a bug.

https://www.spamgourmet.com/index.pl?printpage=faq.html

I tend to actively seek out projects like this, since I don't mind the blow to usability, and very much appreciate that they provide the service and don't pepper me with annoucements about their new improvements or their changes to their pricing structure.

You don't have to subscribe to send a patch to a mailing list.
I have more than once subscribed just to report a bug or send a patch because the mailing list rejects emails from non-subscribers.

Edit: Btw, yes I have done the periodically-check-archive thing in the past, thank you. Hated it. Also missed a response once because I forgot to check and replier didn't CC. I realized like a month later.

It is unfortunate that there are poorly-managed projects with poorly-managed mailing lists (just like there are poorly-managed projects on Github), but sourcehut at least requires a properly-managed mailing list, and I think you should evaluate this workflow on that standard. Tell poorly-managed projects to move to sourcehut, if you want to fix this issue.
Even then, you’re free to opt into daily digests if you’re a subscriber. The message ID allows you to reply to individual messages and threads nonetheless.
Presumably you'd be interested in any feedback, and not everyone CCs the original author in their reply.
Reply-to-all is the standard policy on most mailing lists. Especially on -devel lists since you'll pull in (CC:) people outside of the mailing list (cross-project) into discussions from time to time.
I know more than one occasion where that has gotten an angry reply.

It's also not the default in many clients. It's tedious and error-prone.

Genuine question: why is this a problem? Every modern email provider allows you to set up filters that move all the mailing list emails into a seperate folder/tag, skip your Inbox, and set up auto-cleanup to delete emails older than X days so that the volume doesn't result in you exhausting your storage allocation. And if you find yourself never actually taking part in that software's discussion and it actually turns out to be completely irrelevant to you, then unsubscribe...
"Want to contribute ? Open yet another account" Nope

"Want to contribute ? Give Microsoft even more power" Nope

This is a biggest blocker.
That’s an interesting take actually. Would you be okay with a service that supports both email and PR based dev flows as long as the user can choose?
I'd be interested in something like this.

  # do your code change
  git commit
  git send-email --to=<some mailing list> -1

  # amend your change
  git commit --amend
  git send-email -v2 --to=<some mailing list> -1
I'm not sure what is needlessly annoying and absurd.

Edit with minimal configuration:

  cat ~/.gitconfig

  [user]
   email = your@mail.address
   name = Your Name
  
  [sendemail]
   smtpuser = your@mail.address
   smtpserver = smtp.whatever.com
   smtpserverport = 587
   smtpencryption = tls
You left out the entire configure SMTP step. Honestly I’m not even sure how to do that if your SMTP server requires 2FA and does not allow legacy app specific passwords.
There are instructions provided for Gmail and some others:

https://git-send-email.io/#step-2

A tool from Google is mentioned and linked to:

https://github.com/google/gmail-oauth2-tools/tree/master/go/...

That uses app specific passwords, and with Google Workspace, the administrator can completely turn off these “less secure apps”. Pretty sure Office 365 has the same.
Sadly you’re right. Microsoft has brainwashed many IT departments into forcing oauth on everything, no app specific passwords, no regular passwords, nothing else. Thankfully they do support this on imap and smtp, but you have to have something that can handle it. I use a modified version of isync with the sasl plugin to fetch mail, and a python smtp sender that supports the oauth flow along with a set of scripts for generating a new refresh token every few months. It’s a heck of a lot of stuff to maintain, but at least it works. If anyone’s interested I could provide links or upload the modified versions to fix o365 quirks.
Multiple enterprise customers use my software (https://emailengine.app) because it can proxy OAuth2-enabled IMAP/SMTP connections as regular password-based sessions. Turns out there are a lot of legacy, like all kinds of cron scripts, that want to connect to some IMAP account to check and do something. It all breaks down once the organisation enforces OAuth for their email. So, personally, I don't like it at all, but as a software developer, I'm really happy about it. Helps with my sales effort :P
There’s another method that doesn’t use app specific passwords but I’m not entirely sure how it DOES work - it opens a connection and then gives you a web address to go to in your browser to authenticate with 2fa. And then somehow it magically works until it decides it doesn’t like you anymore.
I never studied the protocol of Gmail/Exchange/etc. 2FA, but I suppose the SMTP auth token expires after a while, and the client somehow hasn't implemented token refresh? Anyway, glad to know there is a way (?) to get git-send-email working with stricter 2FA.
The tool from Google that is linked to appears to use oauth2.
Every mail server/provider that provides 2FA that I used allows for configuring "tokens" (called a bit different everywhere) which are a high entropy random string, and some of them require TFA only for IMAP or POP, i.e., getting mail, not SMTP, i.e., sending mail.
If you use this proxy of mine then any IMAP (or POP/SMTP) client can be used with a “modern” email provider, regardless of whether it supports OAuth 2.0 natively: https://github.com/simonrob/email-oauth2-proxy. No need for your client to know about OAuth at all.
They said they found it difficult to configure, not that they found it difficult to use afterwards.
If your system cannot relay mail correctly already, as most office setups are easy to configure to be able to provide that without extra config, at least for Linux setups, then the set up means having something like the following in their gitconfig:

    cat .gitconfig
    # snip
    [sendemail]
     to = default@list.example.com
     annotate = yes
     suppresscc = self
     smtpencryption=tls
     smtpserver=imap.example.com
     smtpserverport=587
     smtpuser=foo.bar@example.com
(only the ones starting with "smtp" are relevant for mail, the other ones are just there for convenience)

And that has to be done once, iow., in essence it's as hard a setting up an email fat client like thunderbird.

FWIW, I haven't done that kind of setup for years because modern iOS/macOS does email server discovery, where you enter "bob@example.com" and then it does discovery and figures out the right imap.example.com:587 etc for you by looking at DNS.
Yes, such things are nice. The well-known URI [0] system is also sometimes used for this, at least there's one entry for Thunderbird under the "autoconfig/mail" subdirectory. Having some of those auto-config methods available for git send-mail could be nice, as it would lower the barrier a bit further, even if most devs are probably able to check their SMTP endpoint and port.

[0]: https://en.wikipedia.org/wiki/Well-known_URI

It's also possible to not be religious about it. Git is distributed. I have projects on srht and contributing does not mandate using the send-email workflow. "Push it somewhere and let me know where I can pull" always works too.
Hard agree! I think the success of Github's PR system over Git + email workflows has proved itself quite well through sheer adoption numbers.
The largest open-source software projects in the world don't use it though, so that tells me there is something lacking.
Maybe so, but my interpretation is that there's personal opposition to change and improvement from people like Linus or TGLX or other greybeards. At least in the linux kernel world. The contribution by email is an antiquated approach and needs to go.

Now, knowing the HN crowd this comment will become grey in 3... 2... 1...

What is antiquated about sending patches via email? Have you ever used email to contribute to a project or review a patch?
Contributing patches via the Linux mailing lists is worse than Gerrit in every way.
It really isn't, it's basically `git send-email --to=linux-kernel@vger.kernel.org -1` – how's hard?

Oh, sorry, you actually need to figure out the maintainers, so you can send it directly to them too to get it reviewed faster, so yeah a call to `./scripts/get_maintainer.pl -f <files>` ok, now it got impossible for the modern dev – cannot expect those are able to actually understand basic systems.

Then reply to the review replies you get, if there's still anything to change, how would gerrit making that easier in any way?

What is worse about it?
They say that scientific discovery advanced one death at a time. I imagine this same theory applies to kernel development tooling.

I understand not changing for change sake. The kernel is at this time not "this gen" developer friendly.

Largest open-source software, perhaps Chromium or Android, uses Google's proprietary systems with Git.
It's easy to forget the maintainers' side of this.

Yes, most contributors will prefer opening a PR on GitHub as apposed to mailinglists. But imagine instead that you are David Miller, and it's your job to consume the absolute fire hose of patches and messages related to Linux's networking subsystem. Would you rather wade through the hundreds of messages and patches coming in every day using either GitHub PRs and issues or email?

I would choose email for one simple reason: It's easier to script.

Even as a small-time contributor and observer to that space, I couldn't even imagine trying to keep up with everything going on if I couldn't bulk download, filter, tag etc. As a maintainer it would be excruciating.

Github has an api for this…
And once you've used that API to download and tag everything, what tools do you use to interactively view the results, run search queries, apply patches to local trees etc?

If your on-disk format is an Mbox or a Maildir, you can use tools like notmuch and its emacs integration to do it.

Now don't get me wrong; I love GitHub. I host all my projects there, and I prefer PRs+issues to mailinglists in almost all cases. But for massive projects like Linux, a mailinglist (and associated tooling) scales better, in my opinion.

Which eventually will change, and you have to update everything. Or the company disappears and you have to move somewhere else.

Email is just email. You write SMTP/IMAP clients today and they'll continue to work for a long time, probably longer than most platforms with APIs online today.

It’s easier for contributors too, you don’t need an account.
> workflows like git send-mail and mailing lists not only drive away a significant number of potential contributors

A GitHub PR is way more steps than e-mailing a patch to a mailing list, and far less accessible. Have you never done the "sign the contributor license agreement and get the GitHub bot to approve it" polka? I've done it a dozen times now, it's painful and way more gatekeepery than just emailing a patch.

> but they also form a weirdly religious culture that fetishizes needlessly painful process and is incapable of improvement

Who hurt you?

> not only drive away a significant number of potential contributors,

It drives away the kind of people who have little patience for technology problems and little patience for learning new things.

I don't want those kind of people working on e.g. Git. Git needs people who have lots of patience for technology problems and lots of patience for learning new things.

> It drives away the kind of people who have little patience for technology problems and little patience for learning new things.

like learning to use a GUI and a Web Interface?

It's not really that people can't use them. It's that they're slow, annoying, hard/impossible to automate, hard/impossible to customize and give you RSI.

We've seen Web interfaces, they're hard to avoid. We've just decided that they're worse.

Could you, for a moment, imagine that others might feel like that about the command-line-plain-text-email-to-mailing-list workflows? Possibly not, as you have labelled them

> the kind of people who have little patience for technology problems and little patience for learning new things

Also tell me how is tolerating rude incumbents of mailing list sending email with 50+ characters in a line a technical problem? (Yes they are often rude, and unwelcoming to those attempting to accept their anachronistic ways. You are demonstrating that specific behaviour right here, which many of us have encountered on those projects.)

I think the projects which accept contributions only from mailing lists will have their contributors die out, or will be forced to change their ways to survive. I for one will never again attempt to contribute to such project, thanks to the inflexibility of the incumbents I have faced several times. Also thanks to the sub-par review workflow, usually the lacking quick CI feedback.

Web UI might give you RSI, but the insufferable email-only-patches people give me PTSD from my previous encounters.

ps: if you are willing to learn new things, you can automate web apps and GUI apps (eg. Autoit, xaut). Some even have proper APIs (COM/dbus/web api), or a cli!

> Possibly not, as you have labelled them

>> the kind of people who have little patience for technology problems and little patience for learning new things

No, I haven't.

You're making an awful lot of shit up about me. All I said is that I've tried the Web UI:s and didn't particularly like them. Speaking of rude.

No, it drives away people who don't want to develop in vim or emacs and prefer to use modern tools instead.
What isn't modern about neovim or emacs 29? Does a tool have to be graphical to be modern?
VSCode actually also supports using git send-email. All you need to do is work on your code in exactly the same way, then use git send-email.
Oh please. Lots of people, myself included, take issue with having to answer your riddles three before I may cross the bridge that you value much more than I do.

There’s having patience and problem-solving ability, and there’s not seeing the value in jumping through the various hoops that comprise some ‘90s Internet fetishist’s playground.

This is all just code for “I’m old, set in my ways, and don’t appreciate the fact that the only reason I find my workflow easier is because I know it, not because it’s more intuitive than what people are doing these days”.

You went from "I find it inconvenient" to "they're masochistic cultists" pretty quickly there. Ad hominem attacks are against site policy.

You've spawned a huge thread of people being incredibly self-righteous about the mind-boggling difficulty of sending email. It makes me think that it's actually a great filter to keep out people who prefer drama to clicking a few buttons that are different than the buttons they're used to clicking.

I understand that familiarity is a powerful driving force in human psychology, but really, it's not like it's that hard to learn a different flow. I mean, I've had to use Perforce, and while it's fun to complain, it really wasn't that hard. I didn't even have to get out of my chair.

> Organizations that insist on using workflows like git send-mail and mailing lists not only drive away a significant number of potential contributor

Often that's a bonus if not the whole point to begin with. The higher the barrier to entry the less noise you need to filter through.

It only feels annoying to you because you're not used to it.

Why would you set it up more than once?

Copy the config, or better yet, version control it (or any of the other solutions to this problem).

There's a psychological basis for people taking pride in a difficult task learned and mastered, and many organizations take advantage of this by creating a culture that rewards this effort when put towards their own products with social status within the organization. It feels manipulative and unethical to me.
(Dare I say HN is one of them, where the effort is a curated form of elitism, and the mechanism up/down votes?)
Like GitHub.
The process tends to be a lot less painful when using git-combine-mailmap [1]

^1

https://git-man-page-generator.lokaltog.net/#Y29tYmluZSQkbWF...

I personally self host git and think that email gives a bunch of advantages:

1. Email has clients with full offline support. Sometimes I work in locations where internet is bad to nonexistent and with github I am limited in what I can do.

2. Anyone can contribute to my repos without needing to sign up to my website. Git with email truly allows decentralization of “forges”. So in the same vain, I can contribute with the same client to any project on the web that accepts email patches and it’s the same workflow for all of them.

3. Since I have an email client for my email, I can set up my own custom workflow that is much faster. Github siloes you into a begrudgingly slow one. My email client integrates into my editor and gives me the same keyboard shortcuts I use to navigate my code.

4. Did I mention it removes centralization? Having github be the center for all repos makes it ripe for enshittification. Given Microsoft’s history for EEE, I don’t trust them one bit.

> Organizations that insist on using workflows like git send-mail and mailing lists not only drive away a significant number of potential contributors, but they also form a weirdly religious culture that fetishizes needlessly painful process and is incapable of improvement

You could say the same of GitHub. Why do I need an account on your lil site just to get a patch accepted?