Here's a thought: self-hosting all technology, a common end goal of many software freedom enthusiasts, has nothing to do with freedom. Rather, it's the logical end of hyper-individualism applied to source code.
Humans have lived and thrived in communities since time immemorial. We specialize because it allows us to scale; no one person can master everything that allows us to have a happy, healthy life.
You may be able to self host a few pieces of software meaningful to you, but hosting your entire digital life by yourself? Well, we already recognize that we can't write all the code, or build all the hardware ourselves---that's why open source is important. So then why the fixation on trying to run everything ourselves?
When software was far simpler in decades past, that might have been a feasible goal! But it hasn't been for years.
When I participated in approving the Cryptographic Autonomy License, the only FOSS license that provides users guarantees of data portability, I thought that this conversation might start to shift. That we'd recognize that running distributed systems at the scale of what users have come to expect cannot be performed by individuals, and that we needed to shift the conversation towards how we can protect users' digital autonomy and inherent rights without them needing to become systems administrators.
Yet there has been no forward progress. I just can't associate myself with "software freedom" while it cares more about software, a tool, than the rights of people, the only reason the tool exists.
Where are the radical software collectives self-hosting privacy-conscious for activists and the marginalized? Shout out to riseup, but that's nowhere near the experience you might get on a megacorp's service.
The free software that exists isn't up to task. And if we wrote better options, people still can't run it alone. Where's that vision of digital autonomy? How do we get there, given the cost of labour?
Since this thread is doing the rounds again, I wanted to add a bit more detail to the "cost of labour" issue. The investments FOSS projects see compared to venture capital backed projects are mere crumbs. I gave an example here, comparing Twitter itself, the Block Party app for Twitter, and Mastodon: https://kith.kitchen/@ehashman/109396726220858543
Large-scale software projects cost hundreds of millions, even billions of dollars to build and operate. Even "small" but polished apps require massive investment of time and labour. It is neither sustainable nor realistic to burn out a handful of volunteer, part-time, or underemployed developers on building FOSS technologies.
If we value this, as a society, we need to dedicate real resources to the problem, not people's (non-existent) spare time.
Another example: Project Mushroom is trying to kickstart improvements to Mastodon and a fully paid support team and help desk. They estimate costs at 200k for ~2 months of expenses. They're in a lower cost labour market in Canada. https://newsletters.projectmushroom.xyz/real-talk-and-some-great-news/ [newsletters.projectmushroom.xyz] And their kickstarter is only about 50% funded coming up on the final week.
Even if they were paying two senior full-time devs below market wages, 200k doesn't even cover a year of work. They're not even federated yet and are hitting scaling problems and frequent server errors.
Running services of this complexity and scale have high costs. Running them *well* is even more costly.
What do you do when _you_ are the means of production but you still don't control your own time until food, rent, and healthcare are covered?
Thinking of Steve Klabnik but I don't think he ever made it over to fedi :(
@ehashman this is why i was really glad to read that @codeberg [mastodon.technology] is structured like a cooperative; i want to see more people moving in that direction.
@ehashman Mmm, I agree with the sentiment. Cooperatives are hard to set up though, harder than just hosting the thing yourself. So, we need some kind of infrastructure to support it? Like, cooperatives that specialize in helping people set up and organize other cooperatives? It's not an easy problem though. :/
@ehashman the French org frama is also doing great things
However, here's my sour rant:
I spent a few years working with this for an activist organization, and my experience is that as soon as people start comparing the UI with huge corporations, there isn't much an activist can do. But if activist users would get used to using simple hackjob UI's, we would immideately be independent of the huge capitalist corps.
The thing is, for most people, that isn't a priority. So then small, unfunded groups of activists are trying to beat huge corporations at their own game, and it isn't going great.
@ehashman this is a really interesting thread
@ehashman I think my own view on this is something like: self-hostability is necessary but not sufficient for communities to effectively provide digital services to their members. It’s not the end goal in itself, but if community organizers didn’t have e.g. web servers available to them and had to write their own every time, we’d all be worse off.
You mentioned it in the replies but IMO Sandstorm is the closest to getting the digital autonomy side of things right. Needs work though.
@ehashman i've seen the May First Movement Technology, maybe Disroot? I thought I remember bookmarking something associated with the scientists rebellion but I can't find that
@ehashman @downey this is exactly what we are trying to build at 2i2c.org, scoped to a smallish subfield. With deep recognition and awareness of the current state of the world and focusing on user empowerment. Without having to sacrifice ourselves on the altar of principle. Maybe we will succeed or maybe we won’t but we will definitely try. Makes me happy :)
@ehashman Does anyone know of a Discord community focused on self-hosting innovations? I have some ideas and I'm working on one aspect of the problem. I think that most people only focus on one area of concern, and they don't communicate with others who are doing the same. Because of decentralization, there's a barrier to entry, things don't work well together and people don't know what's available. Ultimately big tech ends up winning.
@ehashman
Are you taking about creating platforms where even non technical folks would be able to run things themselves, or collectives running more complex things for non technical folks?
I can't talk to the former, but for the latter I see a couple issues:
1) resources - even without labour, hardware and power and network cost money.
2) trust. This one has a couple dimensions. On one hand, "clients" need to trust "admins" to not invade.
@ehashman
On the other, "admins" need to trust "clients" to not abuse the resources. Crypto mining and other "hey, I'll just dump tons of my stuff because it's free (or something)" are wasteful. "Problematic" imagery or otherwise sending threats can get whole infrastructure confiscated.
@viq the latter!
@ehashman
Then I'd like to hear your thoughts.
While resources seem "relatively easy" to solve, the whole issue of trust, going both ways, seems complicated, socially. And it's hard, if possible at all, for admins to prevent themselves from gaining access to data they're hosting.
@viq Oh, the nice thing about the trust issue is that it mirrors any other social space. We can solve this in the same way we might solve it for an activist organization or community group.
I think the resourcing is much more difficult because of how much coordinated labour, money, and time is required to build and run high quality tech. In another thread, I talk about the sheer resource gap between venture capital funded projects like Twitter and a hobbyist project like Mastodon: https://kith.kitchen/@ehashman/109396726220858543
@ehashman
If I'm understanding you correctly, you're comparing running Mastodon or NextCloud to running Twitter or Dropbox.
It isn't so. Dropbox and Twitter both develop their product and run it, scaling to huge numbers of users, while providing support and engaging in marketing.
With open source stuff, running is completely independent from writing. And you can run for just a few dozens out hundreds of folks, instead of millions. Complexity is hugely different.
@ehashman
And, as evidenced by instance I'm writing from, hackerspaces could very well become such community tech hubs. That still requires some resources, and that still requires trust, but as you said, those people you can meet.
@viq Yes. There is a reason that Twitter and Dropbox are used by the wider public while use of Mastodon and NextCloud are largely confined to tech enthusiasts, and it's not decentralized ops.
Polished, usable, accessible, secure tech is going to win out against FOSS every time if it doesn't also deliver polish, usability, accessibility, security. And frankly, it should. Why is FOSS not meeting peoples' needs? Resourcing, imo.
@ehashman
Even if UI of OSS was as polished as counterparts, it would still lose out because of all the effort of having to maintain it, and having to have hardware to run it on, and having to maintain *that*, *and* network. And running things for a 100 users is *VERY* different from running things for 10M users.
*DON'T* aim to unseat Dropbox. Those are different markets, different goals.
Bikes might offload subway a bit, but won't replace it. It's that kind of conversation.
@ehashman
And to further make it more complicated, see discussions around Signal. They are making changes to make it more similar to the pleasant experience of other major players. And people dislike them for that.
@ehashman
And most of open source is created to solve someone's problem. Once it does, it stops being interesting. I'd say that's maybe around 60% towards polished interface. But the rest is very difficult, and requires a very different skill set. Graphics skills, UX design, psychology...
@ehashman I find it funny that this was posted on mastodon. It seems to be keeping up pretty well at this point.
@denebeim I don't host or run the server this was posted on so I'm not sure what your point is
@ehashman I do host and run mine. I'm just saying this system seems solid, was written by marginalized people, and yeah, the experience isn't near what I'd get from megacorp's service. There's no ads.
@denebeim There are a lot of great things about Mastodon and I'm an early adopter of the technology, but it also has many problems. @shengokai shared an excellent analysis of how software "written by [mostly white] marginalized people" does not prevent other forms of violence or marginalization here. https://zirk.us/@shengokai/109409465909876210
So long as Mastodon isn't safe for all of us, I'm not willing to celebrate yet. I'm not going to leave anyone behind.
@ehashman wow this thread generated some complicated thoughts faster than i can articulate back to human speech.
I kinda disagree with the fundamental foundation of the argument, but highly agree with where you took it and the end point of needing software that communicates risks and processes to the layman.....
Complicated thoughts i cant articulate yet
@ehashman I've been quietly agitating for a Public Interest Software Development Corps, or something along those lines, for quite some time.
The hard part I keep running into is doing the whole bootstrapping thing of putting together a team that can build stuff so you can attract donations without first having the team build something to prove that it works.
See:
@ehashman i was thinking how people expect social media to have gratis user costs, high availability at the expense of surveilance capitalism. Free software fediverse requires THE USERs to pay. They are not conditioned for that.
@ehashman mind you, I hadn't heard from him for ages on TheBird either.
@ehashman personally, i think making hosting software more accessible is the answer. Mastodon is a great example of something that is way too hard to self-host. Accessibility of hosting should be increased not so that everyone self-hosts their software, but so that a few people maybe end up starting their own hosting for their friends, loved ones, or local community.
Where are the radical software collectives self-hosting privacy-conscious [apps] for activists and the marginalized?
I hail from one of them, https://cyberia.club. Or at least I think that's what we aspire to be.
Where's that vision of digital autonomy? How do we get there, given the cost of labour?
I have written my own thoughts about that on my blog (Archive.org link because im away from home and server is currently ing) :
https://web.archive.org/web/20220812014732/https://sequentialread.com/federation-vs-clustering-self-hosting/
TL;DR is try to do for IaaS (infrastructure as a service, things like AWS & Cloudflare) what Fediverse/Matrix did for social media SaaS. The 1 sysadmin per 100 users model.
It can't just be 1 admin, 1 computer per "instance", needs to be at least 2 of both IMO.
How to get there? Design for it. Also, treat sysadmins like users, not highly trained professionals, and perform usability tests with them. Build high-usability, high-accessibility interfaces around digital autonomy.
How to fund this effort? IDK ¯_(ツ)_/¯ my plan was to bank on the idea that "it only takes one".
Software has zero marginal cost, it can be copied infinitely for essentially free. So as long as the software itself is able to do "the job" or at least help in some way, a small number of pro bono workers can make a big impact.
@ehashman@toot.cat at the cost of stamping out the freedom for those who want to be in control of their own systems on a fine granular level.
everyone talks about "to scale" well completely forgetting that you can't have a group without the individuals in that group.
if you expect me or anyone really to give up their individual freedoms "for the sake of the greater good" or whatever then your completely out of your mind and this will never work. #
@ehashman@toot.cat i'll put it simply from my prospective.
I didn't repair and upgrade this computer then install gentoo and maintain it on a regular basis so other people can use it.
I do not keep this server/instance running for other peoples sake because it also runs on that computer that i spend my time and money on.
now if there is a way that can happen to benefit others without taking my abilities to control my own system then i'm all ears. #
@xerz do you have proofs of concept or is this just what you envision?
@xerz @ehashman
Like something where a server is set up somewhere as communal resource.. It is good when people can set up a communal resource? _But_ using it requires being able to reach the internet, probably DNS, and sending packages over it.
Something like Briar when it uses Bluetooth, does not. So at that level anything federated is already behind. (Syncthing can do local discovery, i think?)
No reason something like mastodon couldn't be achieved with peer-to-peer connections like that?
@xerz @ehashman Furthermore, it can be hard to set-up software and run it? But also, there is a ton of software which is entirely trivial to set up?
I am not sure what exactly makes hard-to-setup software exist? Maybe when people develop dependent on a context, but one that people lose sight of.. Then recreating that context can become annoying.
Or maybe sometimes you just need to know what you're doing. (flashing bios or something..)
@ehashman we can write all the code. It just takes time. And humans have a lot of it. Wait a bit, and the code for self-hosting will be there.
@breton the closest thing in existence to that is the Linux distribution and that still requires significant tuning and domain expertise. We've been waiting nearly 30 years... meanwhile the entire mobile technology industry overtook computing in a decade. If time is all we need, we're still falling behind a moving target.
FWIW Sandstorm looked to fill this gap but its reliance on VC funding ultimately gave it a short life
@ehashman That's where the kittens
@ChatonsOrg come in