The people who don’t want you to run your own servers are the ones who want to run the servers.

People will happily run their own servers if it’s so simple to do that they don’t even know they’re doing it.

You want people to run their own servers? Design and build servers for individuals, not communities and let communities arise from the interconnections between those servers.


Because that’s the only way we can compete on ease of use with centralised systems. Not by mimicking their complexity but by side-stepping it. There is orders of magnitude difference in complexity between a system designed to serve just one and one designed to serve one, two, or a hundred thousand.

Centralisation thrives on complexity; decentralisation on simplicity.

If we want everyday people to seize the means of communication, we should ensure that those means are easy to hold.

@aral I see you too read Moxie's post and went 👀 at that point.

@stevelord Yeah, I’m glad Signal exists but there’s very little we see eye to eye on with him.

@stevelord @aral in fact it’s exactly what I replied over at Twitter… yep, this needs to be said apparently

@aral what do you mean by this? i'd think distributed systems are way more complicated

@valerauko @aral They are, due to being a web of interconnected systems which have everything from DNS, to domain names, to TLS certificates, to LAMP stacks, to proxies, to all required software (including updates, libraries, and dependencies), DDoS issues, ISP issues...

As someone who loves decentralisation and knows it's how the web was designed to be, it's not easy by any means. Most people aren't tech literate enough to know what the basics of computers are, never mind hosting servers which are complicated beasts even with documentation.

@valerauko @aral I think that it means that if you want to go distributed+ you have to concede a lot of stuff that's possible to do in centralised arch. Interestingly, natural convergence of masses to centers, perhaps, means that convenience relies on complexity.

@aral does it though? This may be unfair of me (I’m all for decentralisation BTW) bit when I was running IndieWeb functions on my blog, it was ridiculously complicated.

When I tried Micro.Blog, it was convoluted and awkward. was the same, albeit less so.

I hope it will get there some day, but my experience is the opposite. Centralisation is simple (sign up for Twitter, post your memes), and decentralisation is complicated unfortunately. 😕

@kev @aral I think the crucial word is "thrives". What you're saying is an example of how I read Aral's point.

When tools, protocols, or activities become too complicated, centralization will creep in. Hosting is complicated, and lo and behold we end up with largely centralized Web.

It's on us to design our tools such that they are *simple*. And when we do, centralized services will have less room to manoeuvre. The point is: we should not parrot centralized services, but instead design simpler tools.

@rysiek @aral ah, if that’s the case and I misunderstood, I totally agree. That’s definitely the path to success.

I REALLY hope that happens.

In the meantime Ill get back under my bridge. 😂

> t's on us to design our tools such that they are *simple*

... and to *resist* *fiercely* the attempts to inject complexity into them, an approach that appears to be on the rise as a means to attack user autonomy

@lxo exactly.

As a friend put it: at least sometimes we have to be able to say "this code is now complete". No new features needed.

@kev @aral I believe the point is technical complexity. Software that is more complex tends to centralize over time (think email or maybe Matrix), while software that is simpler can easily be decentralized since more people can actually set it up (such as possibly web servers or IRC).

We need to make hosting servers simpler if we want more people to do it without being sysadmins.

@aral have you heard about ? When trump was banned he threw the idea because he wasn't convinced by fedi and it sounds like what you want :anna_chocked:

@aral What I worry about is this: There are many things users want or "deserve" but ultimately, those who do the work get to shape their work. If developers are personally comfortable with editing config files and command-line tools, that's what we end up getting.

@nilesh @aral Be the developer you want to see in the world.

Or, at least, write a design doc and hand copies to every developer you meet until one of them thinks it's cool.

@happybeing @miklo I don’t think we can until we have a system where servers are providing (a) availability and (b) findability. Once we have that scaffolding and we’ve moved people to what is essentially a p2p system with experience guarantees, we can start removing the training wheels. At least that’s my plan.

@aral @miklo as you know Safe Network is the route I'm actively involved with.

Very keen to see how you get on with a less radical separation. I think the pro is easier adoption (migration/integration etc), but the con will be vulnerability to criminal and state attacks (technical and legal attempts to control, censor, surveil, extort, steal etc).

The current architecture isn't robust enough IMO. Hopefulyl Safe Network can shift this by orders of magnitude because all the trends are negative.

@aral @miklo @happybeing I have similar criticisms of Tim Berners-Lee's strategy with Solid. He's betting on Solid as a service, presumably with better regulation but I don't see how that won't repeat the same centralisation as web 2, and it continues to sit it on fragile and insecure infrastructure spread across commercial providers. Ick!

That's why I created a demo of Solid sitting on an early Safe Network testnet. That still looks promising.

@happybeing @miklo His “startup” is VC funded. That’s all I need to know.

@aral @miklo yes, I'm surprised he doesn't seem to see the the causes of web2 centralisation the way we do. He recognises the problem but not the cause or the possible remedies.

@aral I agree, we need to make everything a lot easier to set up , securely, and ensure the person doing so is setting things up securely.

Surely it is possible to build a raspberry Pi image that has everything built, you just insert in to pi (first time) it does the usual resize file system, asks a bunch of easy to answer questions (which you know before hand,, can write down the answers to.

Even better have a online configuration tool that sets up a config file for you, Kind of like the old XFree86 or kernel configuration tool.

@aral I'd say design for three users rather than one.

Individuals running services are often not just individuals - they exist in households or other small groupings, with whom they often share services from the very beginning. Between cooperative housing and inter-generational households, a more than two-adult household with shared resources but multiple semi-independent decision-makers is very common.

@aral My example of a system designed for one is #Grocy, which is totally awesome in nearly every way, but which treats users as places to store different UI settings and nothing more; there is no object ownership or permissions model.

My household is not a nuclear family, and one main reason we haven't switched to the grocy instance we already have running is that we don't want to e.g. [be able to] see roommates' personal chores on the household task list.

@asparagi I understand the use case and agre that it is important but I don’t know how to design for three people. In terms of the architecture of a system I can either design one where a person is in charge of themselves or where someone else is in charge of one other, two other, or a million other people (the exact number doesn’t matter, it only determines the amount of power the person in control has). What I can design, though is a system individuals own/control where they can set the rules…

@asparagi …for their particular three-person household :)

@aral I am lobbying for designing for systems in which multiple people (I agree that the exact number doesn't matter, as long as it isn't special-cased for 2, a la couples' communication apps) are each in charge of themselves, and one or more of them also maintain/support the system.

Assuming there are 3(+) such individuals, one would design for the basic permissions model things/personal data per user, but can ignore e.g. trying to scale to a million users.

@aral Of my personal sample of about 30 households of 2+ members observed closely enough to be able to tell, interest in using tech is distributed more broadly than interest and skill in maintaining it. One or more tech specialists maintain tech for the others, including single-user tech like iPhones, and often set policy for the others.

Household tech seems like the majority use case, over individual, we techies just haven't been seeing it that way.

@aral Just some ideas; I still think you are headed in a better direction than the status quo.

If we have to have a solution that doesn't fit, I'd certainly prefer systems that start with the goal of individual control rather than exploiting herds of faceless consumers.

@asparagi @aral just a though: we may not need traditional (web2/SaaS) permission/security models for household sized services. I have no lock nor safe to "protect" "my" physical belongings from my spouse with whom I live. I may not need software protections either.

Publicly exposed household services must still restric unauthorized (write/admin) access from outside (i.e. internet), but this is true regardless of the number of trusted inhouse users.

@aral So true. But how do we overcome things that are heavily dependant on centralised services? For example push notifications in mobile operating systems. Right now we have no choice but to either use Google FCM, Apple push services or hope for developers to implement their own push services which in mass accumulate to a lot of background activity and thereby battery drain. Almost anything else is easily imaginable in a decentralised manner.


I am just reading The Road to Serfdom from F. A. Hayek

says that cetranl planning leads to totalitarianism

also society grows when individuals are free

I see those as pararells to your opinion

@aral I think they mostly want to turn their laptops off when not in use, and running a server means having a computer which is always turned on.

They seem happy enough to run Alexa 24 hours though.

Probably need the right hardware form-factor as well as being no-admin simple to manage.

@pre VPSs/tiny SBC connected to your router solves that problem. And exactly on your last point.


Increasing numbers of non-geek friends are starting to not even own a computer at all and just do everything on their phone.

Not gonna run much of a server on that.

But yeah, expanding the routers seem to be the way to go. Everyone who's got wifi is already running a DHCP server they just don't know it. That could be expanded to other services.

@aral I would run my own server if it was really fucking simple @yunohost does this for me, but my ISP then randomises the IP address so I have to get off my mass and get and IPv6 static address from the idiots.

@aral this is an interesting to thought. But considering what it takes to run a server, I absolutely understand everyone who doesn't want to do it. At the end the day everyone has to decide whether to spend their time with routing tables, intrusion detection and counter measures, power supply, network connections, cooling, backup, software updates, and so on or with creating content. Delegating the boring stuff to people who give a damn seems like a smart idea.

@dl4mat @aral It's okay that people don't want to run servers. Shared webhosting is fine. Cloud computing is fine. The crucial point is to use software and protocols that allow you to switch providers and run a server if you wanted to instead of getting locked into centralized silos. I think the #IndieWeb got this right - as long as its your domain name you can point it wherever you want and change what's behind it. i don't want to run servers. i also don't want other people to have to run servers. no more servers pls and thx

@xjix @aral I think we're including a p2p node in the definition of server here.

"That's one small step for a man, a giant leap for mankind"


...People will run their own servers.... if ... . they don't even know they are doing it...."

You mean like JS cryptominers running on a webpage, or any peertube instance... 😉

[Obviously I know you don't mean either of those things, nor do I intend to associate them in any way.

I'm just trying to be witty, and make a point.]

@kino @aral You are right! If covert cryptocurrency miners needed the victim to set up and configure them, not much CPU would be stolen at all!

So maybe there is something to learn there in terms of seamless (all the way to downright sneaky) deployment and operation! 🤣

@aral Totally agree and there are examples that already provide easy 1-click installers. Designing for multi-people is hard, especially regarding security. Designing 1-person services that connect through a common protocol securiley might be even harder, but the right way. But I'm not totally against a 2-person system, where one "administration" person controls what the other person on the service can do (e.g. parent vs child, or other relations that require access control, to prevent abuse).

@aral I run my own servers, I have one to was my clothes, one to was my dishes and one to keep my food cool. What these servers have in common is that they are bloody simple to operate.
If an internet filesharing/communication/collaboration server would be as simple as that, every home would have one.

@aral this site mentions forfeiting a democratic future. My sentiment is that such forfeiture happened generations ago. We've been enslaved to the corporate dictatorship since the invention of the corporate construct (as a parallel unbodied "incorporeal" entity)! #corporatedictatorship #incorporeal

Moxie is right in the sense that people don't want to run their servers because in his world, a server looks like this:

What he does not seem to realize is that the servers people want to run look more like this:

They are already doing it and guess what: the uptime is pretty good too


@aral While generally I applaud the sentiment, I have a couple of problems with that article:
1. Doesn't putting everyone onto a subdomain you control (even if it becomes a TLD) basically undermine the goal of decentralisation?
2. If everyone's using Site.JS to run their servers, that's also a centralised technology, isn't it? I guess you can just promote it as a tool for easy onboarding and encourage others to use other methods, but otherwise, you're making yourself the "big player".

Sign in to participate in the conversation
Aral’s Mastodon

This is my personal Mastodon.