IMO, GPL2 has all the stuff against tivoization already there (preferred form for modification -- if I can't modify it for actual hardware, it's not enough).
Because they are enums done right. Enums in C and many other languages are often just a helpers to define integer constants (or abused in this way) and can be evil.
IMO, before http is deprecated, we need public key in DNS support, bypassing the CA system. It would possibly be a lower level of security than CA cert, but would be good for many sites.
I notices Firefox sometimes starts busy looping on 2 cores while playing youtube (usually when "buffering"). IMO, they should really move the decoding threads into separate processes so they can be restarted easily (just like Flash was).
But it has to scan/mark all the objects, not just the the unused ones. This has large overhead in big-mem apps. Not to mention that usually this forces the whole app into RAM (makes swap useless) and also potentialy drains cpu caches.
And to amortize this it often has more memory overhead (up to 2x) than typical fragmentation in a manually managed app.
It seems like virtualization is about to become useless in the future and CPU-emulating+jit compiling systems are the future, because SGX can't be virtualized.