# Less Retarded Software Less retarded software (LRS) is a specific kind of [software](software.md) aiming to be a truly good technology maximally benefiting and respecting its users, following the philosophy of extreme [minimalism](minimalism.md) ([Unix philosophy](unix_philosophy.md), [suckless](suckless.md), [KISS](kiss.md)). It was invented by [drummyfish](drummyfish.md). ## 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](software.md) is less retarded if it adheres, to a high-degree (not necessarily fully), to the following principles: - Being made with a [**truly selfless**](selfless.md) 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](unix_philosophy.md) (do one thing well, use text interfaces, ...). - Trying to follow the [suckless](suckless.md) philosophy (configs as source files, distributing in source form, ...). - Being [minimalist](minimalism.md) ([single compilation unit](single_compilation_unit.md), [header-only](header_only.md) libraries, no build systems, no [OOP](oop.md) languages, ...), countercomplex, [KISS](kiss.md). - Being [free software](free_software.md) 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](free_culture.md), i.e. LRS programs are free as a whole, including art assets, data etc. - Minimizing [dependencies](dependency.md), 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](float.md), 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](future_proof.md), [self-contained](self_contained.md), not controlled by anyone (should follow from other points). - [Hacking](hacking.md) friendly and inviting to improvements and customization. - Built on top of other LRS technology such as the [C99](c.md) language, Unix OS, our own libraries etc. - Simple permissive licensing (being suckless legally) with great preference of [public domain](public_domain.md), e.g. with [CC0](cc0.md) + patent [waivers](waiver.md). - Elegant by its simple, well thought-through solutions. - No [bullshit](bullshit.md) such as [codes of conduct](coc.md), 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](suckless.md) community adhere to a pretty high degree as well (lots of time being mildly inferior only due to licensing etc.). - [Anarch](anarch.md) - [dwm](dwm.md) - [OpenBSD](openbsd.md) - [raycastlib](raycastlib.md) - [SAF](saf.md) - [small3dlib](small3dlib.md) - [LIL](lil.md) - [st](st.md) - [badwolf](badwolf.md) - [surf](surf.md) - [tcc](tcc.md) - [vim](vim.md)