I was excited when I found out there was a link aggregator (read: I was obsessed with reddit-like forums) that divorced itself from the controversy or the alienating political idealogy of the lemmy developers.
However, other than that, I can't understand piefed.
-
The project seems unorganized. The first google result for "piefed" is the piefed.social instance and not about the project. I had to go to "About" then click on "PieFed" just to get to this link the project page. For lemmy? The first link about lemmy the project is about the project not an instance. Point to lemmy.
-
Lemmy uses rust which, like the main devs' political idealogy, may be polarizing (see Linus vs Rust Devs). Piefed uses, well, python. Yes, there is a learning curve to a new language, but rust is statically and strongly typed whereas python is duck typed. Also, it appears as though pip is one of the tools used in the installation which has been prone to supply chain attacks. Yes, more people know python. But that isn't necessarily a net positive and I wouldn't consider that if I were choosing the stack. Another point to lemmy (for me)
-
Piefed is on codeberg/forgejo. Lemmy is on github. Point to piefed.
-
Piefed doesn't have controversial devs (supposedly Lemmy does). Point to piefed.
So, as much as I want to like piefed, I'm having trouble really choosing it. Can someone add on why they use piefed over lemmy? I really want to like piefed.
I think I kind of like Python and the Flask framework. Sure it's duck typed. Other than that the Flask framework is very mature and battle tested. Minus a few quirks, it's laid out with some thought, is relatively nice and straightforward to use and once we leverage the advantages it should help us prevent some bugs from happening. And I think in practice, it serves us well. PieFed has a good track record compared to the average open-source project. It's nice to participate in the coding. Lots of things have been laid out in a very good way from early on. And it allowed us to move very fast.
(And I think in web development, a lot of potential bugs and security vulnerabilities aren't due to language, but complexity, frameworks and the lot of moving parts. I mean it's not the programming language that protects from an SQL injection. It's more convoluted/complex pieces of code that open up the entire server. I don't know the Rust web application frameworks, though. So I can't make any statement on how easy it is to write vulnerable code there.)