
“Problems” with git format-patch - davvid
https://public-inbox.org/git/CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com/
======
josteink
Gmail is wrong? And no surprise there.

Don’t get me wrong: having written enough email-stuff myself, I can fully
sympathize with Linus.

That said: Just like the worldwide web is quickly turning into whatever Google
pushes through Chrome and their web assets, internet email now slowly seems to
become whatever Gmail does or supports. Which is terrible.

90% of the programming guides for various languages and libraries now are
_not_ “This is how you send an internet email using SMTP from $X”, they are
“This is how you send a _Gmail_ from $X”.

And all that’s because of one single thing only: Market-share.

Get off Gmail. Get off Chrome. And help others do that too. Help bring down
that market-share, and you may help restore balance to the internet.

~~~
pmlnr
I've been hosting my own mail for more, than a decade. It pays off; eg. I can
access it even in China, unlike gmail.

Despite the myths, it's not _that_ hard to set it up, but you do need your
clean own ipv4 address for everything to go smooth - I mean go around and get
it off blacklists before you actually start using it as mail server. Test it
here:
[https://mxtoolbox.com/blacklists.aspx](https://mxtoolbox.com/blacklists.aspx)

Once that's done, things like SPF, DKIM, DMARC are time consuming to set up,
but not particularly hard or tricky, and there are tonnes of good guides out
there.

~~~
bradleyjg
I had my own mail service. I switched to gmail when it first came out because
the spam filtering was much much better than anything than available to the
public. Kind of like why I switched from altavista to google search.

What's the spam filtering picture like for DIY these days?

~~~
pmlnr
Greylisting + weighted dnsbl from multiple sources stops the majority of it.
The remaining can be caught even with bogofilter.

~~~
bradleyjg
How's the false positive rate?

------
microtherion
As an aside, this is a superbly professional e-mail, with clear references to
the applicable standards, and the disapproval of the broken service stated
firmly, but using clean language. Does anybody really think that Linus'
(hopefully) past practice of starting with a foul mouthed rant, and only
drilling down into the technical detail three pages in was a more effective
way of communicating?

~~~
skocznymroczny
It wasn't "past practice". Linus' rants were a rare event, in case of major
"sins" commited by core contributors. They are what made it out in the open,
but a lot of Linus' messages in the mailing lists is actually a sane,
technical discussion.

~~~
andreareina
I recall Linus calling some filesystem brain-dead (-damaged?). Could be [1] or
[2], but I'm getting a cloudflare error when I try to visit the links. Not as
bombastic as some of his rants, but this email is much more professional.

[1] [http://thread.gmane.org/gmane.comp.version-
control.git/70688...](http://thread.gmane.org/gmane.comp.version-
control.git/70688/focus=71348)

[2] [http://article.gmane.org/gmane.comp.version-
control.git/7076...](http://article.gmane.org/gmane.comp.version-
control.git/70760)

------
cpach
Here’s a copy of the thread with a light color scheme:
[https://marc.info/?l=git&m=155260711429449&w=2](https://marc.info/?l=git&m=155260711429449&w=2)

~~~
chrismorgan
It _has_ a light color scheme, if your browser supports the media query
`screen AND (prefers-color-scheme:light)`. Currently that’s Safari 12.1, and
Firefox beta channel or later.

(I run Nightly, so I was initially puzzled by your comment, since I was seeing
it light.)

~~~
cpach
I had no idea. Cool!

------
simias
It's tempting to pile on Gmail and its monopoly and use this as an example of
them "taking over" email but at the same time this type of ossification for
long-used protocols is fairly common in my experience. In practice everybody
ends up relying on a safe subset of the spec that everybody is expected to
understand correctly.

Try implementing a fuzzer for HTTP, SMTP, NTP, USB-C, CD-ROM or, say, TLS that
tests every obscure corner case of the spec and see how many implementations
fail to conform.

Given that I wasn't aware of this issue before reading this email shows that
it's probably not much of an issue in practice. I can imagine that whoever
implemented this at Google took a shortcut originally, adding a "// XXX maybe
we should allow arbitrary order for headers?" comment and it never turned out
to be an issue in practice (better yet, it might help them discard bogus
emails early in the pipeline).

Still, I can empathize with Linus's frustration, it's always annoying when you
write technically correct code and it doesn't work because a third party
didn't do it right.

~~~
ses1984
>Given that I wasn't aware of this issue before reading this email shows that
it's probably not much of an issue in practice

Two economists walk down a road. One of them says, "look, a $20 bill on the
ground."

The other one says, "that's impossible, if there was money on the ground,
someone would have picked it up already."

~~~
simias
I don't understand how that applies to what I was saying. I was commenting
that it's not an issue that crops up often in practice, which is probably why
the engineers at GMail made the assumption that it could reasonably be
ignored.

I'm not saying that it can never be an issue (this it obviously is in this
case), I'm saying that it's not necessarily a bad engineering decision. Adding
code to handle weird corner cases of a standard means adding code that won't
be used 99.999% of the time (a number I pulled freshly out of my buttocks, but
wouldn't be surprised if it was close to the truth in this case), that's more
likely to rot, be poorly tested and become a maintenance liability.

I'm not saying people never find $20 bills on the ground, I'm saying that if
most people routinely found $20 bills on the ground every other day we'd
probably have heard about it by now. The fact that it only came to my
attention in this email (and I hosts my own email server and have written SMTP
clients and server code in the past) tells me that it's probably not such a
widespread problem. If GMail started routinely bouncing incoming mail because
they didn't support the standards correctly I'm sure we'd see an article or
ten pop up on the front page of HN.

~~~
ses1984
Maybe you're right. I just like that joke.

------
viraptor
I'm more disappointed about the RFC than gmail... Publishing a specific syntax
which uses specific ordering and just leaving a note that it's actually
incorrect is a really bad way of writing specifications. RFCs should be really
clear and explicit in things like that.

~~~
crististm
You are supposed to read the whole RFC (and then some more) when implementing
it.

~~~
viraptor
Sure, that's the theory. The practice is that people won't, and you either
have to accept the bad implementations or make sure that everything is as
explicit as possible. (And that you don't contradict yourself) If people
implemented specs 100% correctly, we wouldn't have bugs.

Even without malice or incompetence, people will make mistakes.

------
jobigoud
> I have a very strong suspicion that it's easier to fix "git format-patch"
> than it is to fix whatever odd gmail issue.

Third option: Update the RFC so that it's more opinionated and makes the
ordering of the headers a mandatory part of the spec.

~~~
chaosprophet
Have the entire world change their implementation rather than the one company
which is doing it wrong?

This is not how RFCs work. There's a reason RFCs came about, and it was to
prevent this exact type of situation. Just because a company has a large
market share, doesn't mean RFCs should be changed to suit it.

