A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
This article, as much as I agree with it, conflates cloud hosting and remote-only software design. Cloud hosting really is a prison, but mostly for developers that are lured by its convenience and then become dependent on its abstractions. What we experience today in most mainstream software isn’t necessarily coupled to cloud hosting, but is instead a conscious product design choice and business strategy to deny users power and control of their data. In short, cloud providers like AWS, Azure, and GCP are doing to software companies what those companies are doing to us. There is a way to use shared data centers without this kind of software design philosophy. As mobile continues to dominate, the solution we need likely involves remote servers but with a model that treats them with skepticism and caution, allowing data portability and redundancy across a variety of vendors. I should be able to attach a few hosting services to a software experience I use and transfer my data between them easily. The idea that local-first software is “freed from worrying about backends, servers, and [hosting costs]” is misleading, since my local device has to become the client and/or server if there is any connectivity happening over the internet. Wresting control of our data from the dominant software companies will require creating experiences that are not only different, but better, and doing that with a mobile phone passing between cell towers functioning as the server is a tall order. We have grown to expect more than intermittent connectivity with conflict resolution. Nonetheless, we absolutely should not accept the current remote-only software paradigm, but instead need to devise better ways to abstract how remote hosts are inhabited and create a simple multi-host option that is intuitive for consumers.
Hey, you make a great point. There’s a false dichotomy being presented here. As you see it, local-first is a bit of a misnomer when you already expecting your device to join a remote environment.
Yes, makes sense that we’re being lured by the so-called cloud hosting. Following a business model that sells convenience in lieu of data control, cloud providers are distorting our current understanding of remote hosting. They’re breaking the free flow of information by siloing user data.
Now, with that being said, I’d like to add something about your presentation. I’d suggest you avoid walls of text. Use paragraph breaks. They’re like resting areas for the eyes. They allow the brain to catch up and gather momentum for the next stretch of text.
Regardless. You brought light to this conversation. For that, thank you.
I’m glad you found my take engaging!
Paragraph breaks now enabled.
Great points. It’s the proprietary nature and lack of interoperability of “the cloud” that causes problems. My email is hosted on a remote server but I have control over my data. There’s no algorithm controlling what order I see my mail in or who I can forward stuff to. There are many different tools and clients available to me and to everyone else to work with their data.
Imagine if publishing a photo from my phone to Instagram meant copying a file from one folder to another. Or if I want to create an automatically translated voiceover from the captions of all my old Facebook photos in a video editor. Right now these operations require complex software. But the technology is all there and has been for a long time.
I often think about https://upspin.io
Exactly - interoperability is key, and is intentionally removed from many software platforms once they become big enough. Cory Doctorow writes about this here.
A trend that I actually like is more software supporting using a user’s own iCloud or Google Drive as a data store rather than using the company’s own servers. The step that needs to take place is a way to use many storage providers simultaneously (including home server) with syncing behavior abstracted away. The software would essentially be a database cluster with a variety of heterogeneous nodes supported. A library that abstracts this multi-host pattern for use in both Android and iOS apps would go a long way. There is still the problem of the controller orchestrating uploads and syncs, though, which for most users would be their phone.
Upspin is new to me but looks like it’s right up this alley. Making the whole thing work for non-technical users will be one of the hard parts I imagine.