I don’t know if this fits in Architecture or Social Framing or Philosophy, but here goes:
I have been kicking around a vision of how to create a secure Fediverse-like ecosystem that succeeds, competitively with/against current centralized systems. Some key points:
- The system serves people, by enabling them to communicate with other people
- People, at present, are most universally accessible via web browser interfaces
- Behind the browser are layers of network and software interface “magic”
- Ultimately, that “magic” is enabled by a server hardware foundation layer which is maintained (at least paid for) by: people.
The Spritely Institute is new to me, but my impression so far is that the focus here is on the software “magic” of this kind of system?
Here, I’m going to focus on / ramble about the people who would provide the server hardware foundation and how they relate to / connect with the people being served by the system. In a sense, these bottom and top layers just use the software “magic” in the middle that makes it all happen, but I think it’s important to elucidate the motivations, abilities and limitations of the people who provide the server layer. Before I send every reader into TLDR, I’ll ask here: have you encountered this kind of discussion already developed elsewhere? On the Spritely Forums? Anywhere else? Please provide links in replies!
Extensive reminiscence follows, you have been warned. In the 1980s, computer based communication systems were not competitive with paper based bulletin boards, classified ads, etc. In 1989 I walked by a literal bulletin board, saw a handwritten 3x5 card advertising an apartment for rent, called the phone number and ended up living there for three years. In contrast, I was using and occasionally running dialup computer BBS back in 1983-86, but there just weren’t enough users of those systems to make them competitive with paper based systems for “real world” applications like finding an apartment. Around 1985 I considered adding an automatic over-the-wire software update module to my BBS software - the possible malware spreading implications were obvious even then.
So, BBS operators, including myself, provided relatively big expensive computers, tied up phone lines, and did this all as a hobby. Technical challenges were part of the fun. Expenses paid out of pocket mostly, though some would charge subscription fees for BBS access. There were also “big system” dialup providers like CompuServe and AOL who always charged their users. Users themselves had to access these systems through bulky, expensive desktop computers tying up their phone lines. The “cybersecurity” problem was mostly a non-issue - big providers had your CC info, little systems ran on such low bandwidth that malware spread very slowly, and most people didn’t implement automatic updates. Some malware did get around, but it was relatively rare.
In contrast, today, hundreds of millions - perhaps billions - of homes and businesses around the world can provide internet connection, usually via WiFi. Whereas my single user at a time BBS host computer cost roughly $1000 in 1982, $3300 in 2024 dollars, and took up a desk, a WiFi enabled Raspberry Pi or similar tiny computer capable of hosting dozens of message app users simultaneously can be purchased and running for around $100 today, so small and out of the way that most people wouldn’t even notice it’s there. Still, if you want to encourage the existence of a truly decentralized federation of service providers, a large number of people are going to have to provide the hosting service, and even $100 capital plus a little effort and bandwidth sharing of their home network connection is going to meet significant resistance, particularly now that big centralized service providers have captured 99%+ of users’ attention.
Fast forward 30 years and paper based communication is now a quaint curiosity from the past, to reach people you reach them through online services, mostly through their cell phones, but almost always through some kind of web browser. It’s certainly possible to write apps for Android, iOS, various desktops, etc. but… all of those systems host web browsers, and if you provide access to your service through an https:// interface, every digitally connected person on the planet can reach it. But what will it take to get a “critical mass” of distributed hosting service providers to purchase the hardware, set it up and maintain it, providing a competitive decentralized ecosystem infrastructure? My list would include:
- Secure implementation
- Hassle free setup
- Hassle free maintenance
- Tangible incentive
Secure implementation is far and away the most important component of the system. Nobody is going to want to run a server for a bunch of strangers if it means their home network might be compromised. While “cloud deployments” certainly could, and should, be developed, I feel that a truly distributed infrastructure is much more likely to grow and endure if it is easily implemented as affordable widgets that people can plug in and use in their homes and businesses.
Real life is impinging on my available time, all this seems like it may be obvious and already discussed to death, but assuming I get more “writing time” soon, I’ll be back to flesh out the other points.
I hesitate to throw out these spoilers without beefier development, but in their TLDR forms:
Secure, like even from DDOS attacks by simply shutting down and letting other nodes takeover serving if yours falls under attack.
Hassle free install, like: as easy to install as a standard application.
Hassle free maintenance, like: if you just turn it on and start providing service, it should hum along somewhat easier than running folding at home, and possibly even be more resource friendly.
Incentives, there are all kinds.
- The intrinsic satisfaction of providing an access point (kind of weak tea when there are millions just like yours)
- Control of your own applications in the “magic” middle layer.
- Blockchain / Cryptocurrency, there I said it. No, I’m not expecting to entice people with dreams of getting rich in a zero sum pyramid climbing game. However, there could be a “resource tracking” layer which may choose to exchange some kind of tokens to keep resource usage reasonable / fair. And, being open source, people could game around with that and do all kinds of things, and if you don’t like how they do their things you don’t have to play with them (secure system)… Anyway, I do think it has a place in the infrastructure, not as a major raison d’être but as a tool that can be switched on to keep resources like bandwidth and storage from being over-utilized. And, if you don’t like playing blockchain games, you can fork your own open system.
Oh, and anonymous vs identified users and servers becomes a whole thing too, of course.
More later…