What software stack would you have chosen for Lemmy?
Lemmy is an open-source, federated link aggregator and discussion platform similar to Reddit, Lobste.rs, or Hacker News. The software stack used in Lemmy includes Rust with Actix and Diesel for the backend, and TypeScript with Inferno for the frontend.
The developers chose Rust for its performance, safety, and concurrency features, which help in building a reliable and efficient backend. Actix is a popular Rust web framework that provides a lightweight and fast foundation for the server-side application. Diesel is a Rust ORM (Object-Relational Mapping) and query builder that simplifies database interactions. On the frontend, TypeScript offers better type safety and tooling compared to plain JavaScript, while Inferno is a fast and lightweight React-like library for building user interfaces. These technologies were chosen to create a performant, reliable, and easily deployable platform.
I read someone saying that the lack of contributors was due to the software stack being unconventional and takes people a while to get used to it. So I was curious to know what other people would have used.
So Rust is capital H Hard to hire good developers. There just ain't enough with experience in not only the language, but service management, the rest of the SDLC, SLAs, getting the best out of Diesel and knowing DBs, and the grizzled nature needed to be leading teams etc. There just isn't enough of it in production to have built up this industry level that python, js, php, c#, and java have. Typescript is also pretty niche still, and thus has similar problems, though not to the same extent.
And I've noticed pretty much every backend dev would like Rust, every front Typescript. And fullstack will learn and run everything and anything anyway. And so this is a temporary problem. Early adoptors, like lemmy, will see more people contribute, more learn, more launch more stuff. And that starts with open source projects.
And thus: I'd make exactly the same decisions. Lemmy isn't a bank, it's more a start-up, it doesn't pay well, it has to attract on other benefits. Attracting volunteers might be easier in desirable languages, will certainly be easier in ten years time say than Rails, Play, or Laravel might be. CV fluffing from OS contributions is a fantastic way to make yourself more marketable, and who doesn't want TS/Rust on that CV?