Ohledně bezpečnostních děr: Protože aplikace se píšou na vyšší úrovni, často ve vyšších jazycích, s použitím frameworků, které od většiny bezpečnostních chyb abstrahují. Navíc jsou poměrně časté chyby třeba v protokolech souvisejích s kryptografií, což bývá často chyba konceptu, ne kódu jako takového. Samozřejmě i na aplikační úrovni lze něco udělat špatně ("select "+...), ale s použitím běžných knihoven a good practice je to riziko řádově menší.
Ohledně tranzitivních závislostí - to je to, co jsem psal. Ohledně modulů v Java - jo, do té doby, než budu potřebovat, aby spolu ty dvě nekompatibilní verze fungovaly. Tuhle feature Java 9 považuju spíš za kontraproduktivní, bo dává falešný pocit, že tím řeší víc, než ve skutečnosti dokáže. Šedá je teorie, zelený strom života.
Ohledně Qt3 vs Qt5 - nevyřešil, protože to v principu vyřešit nejde. Ten problém existuje na obou úrovních - už v rámci vývoje a případně znovu v rámci distribuce (izolovaný container řeší potenciálně tu druhou část, se všemi zápory, které se tu diskutovaly).