OT: Proč OpenSource

Pavel Troller patrol@sinus.cz
Čtvrtek Září 6 13:32:52 CEST 2007


Zdravím,

> Nerozumiem presne, preco trvate na zdrojakoch v pripade, ze aplikacia je 
> plne funkcna, na tento ucel je to to najlepsie co mozete mat, a len ako 
> bonus je to zadarmo; ale nevadi.

Protože taková je moje admin policy :-). Na mém systému se aplikace instaluje
kompilací; jiný postup je nepřípustný. Podotýkám, že hovořím o *IXových
systémech, jiné neadministruji. Rád vysvětlím, proč výhradně ze source:

1) Aplikace musí být konfigurována (před kompilací) tak, aby splňovala mé
   požadavky na umístění svých konfiguračních, provozních a jiných souborů.
   Binární aplikace obvykle má pevně specifikované cesty ke svým souborům,
   které mnohdy struktuře mého systému nevyhovují. Je obtížné pak binár
   modifikovat. Někdy to jde, někdy (prodloužení řetězce) ne.

2) Při kompilaci nastavuji kompilátoru a linkeru vhodně volené flagy, které
   jednak zvyšují bezpečnost (např. -fstack-protector) a druhak optimalizují
   např. na typ procesoru (Intel xyz/AMD/kdovíco), použití registrů
   (-fomit-frame-pointer) či způsob stavby výsledných modulů
   (-Wl,-z,combreloc). Mám zkušenosti, že mnozí tvůrci binárních aplikací
   často tomuto nevěnují dostatek péče, nebo dokonce dodávají binár plný
   balastu - např. ladicích symbolů, které jsou mi bez zdrojového textu
   stejně nanic. Ano, mohl bych udělat strip, ale stejně to není ono :-).

3) Pokud jde o aplikaci, umožňující např. externí přístup k prostředkům
   stroje a nejedná-li se o známou a prověřenou aplikaci (např. sshd,
   httpd atd.), provádím alespoň letmý audit některých pasáží zdrojového
   textu, abych našel ty nejkřiklavější případy možných nebezpečí a mohl
   je buďto fixnout, nebo se případně rozhodnout aplikaci neinstalovat.
   
4) U rozsáhlejších produktů (jako je třeba jádro, KDE, X11) je velmi vhodné,
   že updaty se řeší stažením patchů, které jsou vůči objemu textů aplikace
   minimální. Updatovat binár patchováním není obvyklé :-), obvykle je třeba
   jej celý vyměnit. Nedovedu si představit, že bych každý týden stahoval
   celý balík binárů od KDE. Týdenní rekompilace KDE po aplikaci patchů
   je u mne standardní rutinní postup.
   
5) Mnohdy se stane, že aplikace nemá dostatečnou dokumentaci a dělá něco
   záhadného. Pravidlo "Read the source, Luke" je v tomto případě zlaté -
   zdroják je vždy ten nejlepší manuál. Bez něj se cítím jako slepý.

6) Některé bináry jsou dostupné jen pro určité architektury. Křiklavý je
   nyní např. FlashPlayer, dostupný jen ve 32bitové verzi. Adobe je prostě
   líná udělat 64bitovou rekompilaci :-(. A ono to vadí, pokud používáte
   64bitový FireFox, tak do něj 32bitový plugin nepasuje (musí se použít
   nspluginwrapper, což je "workaround" právě pro tyto účely).

Nebaví mne už vymýšlet další body, ale ještě by se jich pár našlo. Jde prostě
o zvyk - kdo je takto zvyklý pracovat řádově 15 let, už by těžko odvykal.

Nejde o výzvu na flamewar, ikdyž samozřejmě připomínky k věci si rád přečtu.

S pozdravem Pavel Troller



Další informace o konferenci Hw-list