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?
The good news is it means we have found a decent, sustainable groove that we can maintain so long as folks are learning!
The bad news is it means we haven't done any *real* customer development in 3 years; so we're mostly surviving on donations from people who want to support efforts to build a community and worker owned digital economy; rather than reinforcing imperialism through extractive SaaS.
@ehashman I wrote a bit about this here: https://exple.tive.org/blarg/2018/11/09/the-evolution-of-open/
@mhoye @ehashman This is a deeply insightful and thought-provoking piece. The two notions of openness -- I can see that clearly. In fact, I have seen it in #Debian as it's come from the traditional Free Software approach and has had a multi-year journey towards the openness viewed through the lens of accessibility and experience. Still some ways to go there; the progress has been slow but notable.
@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. :/
I've been throwing around the hashtag #SeizeTheMeansOfCommunity for a few months now but, old and tired as I am, I've found myself exhausted and discouraged by how foundational so many people assume possessive individualism to be. They understand "community" to be accessory at best, oppressive at worst; not the *source* of meaning and *constitutive* of self so much as an arena where those things are amplified and/or diluted.
You have collectives popping up in France, Spain, Portugal, other places in Europe.
The software available right now enables people to do this. The issue I'm facing as a promoter of these technologies is that even most activists don't care to take action until the danger of persecution is imminent.
@ehashman The project I work on, Sandstorm.io, is designed to offer a really easy way for nontechnical users to securely run apps on a server without compromising other users on that server. We need a lot of help (and funds) though to really get to where we should be.
@ocdtrekkie I mentioned Sandstorm in a few of the replies, I know of it from when Asheesh was working on it :)
@ehashman Asheesh is a legend, I am glad I met him IRL once. I learned a *lot* from how he approaches software.
We're still trying to keep things moving but it's a lot slower without a startup behind it.
@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 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.
@firstname.lastname@example.org 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. #🤔
@email@example.com 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. #🤔
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?
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 It may simply mean that hosting has to become easier.
Instead, ansible and kubernetes and the like are technologies that create a new class of digital intelligentsia that have the expertise to master "hosting".
Not coincidentally, the tools they have mastered are developed by big tech, have vendor lock in for advanced features, and are most effectively applied in connection with services offered by big tech.
@ehashman That turns this intelligentsia into the nobility of a digital feudal system, and the rest of us into peasants.
While I wholeheartedly agree that we thrive on specialization, this specific kind of specialization is a step backwards, due to its supporting structures.
If "mini-hosting" were to be the domain of such a class, with no ties direct or indirect to big tech, I'd see it like you, I think.
@jens This is nonsensical to me. Are doctors the medical intelligensia? Are farmers the food intelligensia? Humans necessarily specialize in order to improve collectively.
No one is going to be able to perform surgery, host their entire technology stack, grow and preserve food for themselves, write songs, etc. etc. Universal respect for essential areas of expertise is not the creation of class hierarchy.
@ehashman Given that farmers collective action forces subventioning clearly unprofitable branches of farming, that's not entirely wrong. Given that the medical profession - in some countries - can decide whether or to what quality to provide treatment based on patient income, sure.
It's not inherent in the specialisation of the people, no. But this specialization does not typically exist outside and separate of social power structures.
My criticism isn't on specialization, it's how..
@ehashman ... big tech uses its power to create technology fiefdoms.
Nothing new or revolutionary about that, but it's not what the Internet/web naively promised.
What I'm arguing is to recognise where that happens due to deliberate effort by those in power, and treat it accordingly.
@jens As an upstream maintainer of Kubernetes and a longtime user of Ansible, these tools aren't even in the same ballpark for usability (Ansible is MUCH friendlier), but I think that's beside the point.
Ultimately, cloud is what we got when we asked for better hosting to be built. And it is better! But it's a trade-off, and I don't think there's ever going to be a world where we can pick all of security, usability, autonomy, and low cost.
@ehashman Is it better?
I've been running servers for a couple of decades+, and much as I am unimpressed by PHP, LAMP was by far the least complex stack I've ever used, and it would still work for the majority of websites. That static site generators and GH pages thrive just proves that point.
That's neither nostalgia, by the way, nor a claim that it's impossible to do "better". What I am saying is that the lens "cloud == better" assumes all hosting must have DC concerns.
@jens Like anything, it depends on what your constraints are. But cloud is much more accessible in terms of:
- lead time (API call to servers in seconds)
- upfront cost (you can get a tiny "free tier" cloud instance gratis or a few bucks a month for something better, and don't have to spend hundreds of dollars for the server and pay for electricity and networking)
- automating away setup (cloud images and updates, virtual networks, basic remote telemetry and monitoring)
You may be less impressed, but over the course of a decade I've watched student computing morph from "needed to be a university student and member of the CS club to get access to servers which were funded by student fees" to "any high schooler can play around with an AWS free tier or launch a $5/mo DigitalOcean instance."
From an industry perspective, I've worked both on-prem and in cloud and on-prem has to spend so many resources just building their foundation that cloud tends to look much more attractive, their developers resent the "backwards" internal systems, and ultimately most of these orgs adopt hybrid compute models (on-prem to control costs, cloud for fast moving development).
@ehashman At the same time, for the sheer cost of cloud, you can easily fund an on prem solution (I see that in comparison to industries where "cloud" doesn't work for security/liability reasons).
Again, though, this is the perspective of scale. Twenty years ago I was renting a bare metal root server for much the same price as I now rent a bunch of VPSes, with the main difference being better separation of concerns.
In terms of actual compute costs, I could do with the old solution.
@jens No, it's not that I misunderstand. This is a use case you are dismissing and I'm trying to explain why and to whom it matters. It seems it doesn't matter to you, but this is important for tech newcomers
@ehashman See, I'm being kind when I claim it's a misunderstanding, because the alternative is that your attempts to reframe what I'm saying are due to malice.
I'm not dismissing the single VPS use case at all. After all, it's been me who has been advocating for more self-hosting. A VPS is indeed a cost-effective way for going about it.
But VPSes tend to be relatively small, and "best practice" these days is to orchestrate an application in microservices, and a VPS will soon reach a limit...
@ehashman ... here that implies that most small stuff is going to be deployed on a bunch of VPSes, for better or worse (that's a conversation I've had with many a pre-production startup team complaining about hosting costs).
The TL;DR here is that the single VPS use case is much rarer than it should be.
That being said, *in no way* have I in this thread suggested that aggregated hosting and VPSes are a bad thing. If you try to frame my argument that way, you're either not following it or...
@ehashman ... deliberately misrepresenting my words.
I have been saying that modern tooling tends to tie us to cloud offerings that are not necessarily the best choice for our use cases, a fact from which the cloud providers profit. And if they invest into this tooling, it's pretty clear that this is a deliberate development, deliberate from their side at least. Call it a soft vendor lock-in if you like.
I have also said that I have no issue with hosting that isn't connected to this model.
@ehashman So if "hosting has to become simpler", as I have asked for, that simply means that the tooling for deploying a simple service as multiple microservices across multiple VPSes has to go away. It's overkill, *and* a barrier for entry for exactly those tech newcomers you're talking about - both in terms of skills required, as well as in terms of cost.
@ehashman Techies like doing techy things and don’t understand other people probably don’t want to do that.
@ehashman Nah. The real question is, why not :D
Yeah, I can host everything, but I can’t write all the code of the softwares I need. And some people can’t host everything but can write some of the software they need.
I won’t recommend self-hosting to everyone.
Another point of view:
One of my long-term goal is to host a part of the digital life of other people who can’t do it themselves. Maybe that some of them will write some of the code needed to do that. Or maintain electricity, network, or even water or other things that I need to live, who knows.
The idea is to collaborate, between trustful people, with each person doing the thing that they’re the best at.
(a network of local, small, trustful actors is a model also promoted by this collective: https://www.chatons.org/en).
On the internet, everyone knows you're a cat — and that's totally okay.