Some people have called out git send-email as being difficult for new programmers to get the hang of. I usually respond to this by pointing out that the speaker didn't always know how to use GitHub, too - and as someone who often reviews pull requests from new GitHub users, that workflow is confusing and takes time to learn, too.

But, this notion was disproved another way: someone just sent me a perfectly formatted patchset via the patchset submission UI, with no hands-on instruction, and told me later that it was their first-ever contribution to free and open source software.

@sir My first contribution to a FOSS project (that wasn't my own) was similar. Once you get your git config right, git send-email just works, it's amazing how easy it is. My contribution (to Sourcehut too) may have just been a little trivial thing, but it felt great being able to contribute without needing to go through a website.

Then more recently I got my first experience receiving patches via email and it was an equally pleasant experience.

Git(Hub|Lab) etc just make the process needlessly complicated

@OTheB @sir my first reaction with git send-email was "phew I do loose all the history that has lead to that patch" I probably did missunderstood that, bit for now I prefer using GUIs like lab or hub in my projects. 👨‍💻 For other projects I try to provide patches as the maintainer likes them.

@zem @OTheB I don't understand how history is lost somehow

@sir @zem @OTheB Probably that GitHub zracks changes to the PR in the same thread and shows what changed between versions. With email you normaly send a second patch set, which isn't as easy to compare to the old version of the PR

@reto @OTheB @zem the mailing lists make this fairly straightforward and archive the discussion. The archive is also distributed among all subscribers to the list, which removes the single point of failure. There are other practical problems with the GitHub model, but I they probably deserve a blog post

@reto @OTheB @sir It is at least 15 years ago or so that I have tried importing a patch set so high possibility that it now behaves different or that I don't remember at all or that i did not understand why the workflow was that way.

@OTheB @sir whilst I agree conceptually, the thing that breaks it is that email which was originally designed for a much smaller network with different barriers to entry does not work the same way any more. SPF, dkim and alike mean that email sent from a random pc is most likely blackholed. More of a problem with the underlying carrier than the implementation, but one that is a fairly big issue with the workflow imo.

@iMartyn @OTheB the mail server barrier to entry is greatly overstated

@sir @OTheB strongly disagree, to set up an email server correctly (and bear in mind that a lot of individuals are on USPS that block outbound port 25 for VERY good reasons) you have to understand a lot more than installing git and pointing it at a "forge" and clicking through the sometimes confusing flow of a pull/merge request. Firewalls, DNS, what is SPF, who runs these blacklists, how do I get a TLS certificate, debugging systems you only see half of, etc.

@iMartyn @OTheB I'm not saying it's simpler. But the difficulty is overstated.

In any case, setting up your own mail server is not necessary for anyone to contribute. There are thousands of mail providers out there. Even if you rely on someone else for your mail, the federated, distributed system of email is better than the centralized system of pull requests in most respects.

@sir @iMartyn @OTheB
>there's thousands of mail providers
there's like 2 that don't require you to dox yourself

@crunklord420 @iMartyn @OTheB you have to tell the platform that has the keys to unlock your entire digital life who you are, boo hoo

This is about git, we use our real names and email addresses and write them permanently to the git log. There is no anonymity in free software development.

@sir @iMartyn @OTheB
>you have to tell the platform that has the keys to unlock your entire digital life who you are, boo hoo
do you seriously do this?

>This is about git, we use our real names and email addresses and write them permanently to the git log.
lol no I don't, I often fuck with the timezone in my commits as well.

@crunklord420 @iMartyn @OTheB
I self-host my email, but what do you expect? You need an email address to sign up for anything, and where is that password reset gonna go?

And if you anonymize your shit, your patches are getting rejected. Anonymity harms accountability. Chill tf out with your special snowflakeness yo

@sir @iMartyn @OTheB
>I dox myself because corporations put technical measures in place to prevent anonymity on the internet
>that's why it's okay that I put pressure on people to use a service that corporations use to prevent anonymity on the internet
>if you try to submit code will being anonymous I will reject it
could you be anymore of a boot licking simp? lol

@crunklord420 @iMartyn @OTheB telling someone who you are isn't doxing yourself, it's being a normal human being. Exactly which corporation's boots do you think I'm licking here? Fuck off.

@sir @iMartyn @OTheB bruh your brain has been compromised by governments and corporations. You're basically sucking on their boots. Just listen to yourself.

There's never been more a reason in the entirety of human history to not reveal your slave name.
@crunklord420 @sir @OTheB @iMartyn

Nah they just someone who doesn’t know how to read code so they want someone to BLAME when shit breaks

@sir @crunklord420 @iMartyn @OTheB >you have to tell the platform that has the keys to unlock your entire digital life who you are, boo hoo You neither have to give them your keys, nor tell them who you are. Use a good email host and reduce your soy intake.

@sir @iMartyn @OTheB

Just chiming in to note that I've been running a mail server for 15 years or so and I still don't have it configured right for GMail to reliably not send our messages into the spam folder, and Microsoft tends to drop them into /dev/null.

So, no, not overstated. Some people don't have time to keep up with every new anti-spam protocol because we're struggling just trying to keep everything working on a basic level.

@woozle @iMartyn @OTheB I've been running mail servers for about 10 years, and I have no issues delivering to gmail or microsoft. Try this:

@sir @iMartyn @OTheB

It looks like I'm still missing a couple of things, starting with DMARC. I spent about 20 minutes trying to get it set up, just now, but can't get the DNS record to save; it says "something went wrong", with no further info.

My email to Microsoft ( is no longer being dropped silently, so I must have done something right the last time I messed with this stuff (I think I set up SPF), but it's still being delivered to the Spam folder by default.

My point stands: this is nontrivial stuff.

Thanks for the mail-tester link, though -- it does many more tests than the one I was using. (I did get a 9 out of 10 score for the domain I tested, so I've got it *mostly* right.)

@woozle @iMartyn @OTheB lol, your shitty DNS provider does not reflect poorly on email

@sir @iMartyn @OTheB

I'm using DigitalOcean. They've been pretty good, and easier to use than BulkRegister. Got a better suggestion?

@woozle @iMartyn @OTheB ...not really, to be honest. I run my own nameservers

@sir @OTheB to add perspective, my day job is running systems like this, and all my personal stuff (WebDAV, blog, peertube etc.) is self hosted, except I pay for email hosting because it's a nightmare to manage. I have the skills but it's not worth the time and stress for something that's pretty essential to be running 24/7.

@iMartyn @OTheB to add perspective, my day job is doing all of that and more, and I actually maintain multiple mail servers, and it's not a nightmare.

@sir @OTheB okay, so you know why end users sending email from their local machines (if port 25 isn't blocked) is at best a bad idea then, and how to avoid that they need a forwarding server locally which if they don't get that right, they end up as an open relay, and might get their entire connection blocked, and that's "simpler"? I don't disagree that a distributed system would be fantastic (looking forward to #forgefed myself) but git-send-email imo is flawed.

@iMartyn @OTheB (1) do you have an email address (2) does it have SMTP (3) you can use git send-email with it

This is true of 99.9% of email users.

@sir @OTheB okay, reading your page clears up a lot. git-send-email is a total exception to how email generally happens on Linux, bsd etc. with cli tools, usually there is no chance of configuration of the tool, much less the option of SMTP+TLS. I still think that PRs in a forge system are acceptable and especially with #forgefed things get better, but I'm gonna retract my main objections against git-send-email.

@iMartyn @sir @OTheB He? "no chance of configuration? ... no TLS?" in which world exactly do you live? Here's but one of those tools it can do all that and more, works happily with all my providers

@reto @OTheB @sir only every command that shells out to mail or assumes that localhost:25 works. Cron is just one example. There's a tonne of them, no need to throw shade because you found something that works for your use case.

@iMartyn @OTheB @sir that hasn't been the case for a long time. Unless you are a mail server, one should use the submission(s) ports. Cron/sendmail (the proper sendmail) are archaic. No one said you should use them, same as you wouldn't use telnet when you actually want to use ssh

@reto @OTheB @sir should is the operative word, some of the building blocks of even modern Linux systems are years old and unchanged. Others follow "established patterns".

There is no need to use your local PC for git send-email or even your own mail server. Git can be configured to send with SMTP so you can use pretty much any provider for it, even Gmail.
@OTheB @sir

@sir wait a minute... Are you saying someone _read the docs_ and followed instructions?

I don't know if I can believe something so outlandish.

@sir The patchset submission UI makes that significantly easier. I would be skeptical if the comparison was between GitHub and git send-email directly, but... yeah, makes it seem reasonably approachable IMO.

@sir Is there a plan to provide commands for configuring sendemail in a repo to work as expected in the sourcehut ui? I mean the git config variables and format.subjectPrefix mostly. Or is that what a maintainer should put into the readme?

@sir Some people say that functional programming is difficult for new programmers to get the hang of. I usually respond to this that the speaker didn't always know how to use object oriented programming, too - and as someone who often has to interact with object oriented code, that workflow is confusing and takes time to learn, too.
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!