Hacker News new | ask | show | jobs
by loup-vaillant 3505 days ago
Okay. The whole story is long and complicated, so I'm going to over-simply things.

At its core, the internet has no centre. It's just a network of computers, peers in the network, who can talk to any other computer in the network without restriction (besides bandwidth). There are complications, such as the distinction between an internet user and a full fledged operator, but as long as the operators give us a set of basic guarantees (no filtering, no snooping…) we mostly don't care.

Such a structure have far reaching consequences. The most obvious is the freedom of expression just got real. Anybody can publish most anything in the internet. This was not true before. Journals, TV, radio, all were controlled by a relatively low number of people. Just count how many people have ever published anything on paper, including research papers and letters to the editors. Compare that to the number of people who posted articles or comments on the web.

Basically, an a-centered internet fundamentally change the way we communicate. This necessarily changes the power structures. Historically, whoever had the power before such a change tended to resist, leading to lots of spilled blood. Just think how the printing press enabled the enlightenment, religious schisms, and revolution. Mostly for the better, but quite bloody still.

The first centre of the internet is the DNS system. To contact a computer, you need its IP address. It's like a phone number, only worse: it's longer, and you're going to talk to a lot of computers in practice. Hence DNS, to have memorable names. Thankfully, the DNS system is distributed into domain and sub-domains, so it's not so bad.

There are however other problems. See, to be a actual peer in the network, you need to be a client and a server. Publishing something on the internet mostly means giving it upon request, the way web servers do. You need a public IP address, and you need to be up all the time (modulo unavoidable downtimes). This was totally the case for university servers, but not home computers.

When the internet began to popularise in the 90's, home computers used to connect to the internet by making a phone call to the ISP. An actual phone call, that hold on the line and cost money (most phone companies charged by the minute and mileage). You couldn't be connected 24/7, it cost way too much. So, no web server for you, and no mail server either. You had to borrow someone else's.

To remedy this problem, internet providers also provided an e-mail address and a way of publishing stuff on the web. That was the first serious step towards centralization.

Later, the ADSL came up. A stands for "Asymmetric". This one doesn't monopolizes your phone line, because it uses higher frequencies. You can also connect all the time for a reasonable price. Alas, you still couldn't have your own server, because the upload rates were just not build for that.

They could have made it symmetric. They chose not to, I think for commercial reasons: they assumed (mostly rightly) that people are mostly consumers. They don't upload much, they mostly download. So let's sacrifice the upload for a better download. Makes total sense, right?

Not quite. One big application was significantly hurt by this choice: peer-to-peer file sharing, which needs both upload and download to work smoothly. Also, while people didn't in fact upload much, many did have an email address and their personal blog. They could easily be hosted at home, if the provider had their router host those instead of centralised servers.

In any case, it all went downhill from there. Gmail was such a big hit that now Google actively reads a scarily high proportion of all email worldwide. (They use algorithms instead of humans, which is worse, because it scales.) You distribute your videos with a handful of services such as YouTube, you talk to your friends through Facebook… And of course the ubiquitous search box, but that one has an excuse: we don't quite know how to decentralise that one yet.

This centralization is not neutral: there are terms of service you need to abide, DCMA takedowns, policies. This is a rather pervasive and direct attack on free speech. Privacy is hurt big time too: it's not exactly easy to secure a private chat connection these days. At the very least, you tend to make a request to some central server just to connect with your friend, such that even if the server doesn't log or record your conversation, it knows you attempted to connect.

This doesn't have to be. The truth is, if everyone had a private server (no bigger than an R-pi) at home, and a reasonably broad symmetric bandwidth, there would be no need for Gmail, YouTube, Facebook, or Medium. There's also a good chance there would be little need for centralised forums such as right here (moderation might be a problem, though). This would mean much harder mass surveillance, which we now know is not exactly a conspiracy theory, thank Snowden.

---

Programs decide what we can do, and how we can do it, all the time. Programmers write those programs, hereby influencing our lives. You really want control over the programs that affect you. This means Free Software, but this also means understanding the damn thing, and executing it on your own hardware whenever possible, not on some remote server. So, when teaching children the basics of computing, we must also demonstrate some good habits. The centralization of a web app is not a good habit.

1 comments

Thanks a lot for this writeup, I think I understand this topic a little bit better now. I really appreciate you taking the time to do this :)