8 ms·
The tech also doesn't help. It's a "typical" Rails application: large, convoluted, lot's of moving parts, and services, and generally slow as molasses (solved
by berkes 4y ago
The tech also doesn't help.
It's a "typical" Rails application: large, convoluted, lot's of moving parts, and services, and generally slow as molasses (solved by throwing more hardware at it). As experienced Rails dev(ops), I managed to run and help run an instance, but it's not something done on a friday afternoon, let alone scale up.
What we really need in this landscape is dead simple services. I'm thinking about the difference between setting up a gitlab or a gitea. The first is Rails, needs ruby, gems, bundler, workers, database server, redis, mailserver and whatnot. And thats for manually installing on a server - no pipeline or anything to manage future changes. The second a single binary (pre compiled from a go codebase) everything statically linked (even sqlite is built in, with option to upgrade to postgres). Plop it on a server start it and go. For an intranet you might even skip putting a server/https in front, just run on exposed ports.
We can dockerize all the ruby-stuff, but that might make it easier, it doesn't make it simpler, it really makes it more complex. And the performance-issues aren't solved.
The fediverse needs this as well: just plop a binary on your VPS or homeserver and you're running. Such lean and simple servers are being worked on, but Mastodon itself is a huge, slow and hairy beast.
- noirscape 4y agoThere are plenty of other choices. Pleroma[1] is probably the biggest competitor and is lightweight enough that you can deploy it on a raspberry pi. It's written in Elixir which takes a bit to set up, but the devs offer OTP releases that don't require you to have Elixir installed to use it and are the closest to "single file" deployment you get. Resourcewise it takes up only a fraction of what Mastodon demands in terms of memory & cpu usage. DB backend is postgres. It's also by default far less cache heavy than Mastodon (which caches every external attachment, avatar and header locally, which causes a lot of issues since it's the main reason instances run out of disk space). Featurewise it actually surpasses Mastodon on almost everything except for not offering a tweetdeck-like UI. [1]: https://pleroma.social/ https://pleroma.social/
- knewter 4y ago1) https://github.com/soapbox-pub/soapbox https://github.com/soapbox-pub/soapbox is a frontend that works atop either mastodon, pleroma, or the rebased backend 2) https://github.com/soapbox-pub/rebased https://github.com/soapbox-pub/rebased the rebased backend is a fork of pleroma but it's much better maintained than pleroma
- noirscape 4y agoI would advise against soapbox actually. The developer got kicked off the Pleroma project after badgering other maintainers[1] (which he admits to doing) for reverting a technical decision he forced through after it was deemed to be not very useful to the project and encouraged bad practices (the fediverse uses a protocol called WebFinger to find other users, the developer wanted to add a bunch of alternate endpoints to avoid having to use WebFinger for his personal frontend). He also had a history of more bad technical decisions to make Pleroma's backend cause problems with with the rest of the fediverse if the rest of the fediverse doesn't use his custom frontend and insulting developers who pushed back on that decision[2]. Better maintenance seems like a really dubious claim when the lead maintainer is this unwilling to co-operate with the existence of other tooling and openly insults anyone disagreeing with his technical decisions. There's also a couple of PR reasons to not want to associate with him, but those are largely off-topic. The rest of the Pleroma project by contrast is fairly stable and it's developer team has been nothing but polite when it comes to handling support issues. [1]: https://blog.alexgleason.me/pleroma-is-dead/ https://blog.alexgleason.me/pleroma-is-dead/ [2]: https://hacktivis.me/articles/Update%20on%20Pleroma%20Maintainance https://hacktivis.me/articles/Update%20on%20Pleroma%20Mainta...
- knewter 4y agoI know Alex. He's a really good dude.
- P5fRxh5kUvp2th 4y agoCan we stop villifying people we disagree with? I've seen it so much, I'm more inclined to believe it absolutely didn't happen that way.
- berkes 4y agoI'm aware of Pleroma, but didn't mention it because I find that allthough it's easier than mastodon, it hardly is simpler. And being easier, IMO, isn't enough. The focus of pleroma is very much on the "lightweight" part. Which is good, bc that also desparately needs a solution. But we really need something that is all of it: easy, simple and lightweight. Not just easier and lightweight.
- proactivesvcs 4y agoEpicyon might be worth a look: https://libreserver.org/epicyon/ https://libreserver.org/epicyon/
- davexunit 4y agoHaving used Mastodon for years now, my experience has been that when I receive an abusive/spam/troll message it's a safe bet that it was from a Pleroma instance. I know I'm lot alone in defaulting to distrusting users on Pleroma instances. Just something for new fediverse users to keep in mind.
- fkgncawhlp 4y ago
- riffic 4y ago> There are plenty of other choices. There's even WordPress, with a plugin. A lot of ~~people~~ entities such as companies, organizations, etc have a WordPress site. edit: Pretend this site supports basic formatting in comments?
- berkes 4y agoI know this exists. As does NextCloud. But what solution or use-case does it serve? I honestly cannot see it. Neither for WP nor for NC. ActivityPub is -aside from a protocol- something that is designed for social networking mostly. How does "adding a WP plugin" help? Why would I want to connect my blog or website to this fediverse? Is it just so people can get my blogposts in their timeline? Because that's the only use-case I can see, and that problem is easily solved with RSS (and a bot).
- vidarh 4y agoI don't know how Wordpress or NextCloud uses it, but for my own use I'm considering building a comment system for my sites around in, on the basis that having comments about my posts exposed to the fediverse seems like a good way of increasing reach. (there's the challenge of length; there's no problem upping the post-length for comments etc., but many instances will reject them, so you do face the issue of having to replace the body of longer comments with a link to a page, which is sub-optimal but doable)
- xani_ 4y agoWordpress have same problem of being slow POS that in addition needs to be constantly updated for security issues. Hell, we even got one of our clients (we just provided hosting for some of their stuff) getting half-hacked while setting it up (they were not exactly the developer type). Half-hacked because we required app-to-internet traffic to be ran by proxy so the final payload didn't get downloaded on the server, hilariously enough.
- mschuster91 4y ago> The fediverse needs this as well: just plop a binary on your VPS or homeserver and you're running. Such lean and simple servers are being worked on, but Mastodon itself is a huge, slow and hairy beast. Even if you get the tech stack solved to an easily deployable package: The problem is you still need to invest immense amounts of time on moderation. Some of that responsibility is enforced legally (e.g. CSAM, warez, US COPPA, EU GDPR, German NetzDG), some of it socially (e.g. kicking Nazis, conspiracy spreaders or other forms of hate speech out), some of it by the federation system (e.g. kicking spammers out) and some of it you need to do to keep your community healthy (e.g. kick general trolls and creeps out). If your instance allows adult material, gambling or games, you'll need to moderate your instance as well in some jurisdictions. And you'll need someone always available to support police, court and secret service requests. Maintaining a service that hosts user-generated content is a thankless nightmare, and no matter what you do it is a huge liability. In the end, either you make your users pay for it in cash (subscription fees, patreon/gofundme/paypal donations), with their data (advertising) or you'll eventually burn out (such as the author of the blog entry). Oh, and add on top of all of that the constant dealing with abuse: 4chan edgelords DDoS'ing your instance "for the lulz", random skiddies constantly running exploit scans against your server (which additionally means you have to have someone 24/7 to upgrade software in the case of a 0-day), people reporting your server / IP to blocklists to get you booted off the net... then you have to take care of hardware maintenance itself, making backups, testing backups. It's a full time job essentially, requiring an awful lot of time, money and connections (e.g. lawyers).
- Nemo_bis 4y agoDon't forget TERREG. Every website needs to have a person on-call 24/7 to answer potential requests from law enforcement anywhere in the EU to remove stuff they don't like. https://wikimedia.brussels/antiterrorists-in-a-bike-shed-policy-and-politics-of-terreg/ https://wikimedia.brussels/antiterrorists-in-a-bike-shed-pol...
- egypturnash 4y agoI run an instance and I really have none of these problems. Keeping open applications off solves a lot of them, you have to ask me for an invitation and I’m not going to give you one if I think you’re going to be a problem. There’s a Patreon for it that pays the server bills despite it only being a few hundred users. My users even say thanks for running the place now and then. Running a small node of The People’s Glorious Social Network is a very different task than what you are outlining.
- mariusor 4y ago> What we really need in this landscape is dead simple services. I'm working on exactly that: a service that acts as an ActivityPub server (code[1], example[2], example application running on top of it[3]) for users in the form of a static binary. It supports multiple storage backends that can be selected individually or all together at build time and it can be extended to many more. [1] https://github.com/go-ap/fedbox https://github.com/go-ap/fedbox [2] https://federated.id https://federated.id [3] https://littr.me https://littr.me
- rakoo 4y agoThis is exactly what we need. The current landscape of Fediverse is too young: every application involves both functionality, identity and community. So you don't really join a network, but you join a specific community using a specific medium. You can't join multiple communities (ie follow multiple instances): you have to create multiple accounts, you can't follow a full instance but only individual instances. You can't have microblogging and forums from the same account, because they are different applications, so they are different accounts. You can't mix functionalities beyond the most basic, because they are not thought out together. What we need is an AP store, and then applications build on top of it, like your project does. But at this point I question whether matrix wouldn't be a better platform
- mariusor 4y agoI feel like matrix solves a different problem, I believe that ActivityPub and Matrix can coexist. Honestly the very late game plan for the projects I'm working on is to be able gather under a single umbrella a suite of opensource applications to create a meta social network pod that can be easily launched in a similar way to Google apps on a custom domain (ActivityPub and Matrix for a starters). I think there could be enough money in that to gather venture interest, but sadly I'm very far from that moment.
- berkes 4y agoI'm working on flockingbird.social, a "linkedin for the fediverse"[1]. Aside from a job-search bot, I haven't written many software, and it looks like what you are working on might actually be a very solid foundation. It's a pity my go isn't that established (rust and ruby here) but certainly will consider this going forward. Huddling around common base libraries is also certainly something the fediverse needs, rather than re-building AP again in "language X". [1] The hardest part has proven to be the fact that "linkedin" is an entirely different product depending on who you ask. It solves entirely different solutions, depending on who you ask. And it has entirely different features, depending on who you ask. Turns out LinkedIn is quite hard to "copy", "port" or even define for the fediverse. Aside from that this makes it a giant task to do. Is it a place to find jobs? To recruit? To keep in touch with colleagues? To connect with other entrepeneurs? To spam lame motivational quotes? To pitch your book or a Rolodex-on-steroids? Its all of that and more.
- insane_dreamer 4y agoWould a pre-installed docker image be a solution to the setup issue? (Doesn't solve performance, of course.)
- berkes 4y agoNot really. As I mentioned in my comment, it might make it easier, but not simpler. For one, maintenance, probably becomes harder even. And it won't be "a docker image", but a docker-network (-compose, k8s or such) because running requires not just a single service, but a webserver (https), runners (async workers), redis, postgresql, elasticsearch, file-storage and so on. You'd need some 4 to 8 images all interconnected to run it. And secondly, docker isn't omnipresent. I can't just copy a binary into /usr/bin , run it. I'll need docker, networking, docker-knowledge, logging, monitoring and so on. More so: if a docker is a solution to the setup of complex piece of server-software, than certainly docker is a solution to the setup of a simple piece of server-software.