Why are real threads so important? Does anyone have an example where threads would be much better than using the multiprocessing module?
Processes don't share pointers, they only share BLOBs. Threads do share pointers and that's why they are more suitable to in memory data analysis/manipulation.
(Not that your general point is wrong)
The way most web applications are structured, for instance.
I not sure dropping the GIL is the best solution. Something like Erlang message passing sounds like a better model. I'm not sure if that's a good fit either though since it works best with functional style programming.