Na druhou stranu, autori SW se ridi pravidlem "release early, release often" a jejich SW proste obsahuje minimalne v posledni verzi mnoho bugu (treba i z oblasti bezpecnosti).
Jenže tenhle problém se nevyřeší tím, že vezmu sadu patchů, některé z nich víceméně náhodně vylosuju a naroubuju je na starší verzi. Tím docílím nanejvýš toho, že moje aplikace bude mít jinou sadu chyb, než upstream - ale v žádném případě to neznamená, že těch chyb bude méně nebo že budou méně závažné.
Tohle má jediné řešení - že ty bezpečnostní aktualizace bude udržovat upstream. Jenže to je samozřejmě náročné. Dělají to tak třeba vývojáři jádra, ale i tam bych byl na pochybách, zda longterm jádra opravdu mají správně opravené všechny bezpečnostní chyby, které jsou opravené v aktuálním jádru, a zda nemají nějaké nové chyby.
Druha vec je, ze nektere distribuce na mne pusobi jako dostihovy kun. Jestli distro vyjde s programem ve verzi 1.2.3, tak tam proste v zajmu stability verze 1.2.3 zustane, prestoze v case zivota distra vysla jedna nebo nekolik minor verzi bez vetsiho potencialu neco dalsiho rozbit...
Problém je, když je v těch minor verzích nějaká bezpečnostní oprava - a ještě větší problém, když je tam bezpečnostní oprava, aniž by to bylo známo (třeba proto, že vývojář opraví nějakou chybu, aniž by si uvědomil, že by tu chybu bylo možné zneužít).
To, že distribuce nemusí mít poslední verzi programu, je sice pravda (moc nechápu nářky uživatelů, že program už je ve verzi X, ale oni mají v distribuci pořád verzi Y - když používám nějakou distribuci, mám ty verze programů, které má k dispozici ta distribuce, a nezajímá mne, že na nějaké jiné platformě a jiném systému mají stejný program v novější verzi). Problém je, že to předpokládá, že se změny v programu dají rozdělit do dvou disjunktních množin - na vylepšení a nevýznamné opravy na straně jedné a na bezpečnostní a jiné důležité opravy na straně druhé. Jenže tak to v reálném světě nefunguje.