less_retarded_wiki/suckless.md
2022-09-03 14:13:46 +02:00

39 lines
4.1 KiB
Markdown

# Suckless
Suckless, software that sucks less, is a type of [free](free_software.md) [software](software.md), as well as an organization (http://suckless.org/), that tries to adhere to a high technological [minimalism](minimalism.md), freedom and hackability, and opposes so called [bloat](bloat.md) and unnecessary complexity which has been creeping into most "[modern](modern.md)" software and by which technology has started to become less useful and more burdening. It is related to [Unix philosophy](unix_philosophy.md) and [KISS](kiss.md) but brings some new ideas onto the table. [LRS](lrs.md) builds on top of suckless ideas.
Notable suckless promoters on mainstream social media include [Luke Smith](luke_smith.md), [DistroTube](distrotube.md) and [Mental Outlaw](mental_outlaw.md).
{ From what it seems to me, the "official" suckless community is largely quiet and closed, leading conversations mostly on mailing lists and focusing almost exclusively on the development of their software without politics, activism and off topics, probably because they consider it bullshit that would only be distracting. There is also suckless subreddit which is similarly mostly focused on the software alone. They let their work speak. Some accuse the community of being Nazis, however I believe this is firstly irrelevant and secondly mostly false accusations of haters, even if we find a few Nazis among them, just as in any community. Most pro-suckless people I've met were actually true socialists (while Nazis are not socialist despite their name). Unlike [tranny software](tranny_software.md), suckless software itself doesn't promote any politics, it is a set of purely functional tools, so the question of the developers' private opinions is unimportant here. Suckless ideas are good regardless of whose brains they came from. ~drummyfish }
## Attributes
- Being [free software](free_software.md).
- Extreme [minimalism](minimalism.md) and minimizing [dependencies](dependency.md), elimination of any [bullshit](bullshit.md) and [bloat](bloat.md).
- Configuration of software is part of its source code (`config.h`) and change of this configuration requires recompiling the software (which is extremely easy and fast with suckless software). This removes the need for dealing with config files which requires special libraries, file systems and extra code.
- Mainly using two [programming languages](programming_language.md): [C](c.md) (C89 or C99) for compiled programs and [POSIX shell](posix_shell.md) for scripting.
- [Forking](fork.md) by default, software is distributed in source format, every user is supposed to create a personal customized fork and compile/customize the software himself.
- Mods (extension/addons) are implemented and distributed as [patch](patch.md) files.
- Permissive licensing such as [MIT](mit.md), [CC0](cc0.md) etc.
- Typical upper limit for [lines of code](loc.md) of a program being 10k.
- Focus on the technology itself without mixing it with [politics](politics.md) and other [bullshit](bs.md) such as [COCs](coc.md).
## History
Suckless in current form has existed since 2006 when the domain suckless.org was registered by a German guy Anselm R. Garbe who is the founder of the community. It has evolved from a community centered around specific software projects, most notably [wmii](wmii.md). Garbe has given interview about suckless in FLOSS Weekly episode 355.
Some time before 2010 suckless developed [stali](stali.md), a statically linked [glibc](glibc.md)-less ["Linux distro"](distro.md) that was based on the idea that [dynamic linking](dynamic_linking.md) is [harmful](harmful.md) and that [static linking](static_linking.md) is mostly advantageous. It also came with suckless software by default. This project was made independent and split from suckless in 2018 by Garbe.
In 2012 a core veteran member of suckless, [Uriel](uriel.md), has killed himself and became a [meme](meme.md).
## Projects
Notable projects developed by the suckless group include:
- [dwm](dwm.md)
- [st](st.md)
- [dmenu](dmenu.md)
- [surf](surf.md)
- [stali](stali.md)
However there are many more, check out their website.