|
|
|
Title: Size in loc of common software
|
|
|
|
Author: Alessandro Mauri
|
|
|
|
|
|
|
|
# Size in loc of common software
|
|
|
|
Bloat is everywhere, in 2018 I started my journey on debloating my digital
|
|
|
|
life, so far I mostly use linux as my main OS (the mostly is due to uni
|
|
|
|
stuff I don't want and/or have time to deal with), I don't use a desktop environment,
|
|
|
|
got rid of systemd, pulseaudio and polkit just to name a few. I could go on
|
|
|
|
about how I debloated most of my computing life but that is not the goal
|
|
|
|
of this article, that is I recently started to wonder: how much bloat is really
|
|
|
|
there?
|
|
|
|
|
|
|
|
In order to answer that question I rolled up my sleeves and with the mighty
|
|
|
|
power of post-its, git and [scc][1] I cloned the repositories of many
|
|
|
|
common programs in order to check their bloat suckless style, with
|
|
|
|
lines of code. Let's get to the data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Init systems
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| systemd | 722K |
|
|
|
|
| OpenRC | 21K |
|
|
|
|
| s6 | 20K |
|
|
|
|
| runit | 12K |
|
|
|
|
| sysVinit | 9K |
|
|
|
|
|
|
|
|
## Logging daemons
|
|
|
|
Technically systemd includes its own logging daemon but here is omitted.
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| rsyslog | 157K |
|
|
|
|
| socklog | 5.6K |
|
|
|
|
| metalog | 2.5K |
|
|
|
|
|
|
|
|
## Network
|
|
|
|
Generic network management programs.
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| --------------- | --------- |
|
|
|
|
| wpa_supplicant | 555K |
|
|
|
|
| kea | 486K |
|
|
|
|
| NetworkManager | 429K |
|
|
|
|
| ModemManager | 194K |
|
|
|
|
| connman | 103K |
|
|
|
|
| (e)iwd | 86K |
|
|
|
|
| dhcpcd | 41K |
|
|
|
|
|
|
|
|
## Music players
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| mpd | 102K |
|
|
|
|
| cmus | 42K |
|
|
|
|
| moc(p) | 35K |
|
|
|
|
| ncmpcpp | 25K |
|
|
|
|
| herrie | 7.4K |
|
|
|
|
|
|
|
|
## Text editors
|
|
|
|
Don't tell me you saw that one coming.
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| vim | 931K |
|
|
|
|
| neovim | 771K |
|
|
|
|
| vis | 109K |
|
|
|
|
| kakoune | 31K |
|
|
|
|
| micro | 29K |
|
|
|
|
| nano | 17K |
|
|
|
|
|
|
|
|
## Build systems
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| cmake | 854K |
|
|
|
|
| tup | 271K |
|
|
|
|
| meson | 107K |
|
|
|
|
| GNU make | 34K |
|
|
|
|
| ninja | 20K |
|
|
|
|
| samurai | 3.7K |
|
|
|
|
|
|
|
|
## Shells (POSIX or not)
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| bash | 210K |
|
|
|
|
| fish | 165K |
|
|
|
|
| zsh | 119K |
|
|
|
|
| ksh93 | 72K |
|
|
|
|
| tcsh | 65K |
|
|
|
|
| mksh | 30K |
|
|
|
|
| ash | 21K |
|
|
|
|
| dash | 13K |
|
|
|
|
|
|
|
|
## Boot loaders/managers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| CloverBoot | 1.8M |
|
|
|
|
| GRUB | 331K |
|
|
|
|
| syslinux | 254K |
|
|
|
|
| eEFInd | 75K |
|
|
|
|
| LILO | 36K |
|
|
|
|
|
|
|
|
## Display servers
|
|
|
|
Dependencies are counted two levels "deep" excluding duplicates, from
|
|
|
|
the alpine linux x86_64 package repositories.\
|
|
|
|
U: Not built, protocol code not generated
|
|
|
|
B: Code generated
|
|
|
|
|
|
|
|
| Name | loc | dependencies |
|
|
|
|
| ------------------- | --------------- | ------------ |
|
|
|
|
| xorg-server | 422K | 44 |
|
|
|
|
| - | - | - |
|
|
|
|
| wayland + | | |
|
|
|
|
| wayland-protocols + | | |
|
|
|
|
| wlroots | U: 97K, B:268K | 27 |
|
|
|
|
|
|
|
|
## SSH servers/clients
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| dropbear | 144K |
|
|
|
|
| OpenSSH | 123K |
|
|
|
|
| TinySSH | 14K |
|
|
|
|
|
|
|
|
## Terminal multiplexers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| tmux | 132K |
|
|
|
|
| GNU screen | 36K |
|
|
|
|
| dvtm | 4.0K |
|
|
|
|
|
|
|
|
## Terminal emulators
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| kitty | 114K |
|
|
|
|
| alacritty | 26K |
|
|
|
|
| wayst | 24K |
|
|
|
|
| havoc | 10K |
|
|
|
|
| wterm | 10K |
|
|
|
|
| st | 4.4K |
|
|
|
|
|
|
|
|
## Kernels
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ------------ | --------- |
|
|
|
|
| netbsd | 40M |
|
|
|
|
| linux | 21M |
|
|
|
|
| FreeBSD | 18M |
|
|
|
|
| OpenBSD | 17M |
|
|
|
|
| DragonflyBSD | 934K |
|
|
|
|
|
|
|
|
## Permission managers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| sudo | 195K |
|
|
|
|
| polkit | 26K |
|
|
|
|
| OpenDoas | 2.9K |
|
|
|
|
| PAM | 61K |
|
|
|
|
|
|
|
|
## Compilers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| gcc | 9.0M |
|
|
|
|
| llvm | 8.0M |
|
|
|
|
| zig | 2.1M |
|
|
|
|
| rust | 856K |
|
|
|
|
| tcc | 93K |
|
|
|
|
|
|
|
|
## Torrent clients
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ------------- | --------- |
|
|
|
|
| qBittorrent | 762K |
|
|
|
|
| transmission | 329K |
|
|
|
|
| deluge | 137K |
|
|
|
|
| rtorrent | 24K |
|
|
|
|
|
|
|
|
## Web browsers
|
|
|
|
Does not include libraries, only the main repos.
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| chromium | |
|
|
|
|
| Firefox | 27M |
|
|
|
|
| badwolf | 1.8K |
|
|
|
|
|
|
|
|
## Window managers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| awesome | 83K |
|
|
|
|
| i3 | 58K |
|
|
|
|
| openbox | 42K |
|
|
|
|
| bspwm | 12K |
|
|
|
|
| 2bwm | 3.3K |
|
|
|
|
| dwm | 2.5K |
|
|
|
|
|
|
|
|
## Wayland compositors
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| weston | 117K |
|
|
|
|
| sway | 42K |
|
|
|
|
| wayfire | 27K |
|
|
|
|
| hikari | 15K |
|
|
|
|
| river | 5.9K |
|
|
|
|
|
|
|
|
## Application launchers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ------------- | --------- |
|
|
|
|
| rofi | 84K |
|
|
|
|
| bemenu | 6.6K |
|
|
|
|
| wofi | 4.3K |
|
|
|
|
| nwg-launchers | 3.5K |
|
|
|
|
| dmenu | 1.3K |
|
|
|
|
|
|
|
|
## Device managers
|
|
|
|
NOTE: mdev is only one source file, so loc count doesn't
|
|
|
|
include anything but that file.
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| eudev | 28K |
|
|
|
|
| mdevd | 2.3K |
|
|
|
|
| smdev | 771 |
|
|
|
|
| mdev | 751 |
|
|
|
|
|
|
|
|
## Initramfs generators
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| dracut | 32K |
|
|
|
|
| tinyramfs | 1.0K |
|
|
|
|
|
|
|
|
## Code counters
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| scc | 19K |
|
|
|
|
| tokei | 11K |
|
|
|
|
|
|
|
|
## Package managers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| apt | 100K |
|
|
|
|
| xbps | 43K |
|
|
|
|
| pacman | 37K |
|
|
|
|
| apk | 17K |
|
|
|
|
| kiss | 1.1K |
|
|
|
|
|
|
|
|
## Webservers
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| apache | 419K |
|
|
|
|
| nginx | 142K |
|
|
|
|
| hiawatha | 113K |
|
|
|
|
| lighttpd | 75K |
|
|
|
|
| caddy | 30K |
|
|
|
|
|
|
|
|
## Syncronization and backup programs
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| borg | 236K |
|
|
|
|
| syncthing | 153K |
|
|
|
|
| git-annex | 123K |
|
|
|
|
| rsync | 56K |
|
|
|
|
| restic | 49K |
|
|
|
|
| casync | 33K |
|
|
|
|
|
|
|
|
## Others
|
|
|
|
Stuff that doesn't fit any other category (for now)
|
|
|
|
|
|
|
|
| Name | loc |
|
|
|
|
| ----------- | --------- |
|
|
|
|
| openssl | 894K |
|
|
|
|
| bluez | 395K |
|
|
|
|
| libressl | 384K |
|
|
|
|
| elogind | 145K |
|
|
|
|
| dbus | 126K |
|
|
|
|
| tint2 | 37K |
|
|
|
|
| lowdown | 19K |
|
|
|
|
| pass | 3.5K |
|
|
|
|
|
|
|
|
[1]: https://github.com/boyter/scc
|