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