I suspect those problems are not completely unsolvable. There were broadly similar problems with the WebKit version used by Android, since that was baked into the OS, and vendors are slow to update OSes. Then Google decided that there would be no more independent Android browser, and apps would just reuse the same rendering engine as Chrome -- which could be updated through the Play Store. (Google&#x27;s also been slowly trying to solve other problems related to vendors not updating Android.)<p>But they require some design work. Conservatism with regards to new features is part of it -- while a &quot;normal bug&quot; in functionality only impacts a system where the functionality was intended to be used, a security bug impacts those where it&#x27;s compiled in, even if it&#x27;s unused. Making the kernel more friendly to third-party kernel drivers would allow some of these systems to be upgradeable: Chrome updates in the Play Store don&#x27;t break other applications because there&#x27;s a well-defined ABI to WebView, and that&#x27;s never broken. Designing some functionality (like filesystems) to run in a more microkernel style would make it safer to upgrade targeted parts of the kernel codebase without risking hardware incompatibilities. And so forth.<p>Again, it&#x27;s an engineering tradeoff. Microkernels may be the most hackneyed example of &quot;no, we don&#x27;t want to do it that way&quot;. :)