Lemmy is a free website content management system made for federated forum-style link collection sites similar to Reddit and Hacker News. Users can post stories and links and have other user vote them up or down or comment on them. The federated nature of Lemmy allows users on one site website running the software see and comment on stories running on another. Each site can have their own local rules and moderation policies (with some hard-coded limitations).
Lemmy is free software available under the GNU Affero General Public License version 3.
Look And Feel
Lemmy running at dev.lemmy.ml.
A site running Lemmy looks and behaves, from a visiting web surfers perspective, very similarly to sites Reddit and Hacker News.
The Lemmy documentation has installation instructions for Docker, Ansible and Kubernetes containers. There are no instructions for those who do not want to go strait to a ready-to-deploy cloud container. It seems apparent that the developers prefer that you run Lemmy on one of the bigger cloud providers who offer a managed database server like Azure Database, RDS or Cloud SQL.
You can built it locally and deploy on your own server if you have git, rust, typescript and a postfresql database.
We have not tried building and running Lemmy ourselves as of yet.
A close-up inspection of lemmy_utils/src/lib.rs reveals that Lemmy has a interesting list of forbidden words hard-coded into the source code.
static ref SLUR_REGEX: Regex = RegexBuilder::new(r"(fag(g|got|tard)?|maricos?|cock\s?sucker(s|ing)?|\bn(i|1)g(\b|g?(a|er)?(s|z)?)\b|dindu(s?)|mudslime?s?|kikes?|mongoloids?|towel\s*heads?|\bspi(c|k)s?\b|\bchinks?|niglets?|beaners?|\bnips?\b|\bcoons?\b|jungle\s*bunn(y|ies?)|jigg?aboo?s?|\bpakis?\b|rag\s*heads?|gooks?|cunts?|bitch(es|ing|y)?|puss(y|ies?)|twats?|feminazis?|whor(es?|ing)|\bslut(s|t?y)?|\btr(a|@)nn?(y|ies?)|ladyboy(s?)|\b(b|re|r)tard(ed)?s?)").case_insensitive(true).build().unwrap();
The Lemmy developers have made it very clear that they see the banned words blacklist as a necessity.
"We are never going to remove the slur filter completely (or add an option to that effect), because we dont want to make it easy for right-wingers to use Lemmy. We can talk about removing or changing specific words, but in general I dont think there is anything wrong with writing “b*tch” or something like that."
"I’ll have to think about this. Hard-coding it means I don’t have to do a database migration every time someone comes up with a new slur. And putting it in a DB table means someone could very easily remove it by deleting every row of that table, which isn’t good. I want to make it very difficult for racist trolls to use the most updated version of Lemmy."
Hard-coded lists of "bad" things built into software, even free software, are never a good sign. Free software with hard-coded censorship is free software and it can be used as such but one may want to consider what level of effort one is willing to make to ensure that useful words don't get censored. Just a random example to consider: "Jeg har det bra." means "I'm fine" in Norwegian. The word "bra" happens to mean something that could refer to something slightly erotic in English. You get muted if you use that word in the Periscope app published by Twitter. Hard-coded "bad word" list tend to cause those kinds of problems. The one built into Lemmy applies to all languages even though the words listed are clearly meant to be used against English language content.
The administrator of the website Derpy's Mail Post created a fork of Lemmy called Lenny. The purpose of this fork is to provide a version of Lenny that does not have any built-in hard-coded censorship.
The censorship-free Lenny fork is available from moonbutt.science/innereq/containers/lenny.
Websites running Lemmy
Lenny is a fork of Lemmy that removes the slur filter described above.
|name||url||censorship policy||software||focus||primary language||cloudflare|
|Derpy's Mail Post||https://derpy.email||Restrictive||Lenny||My Little Pony||Russian||No|
|Lemmy||https://dev.lemmy.ml||Restrictive||Lemmy||Development of Lemmy||English||No|
|☭ Communism ☭||https://communism.lemmy.ml||Restrictive||Lemmy||Communism||English||No|
The source code can be acquired from github.com/LemmyNet/lemmy.
Documentation can be found at dev.lemmy.ml/docs/about.html.