less_retarded_wiki/kiss.md
2023-10-05 21:58:21 +02:00

30 lines
2.8 KiB
Markdown

# KISS
KISS (Keep It Simple, Stupid!) is a design philosophy that favors simplicity, solutions that are **as simple as possible** to achieve given task. This philosophy doesn't primarily stem from laziness and a want to save time (though these are valid reasons too), but mainly from the fact that higher [complexity](complexity.md) comes with increasingly negative effects such as the cost of development, cost of [maintenance](maintenance.md), greater probability of [bugs](bug.md) (e.g. [security](security.md) vulnerabilities) and failure, more [dependencies](dependency.md). This stance is related to technology [minimalism](minimalism.md).
Under dystopian [capitalism](capitalism.md) simple technology, such as simple software, has at least one more advantage related to "[intellectual property](intellectual_property.md)": a simple solution is less likely to step on a [patent](patent.md) landmine because such a simple solution will either be hard to patent or as more obvious will have been discovered and patented sooner and the patent is more likely to already be expired. So in this sense KISS technology is legally safer.
Apparently the term *KISS* originated in the US Army plane engineering: the planes needed to be repairable by *stupid* soldiers with limited tools under field conditions.
**Examples** of KISS "[solutions](solution.md)" include:
- Using a [plain text](plain_text.md) file instead of a dedicated [bug](bug.md) tracker (TODO.txt), note taking program etc.
- Creating website in plain [HTML](html.md) instead of using some complex web framework such as [Wordpress](wordpress.md).
- Implementing a web left-right sweeping image gallery with HTML [iframe](iframe.md) instead of some overcomplicated [JavaScript](js.md) library. { Example stolen from [reactionary software](reactionary_software.md) website. ~drummyfish }
- Supporting only [ASCII](ascii.md) instead of [Unicode](unicode.md), it is [good enough](good_enough.md).
- Using a plain text file instead of a [database](database.md) system.
- Using [markdown](markdown.md) for creating documents, as opposed to using office programs such as [Libreoffice](libreoffice.md).
- Using a trivial [shell](shell.md) script for compiling your programs rather than a complex build system such as [CMake](cmake.md).
- ...
Compared to [suckless](suckless.md), [unix philosophy](unix_philosophy.md) and [LRS](lrs.md), KISS is a more general term and isn't tied to any specific group or movement, it doesn't imply any specifics but rather the general overall idea of simplicity being an advantage ([less is more](less_is_more.md), [worse is better](worse_is_better.md), ...).
[KISS Linux](kiss_linux.md) is an example of software developed under this philosophy and adapting the term itself.
## See Also
- [minimalism](minimalism.md)
- [suckless](suckless.md)
- [KILL](kill.md)
- [kys](suicide.md)
- [LRS](lrs.md)