Update
This commit is contained in:
parent
ab4d27c3dd
commit
93bf9d1814
5 changed files with 40 additions and 1 deletions
26
bloat.md
26
bloat.md
|
@ -10,6 +10,32 @@ The issue of bloat may of course appear outside of the strict boundaries of comp
|
|||
|
||||
Back to technology though, one of a very frequent questions you may hear a noob ask is **"How can bloat limit software freedom if such software has a [free](free_software.md) license?"** Bloat [de-facto](de_facto.md) limits some of the four essential freedoms (to use, study, modify and share) required for a software to be free. A free license grants these freedoms legally, but if some of those freedoms are subsequently limited by other circumstances, the software becomes effectively less free. It is important to realize that **complexity itself goes against freedom** because a more complex system will inevitably reduce the number of people being able to execute freedoms such as modifying the software (the number of programmers being able to understand and modify a trivial program is much greater than the number of programmers being able to understand and modify a highly complex million [LOC](loc.md) program). As the number of people being able to execute the basic freedom drops, we're approaching the scenario in which the software is de-facto controlled by a small number of people who can (e.g. due to the cost) effectively study, modify and maintain the program -- and a program that is controlled by a small group of people (e.g. a corporation) is by definition [proprietary](proprietary.md). If there is a web browser that has a free license but you, a lone programmer, can't afford to study it, modify it significantly and maintain it, and your friends aren't able to do that either, when the only one who can practically do this is the developer of the browser himself and perhaps a few other rich corporations that can pay dozens of full time programmers, then such browser cannot be considered free as it won't be shaped to benefit you, the user, but rather the developer, a corporation.
|
||||
|
||||
**How much bloat can we tolerate?** We are basically trying to get the most for the least price. The following diagram attempts to give an answer:
|
||||
|
||||
```
|
||||
external
|
||||
"richness"
|
||||
A
|
||||
shiny | : :
|
||||
bullshit | NO : YES : NO
|
||||
| : : ____. . .
|
||||
luxury | : : ___________/
|
||||
| : : ________/
|
||||
| : __:___/
|
||||
very | : ____/ :
|
||||
useful | : ___/ :
|
||||
| : __/ :
|
||||
| :_/ :
|
||||
useful | _: :
|
||||
| | : :
|
||||
| / : :
|
||||
does || : :
|
||||
nothing +---------------------------------------------------> internal complexity
|
||||
trivial simple solo big huge gigantic
|
||||
manageable
|
||||
|
||||
```
|
||||
|
||||
## Typical Bloat
|
||||
|
||||
The following is a list of software usually considered a good, typical example of bloat. However keep in mind that bloat is a relative term, for example [vim](vim.md) can be seen as a minimalist suckless editor when compared to mainstream software ([IDEs](ide.md)), but at the same time it's pretty bloated when compared to strictly [suckless](suckless.md) programs.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue