Ten článek od Solène Rapenne je skvělý v tom, že si u každého toho bodu stačí říkat "a ono to tak není?"
Někde vedle u zprávičky se diskutuje nárůst komplexity. Roky jsem si říkal, proč obyč programy tahají někdy i stovky, průměrně desítky, knihoven. Poznal jsem to v roce 2015, kdy jsem přešel na FreeBSD a všechny porty si začal kompilovat. Některé programy mají desítky volitelných funkcí. By default je vše zapnuto. Kompiluje se to hodiny. Pokud si admin dá tu práci a vyzobe si skutečně jen to, co potřebuje, je kompilace na pět minut. Aktuálně celé distro mám zkompilované do dvou hodin (na staré i5).
Proč to píšu. Bývávalo standardem, že na každou další funkcionalitu je další program. Tedy je kravina mít jeden program s padesáti volitelnými (konfigurační volbou při kompilaci) funkcemi. Správně to má být padesát oddělených programů. A admin si nainstaluje pouze ty tři, které potřebuje.
Další věc, co se řešila i tady na rootu (tak před 15 lety) jsou funkce, které vlastně nikdo nechce, ale z hlediska nějakého "standardu" distribuce tam prostě jsou. Příkladem budiž třeba true
. Což je program, který vrací exit code 0. Toť vše. Jenže, teoreticky, může skončit chybou. Chyba je v angličtině. Což se, ehm, Čechovi, nemusí líbit. Takže true
linkuje knihovnu pro překlad do všech jazyků v galaxii. Velikost tohoto programu narostla možná tisíckrát, ale to není ten hlavní problém. Problém je, že všechny skripty (i běžící pod rootem) náhle inkludují tuhle "nevinnou" knihovnu. Takže někde na počátku byla myšlenka mít vše v národních jazycích (což prostě nechápu, ale ok) a tak se do všech skriptů zatáhla knihovna, která tam ale neplní vůbec žádnou primární funkcionalitu.