I think the idea isn't that every single person will host themselves. But you could have an account with a local provider, and the network will be a built-up federation of local providers linking together. In this way you individually don't have to manage your own instance, but everyone's data isn't centralized and owned by one corporate entity and you effectively limit your trust.
Given the way Facebook, et al, are evolving however, I think the market will make this question moot faster than we can answer it.
Not really. I've been running a Jabber server and a GNU Social node for about a year now and I can tell you it takes maybe 1 hour a week of my time for patching.
I have automatic security updates enabled on both systems but I tend to login from time to time and do a dist-upgrade on them manually.
The average person is not supposed to maintain their own node for these services. That's why they have us who give our free time and our VPS accounts to host such things.
It basically comes down to trusting Big Media or trusting your neighbour with your data.
I personally doubt we'll see a big breakthrough for Big Media alternatives because people go where their friends are.
I am unfortunately expecting fragmentation in that field, sort of like reverting back to the early days of the internet when us nerds who could connect were considered a subculture. Now that everyone can connect we're creating a subculture of people who choose not to use Big Media and instead gravitate towards smaller and less centralized alternatives.
That doesn't matter though, I have always enjoyed being on the fringe and I believe I will continue enjoying my time there. :)
Federated has its advantages. Centralized has its advantages. 40 years from now, people will continue to use the federated platform. The centralized platform only stays around as long as it is profitable.
But while the centralized platform is around, things are a lot more convenient and mainstream.
Damn good observation -- but it begs the question, why can't federated be as frictionless as centralized? Is this a matter of effort, funding and organization, or something more fundamental?
Consider HTTPS, SSLv2, SSLv3, and TLS1.0, and TLS1.1. As web security standards evolved, the people who run HTTPS servers flat out refuse to upgrade the security protocols. Federated admins don't necessarily run their servers as a full time job, while centralized organizations are well funded and well paid.
It takes a lot longer for infrastructure in federated networks to upgrade. Facebook can add new features across the entire network immediately.
Imagine if you wanted to add a game protocol to IRC for example. You'd create the protocol, then you'd try to get Freenode to switch over to the new and improved game protocol, and then they won't do it. So you create your own IRC server and no one comes. You give up and open source the project. Years later, some guy finds your open source implementation and maybe the protocol finally becomes popular enough to be used... or maybe they'll use your protocol as a base for their ideas and it will evolve into something else.
--------------
When "federated" works, it is mostly due to the big players agreeing that a particular federated protocol is amazing. Take OAuth for instance, which got Google, Yahoo, and Microsoft support early.
Ultimately, it is very difficult to make money from federated services, so there's no money (or investment) going into those projects. OAuth was a pro-bono non-political effort to make the web better. Such efforts are extremely rare.
In fact, most federated protocols exist to give a particular company an advantage (or to levy disadvantages on a particular company's competitors). So there's a healthy amount of distrust to any newly proposed protocols... for good reason. Ex: Theora / MPEG4 / video tag nonsense, or DRM support in web browsers.
The big daddy federated network: Email / SMTP, was basically a research project from the late 1960s, and received public investment in the 1990s as IMAP and POP3 protocols were developed. (Anyone else remember paying for Juno email on their 33.6kbps modems?). Due to years of use, it has found its niche and no "competitor" will ever really displace it.
But that's only two services out of many. What about your mail server? What about your webserver where you host your personal website? What about your own git hosting? What about your own private slack-like service? If you follow the "host everything yourself" zealots consequently, all you do is maintain these services. Or you pay people to do that for you, which quickly gets more expensive than just paying for your SaaS subscriptions.
I'm currently hosting more and more services myself. I have my own chat service (a matrix.org HomeServer), my own website (a simple static website served by nginx) and my own git hosting (gitlab). I'm using a nixos box to host it all.
Up until now, the maintenance overhead has been very, very low. The hardest bit is figuring out the configuration at first. Once the initial configuration is set up, I haven't had anything needing my time, other than the occasional systemwide update (takes about a minute, and can be automated if I'm not too lazy. This is nixos, rolling back is easy if something fails. Which it hasn't until now anyway).
Obviously, hosting everything this way isn't a solution for many. I don't expect your average joe to be able to fiddle with configurations file, using the command line, or setting up a VPS. But I believe the problem is simply in tooling, and by making or improving some graphical, easy to use tools, the "federated dream" where everyone could simply host its own service and join a network isn't so impossible anymore.
If a person is good with software engineering and system administration, they don't need to pay more than few minute of their time once in a while, so SaaS are more expensive. I run various software that can be either used on subscription or self-hosted (like Sentry, GitLab CE or Drone) and my time investment in it was negligibly tiny (like... I find a deployment recipe, and run it, then check for the updates once in a while), compared to monetary fees of a hosted solution.
If a person can't do the very basic maintenance, then maintenance costs are very high (they either have to learn stuff or pay someone to do every tiny task), so SaaS probably wins there, and probably by a large margin.
I agree and I think it is like with cars. I for one did basically everything from changing the tires to replacing the body of the car after a crash (I don't have a car anymore). For me it was part of the fun, tinkering with stuff, learning, etc.
Other people never touch anything in their cars and even pay for replacing the light bulbs. This obviously costs a lot of money if you let someone else do that for you. But you just have other priorities, that is ok.
The initial config was a bit rough, but the initial config included docker and jenkins. Jenkins is basically a dashbaord for deploying docker containers now. My "maintenance" is clicking a build button when I need an update, and I could probably configure it to watch docker hub or git and run the builds automatically.
I definitely don't "all you do is maintain these services"
One hour a week? That's a lot. But I guess it's not that you have to do this but that you can and want to spend/invest this much time.
I run my own email, XMPP, various storage (git), few simple websites and a bunch of minor services. I tinker with those, like, maybe just an hour or two a year. When I feel like I want to tinker with stuff, or I learn that I need to update.
Oh, well, and I had a bad day once in ten years when the hardware failed. Luckily, that was just a PSU failure, so besides the outage while I had to get a new one it wasn't a big deal - didn't even had to touch the backups. And this only applies when you host it on your own hardware.
I run a system called Freedombone, and maintenance of GNU Social is not really an issue. If I'm not actively working on it there is no maintenance involved.