less_retarded_wiki/lrs.md
Miloslav Ciz a957e2360b Add IP
2022-01-28 01:44:02 +01:00

3.3 KiB

Less Retarded Software

Less retarded software (LRS) is a specific kind of software aiming to be a truly good technology maximally benefiting and respecting its users, following the philosophy of extreme minimalism (Unix philosophy, suckless, KISS). It was invented by drummyfish.

Definition

The definition here is not strict but rather fuzzy, it is in a form of ideas, style and common practices that together help us subjectively identify software as less retarded.

Software is less retarded if it adheres, to a high-degree (not necessarily fully), to the following principles:

  • Being made with a truly selfless goal of maximally helping all living beings who may use the software without any intent of taking advantage of them in any way.
  • Trying to follow the Unix philosophy (do one thing well, use text interfaces, ...).
  • Trying to follow the suckless philosophy (configs as source files, distributing in source form, ...).
  • Being minimalist (single compilation unit, header-only libraries, no build systems, no OOP languages, ...), countercomplex, KISS.
  • Being free software legally but ALSO practically (well commented, not bloated and obscured etc., so as to truly and practically enable the freedoms to study, modify etc.).
  • Being free culture, i.e. LRS programs are free as a whole, including art assets, data etc.
  • Minimizing dependencies, even those such as standard library or relying on OS concepts such as files or threads, even indirect ones such as build systems and even non-software ones (e.g. avoiding floating point, GPU, 64bit etc.).
  • Very portable, non-discriminating, i.e. being written in a portable language (C etc.), using as little resources as possible (RAM, CPU, ...) and so on.
  • Future-proof, self-contained, not controlled by anyone (should follow from other points).
  • Hacking friendly and inviting to improvements and customization.
  • Built on top of other LRS technology such as the C99 language, Unix OS, our own libraries etc.
  • Simple permissive licensing (being suckless legally) with great preference of public domain, e.g. with CC0 + patent waivers.
  • Elegant by its simple, well thought-through solutions.
  • No bullshit such as codes of conduct, tricky licensing conditions etc.

List of Software Considered Less Retarded

The following things are considered LRS at least to some significant degree: the most LRS among these (i.e. adhering to LRS in most points) are the project by ourselves, the LRS community, however many project from e.g. the suckless community adhere to a pretty high degree as well (lots of time being mildly inferior only due to licensing etc.).