Live data from Hacker News

Why kernel development still uses email

lwn.net

141–150 of 152 posts

Re: Why kernel development still uses email

#141
post #136

Earlier quoted context omitted.

I think the matter of lists is orthogonal to the issue of global directories . I have ... well, not quite nothing, but little against the concept of email lists. They're useful. I've used them extensively. They don't, of and by themselves, address numerous other problems with email. And they can and do insert a few of their own. Regards lists and directories, I'm not entirely sure what your argument is, but I can int…

Interesting points. I guess I need some clarification as to what your perceived problem is - it sounds like email is equivalent to the phone system - are you saying you prefer facebook etc as a global directory, as opposed to specialized directories run by organizations?

The directory issue ties in with several of the other problems of email, and how you want to address them.

If we're assuming pervasive use of mobile devices, with no fixed static IP addresses, and quite possibly dynamic IPs even for stationary devices, several of the avenues to establishing reputation, identity, and routing get difficult.

If the idea is to offer a very large number, rather than a small number, of messaging hubs (equivalent to, though offering more services than, an email server), then issues of reputation, configuration, and administration come into play. You want something that's simple, bulletproof (not in the spam-friendly sense), robust, and useful.

Many erstwhile email replacements are premised on a single global directory. I don't think this can work, nor is it on the whole desireable, though it's certainly simpler to get started.

For point-to-point messaging, especially if we're including realtime protocols (chat and voice/video, not just text/files), you need a system in which either scheduled contacts can be made, or in which at least certain trusted/whitelisted parties can reach a given device, regardless of location, within seconds, or at the outside, a few minutes, so long as both parties are online.

Avoiding central peering and routing structures should be part of the system, for privacy and resilience reasons.

Addressing a few of the other issues I mentioned above, including standards for comms and the like, should also be supportable.

Re: Why kernel development still uses email

#142
post #112

Earlier quoted context omitted.

I can't abide ad-hoc synchronous communication , not just phone calls. It's the reason I'm almost constantly wearing headphones, whether I'm listening to something or not. I sometimes hear that a cow-orker is talking to me, but I ignore it on purpose, pretending not to notice. Then they usually figure out they need to attract my attention somehow, so they come over / wave their hands / throw an object at me. I respon…

Best workplace for creative work like programming is a room for yourself. The shared office concept was a mistake inspired by assembly lines. Sharing space with coworkers is good in factories because work is often dull and workers can talk to each other. For creative work, it's nothing but a hindrance.

I feel that this is more an issue about bad managment. When your managers are bad to create good communication between teams, sharing the same workspace is a pretty neat workaround that can save a project.

Re: Why kernel development still uses email

#144

Earlier quoted context omitted.

> Article says: > Gerrit, he said, makes patch submission quite hard > But without any explanation for why. You need to add hooks to inject a Change-Id into every commit, and be careful that they're still "fresh" (e.g. you cannot reuse one from an abandoned branch if you want to re-submit it). And you must push a diff to the server so it can be submitted to Gerrit. If your feature branch is up-to-date (you just force…

If your feature branch is up-to-date (you just force- pushed it), you cannot submit the same commit to Gerrit. It sounds to me like this is where it's going wrong. If Gerrit is not also hosting your 'origin' git repositories and acting as a gatekeeper for any commit to be added to it, then you are working against the system. I don't see the problem with hooks and we rarely have problems with Change-Ids not being 'fre…

> If Gerrit is not also hosting your 'origin' git repositories and acting as a gatekeeper for any commit to be added to it, then you are working against the system.

It is/was. But if I push my work to origin/features/foo, then push the same commit to refs/for/master, it will not create a review because no new commit has been introduced. At least that's my experience and it is (kind of) spelled out like that in the manual [1]: "Each new commit uploaded by the git push client will be converted into a change record on the server."

I've only tried this a couple of times, so hopefully that was a case of PEBKAC.

> Bugs in plugins are of course not a good reason to say Gerrit isn't very good.

Services like GitLab/GitHub/Bitbucket work with every git GUI out of the box, because all you need to do is to push branches and then open a web browser. With Gerrit, you need to know how to push to a magic URL (especially if you want to specify a topic or message), or you'll need a plugin. I don't blame Gerrit for the low quality of the IntelliJ plugin, but for needing a plugin in the first place.

[1] https://gerrit-review.googlesource.com/Documentation/user-up...

Re: Why kernel development still uses email

#145
post #17

Email is an amazing tool. I don't understand the rush to get rid of it. It is a free standard with many implementations on both the client and server. It is exceptionally easy to manage email. Many servers have great systems for categorizing emails and storing them long-term. Email is fast. Everyone has one. There is this weird myth that Email magically kills productivity while Slack and GitHub don't. I never underst…

Email is tremendously useful, and whatever replaces it should borrow from those useful bits. It also has numerous problems. Some are listed in the article: 1. Clients (and some servers) mangle email. You can't be assured that what you send is what someone else will receive. I blame the clients and servers here, but ... 2. Privacy. This has become among the biggest downsides. Whether it's data-in-flight or data-at-res…

Your list of complaints is approximately my list of laurels, but many of your complaints are not specific to email.

1. Clients (and some servers) mangle email. This isn't a complaint about email; it's a complaint about bad software in general. It's also not my problem; I don't use such clients or servers and it's up people who use them to work around these flaws.

2. Privacy. Real privacy is achievable via email with PGP; everything else is no different than literally any other form of communication. Privacy will always be between Alice and Bob. The transport layer is just a transport layer. With email, those who want it know where to get it. Sure, it's not simple, but if it were simple it would not work. With other solutions, it's frequently not even almost an option. I don't get to audit Whatsapp's server logs; who knows what agencies have access.

3. Users. All systems of communication rely on compliance by users. Just about none of your thoughts on this topic are specific to email. There is no 'go fmt' for human expression, and whenever someone tries, human expression is no longer present. Always speak to your audience, even in an email. It's up to you to decide if a given audience is important enough to acculturate to their norms.

4. File formats. You can send anything -- thank god.

5. The directory. This has no place in the layer. It's like complaining that they didn't build the concept of a web sitemap into TCP/IP. Twitter, Facebook, and HN are one-to-many communications platforms, some of which have hacky ex-post-facto one-to-one mechanisms. Email has been n-to-n from day one. Pretending that it is universally desirable to map addresses to individuals and vice versa is incredibly naive. I not only have several email addresses for different roles, but I have several phone numbers and several postal addresses for different roles. On twitter, facebook, and HN, I would have to jump through hoops to achieve this, and on some services it's even against the TOS. This lack of outside force regarding how I handle email messages is its greatest strength -- I can trivially set up a mailing list, which is nigh impossible on, for instance, twitter, and utterly impossible on hacker news.

6. Spam and spoofing. Absolutely a problem. Will remain a problem until solutions get specific buy-in from multiple interested parties -- and that last part makes all the difference. Each time some SV megacorp institutes a real-name policy, or a captcha, or or or... another class of users is sidelined, disenfranchised, or otherwise excluded from the communications process. Email does not have that, because there are standards to adhere to, and some random project manager does not (quite yet) have the power to shove new standards down our throats. Thank God.

7. Reputation. This is now and will continue to be the universal problem across all of the internet. Solving this problem by trusting a third party service provider to do all of your vetting for you will fail, because all they do is push that problem downhill to the users. Joe Random wants to be friends on Facebook. Now I have to do casework to decide if I want Joe to access my inbox, and if Joe is even Joe. Susan User would like to add me to her professional network on LinkedIn. Same problem. The only difference is that when I run an email server I maintain agency to manage the entire scope of these decisions, instead of trusting that Facebook or LinkedIn is reasonably sure that Joe might actually be Joe, or that Susan is not in fact a ten-year-old Martian girl mining my profile for password recovery answers.

Is email perfect? No, of course not. But it and IRC are the closest things we have to level playing fields for someone willing to do the work to take their place as a first-class citizen of the internet. They will only ever be replaced by standards; no proprietary product will ever unseat them.

Mail clients written in the eighties can still work today. Mail stores created then are still readable by today's clients. The protocols and processes involved have definitely changed, but they've _evolved_, rather than getting thrown in the trash and replaced with version 2.0, then 3.0, etc, ad infinitum, ad nauseam.

Given the choice between an evolving collaboration and reliance upon the goodwill of some stranger I can't even name, my choice will always be the former.

Re: Why kernel development still uses email

#146
One thing I've always wondered is why email based patch submission and review was never done via a newsgroup over NNTP.

One advantage a newsgroup has over an email list is that you don't have to set up filters in your email client, and that every message posted doesn't have to be specifically CC'd to a certain group of people. Also, it's much easier to browse past posts.

Currently this can be done via the gmane NNTP gateway for the kernel and git mailing lists, but I can't see a good reason why a newsgroup wouldn't be preferred over a mailing list.

Re: Why kernel development still uses email

#147
post #17

Email is an amazing tool. I don't understand the rush to get rid of it. It is a free standard with many implementations on both the client and server. It is exceptionally easy to manage email. Many servers have great systems for categorizing emails and storing them long-term. Email is fast. Everyone has one. There is this weird myth that Email magically kills productivity while Slack and GitHub don't. I never underst…

> I'll need to find and install one of the x tens of IM clients. Only one? :) It got so bad at my company, that at one time we were having conversations on 3 platforms. And, of course, no one emails anything! Because it's all done on Slack or whatever now. So everyone is 100% out of the loop at all times. I'm up to about 20 Slack channels. I'm constant switching between things to see if I need the information. We hav…

Fortunately, Slack does provide an XMPP and IRC gateways. Assuming they're enabled, using them is a much better experience (no animated gifs and all the power your chosen irc/xmpp client can provide you).

Re: Why kernel development still uses email

#148
post #100

Earlier quoted context omitted.

GitHub is really useful for issue tracking on open source projects. It's annoying to have to hunt through whatever 90's era mailing list archive website to see if someone else has had the same issue on projects that don't use it.

Good point. Email is great when you are part of the conversation and it's in your history. Maybe not so much for digging around later on otherwise.

It would be nice if discussions were done on a newsgroup instead. At least you don't have to be part of the conversation and you can read through discussions as far back as the retention policy on the NNTP server allows.

Re: Why kernel development still uses email

#149
post #60

Earlier quoted context omitted.

Email is tremendously useful, and whatever replaces it should borrow from those useful bits. It also has numerous problems. Some are listed in the article: 1. Clients (and some servers) mangle email. You can't be assured that what you send is what someone else will receive. I blame the clients and servers here, but ... 2. Privacy. This has become among the biggest downsides. Whether it's data-in-flight or data-at-res…

Number one on your list is a big issue with using e-mail for kernel development. If you want to submit patches by e-mail, you have to install and configure one of a handful of clients that doesn't mangle the patches first. There's a list in the kernel documentation and they're not terribly user friendly. (In fact, by necessity they have to be, because not wrapping lines automatically is terribly user-unfriendly and r…

> you have to install and configure one of a handful of clients that doesn't mangle the patches first.

git-am and git-send-email are used by some people. Submitting patches using those tools is just a matter of setting up the necessary parameters (email server and authentication information). But you can use any email client to participate in discussions about a patch series regardless of whether or not it mangles text (since review comments or further discussion obviously do not need to be applied to one's local copy of the code).

Re: Why kernel development still uses email

#150

Earlier quoted context omitted.

Email is tremendously useful, and whatever replaces it should borrow from those useful bits. It also has numerous problems. Some are listed in the article: 1. Clients (and some servers) mangle email. You can't be assured that what you send is what someone else will receive. I blame the clients and servers here, but ... 2. Privacy. This has become among the biggest downsides. Whether it's data-in-flight or data-at-res…

Your list of complaints is approximately my list of laurels, but many of your complaints are not specific to email. 1. Clients (and some servers) mangle email. This isn't a complaint about email; it's a complaint about bad software in general. It's also not my problem; I don't use such clients or servers and it's up people who use them to work around these flaws. 2. Privacy. Real privacy is achievable via email with…

First: thanks for a point-by-point commentary.

I disagree with some of your points, but also want to note that what I gave as email's weaknesses are frequently also strengths. I'll try to clarify the distinction.

1. Clients: There are cases in which functions which ought be standardised aren't. These are particularly problematic where archives of email from multiple systems are presented. References, quoting, and reply styles are three long-standing friction points. Various conventions for noting changes in documents -- GUI client users relying on word colour won't play well with those using text-oriented platforms. Including now a great many mobile email clients, not just mutt and pine users.

Standardisation is what makes more complex interactions possible, whether you're talking messaging formats, file formats, or nuts and bolts sizing. This makes for an interesting though likely side conversation. My point is that the lack of agreement across major families of email clients makes more complex email interactions quite painful, something I've noted for decades.

The biggest problem I'm seeing is that client tool vendors simply aren't addressing numerous areas of concern, such as those I've listed here, or working in the least toward interoperability. This is for quite understandable reasons (gaming and abusing standards for selfish gain is an old trick), but it doesn't make the resulting situation any more desirable.

2. PGP/GPG doesn't address metadata privacy at all. It's not supported by many clients (see above), and has posed very long-standing issues by way of key management and web-of-trust issues. Moxie Marlinspike is among the voices suggesting PGP may have to be swapped for something else. I'm not sure I agree with his assessment, but his isn't a voice to be trifled with.

Without encryption at the transport layer, and on a guaranteed basis, privacy protections simply don't exist. The level of concentration of email services leads to other massive concerns. Much of that is due to a lack of sufficient trust mechanisms built in at the peering level, so one problem (spam + trust) feeds another (privacy).

3. The issues of user idiosyncracies is amplified by other factors, including the client issues above. Tools to standardise formats, or convert to/from various standards, might help. My primary issue is that problems in one area of the messaging world amplify those in others. It's a mess, and neither users nor tools are helping much.

I'm aware that people aren't robots. Not all of them, at least. Providing tools that make it harder to do the wrong thing would help considerably. That's not what we have now.

4. File formats: again, it's a matter of standards. Negotiation of what is/isn't permitted, and/or required, on a given conversation, for example, might go a long ways to addressing this.

More generally, email as with the Web operates as an error condition: http://deirdre.net/programming-sucks-why-i-quit/

5. The directory. Addressed elsewhere. More a characteristic / non-characteristic of email as a whole, though one many proposed replacements get on the wrong side of (trying to provide a total global directory).

6. Ties in to clients, security, authentication, privacy, and a mess of other factors. It's a problem, but it's a problem grounded in virtually every other part of the email system.

7. Reputation: see above. Though I agree that it's not something that can be addressed through a central agency. Another much longer discussion.

Again: the point in my list is to note where email fails most egregiously. I like email. I've used it for thirty years. I've defended it, strongly, against numerous previous criticisms. But I've come to change my mind, in that several of the fundamental premises and capabilities of it are now fatally flawed. It needs a massive refresh.

(I'm also a fan of IRC.)

Post reply on HN