It&#x27;s a shame the GIL won&#x27;t be removed because it&#x27;s perceived to be too difficult.<p>It&#x27;s trivial to remove the GIL - probably a week of mechanical work. Just don&#x27;t depend on global variables in the interpreter. No global state, no problem. But the Python C API has to be changed to always store interpreter state into a struct, and a pointer to that interpreter state struct has to be passed as the first argument in all C API calls. Not rocket science; this is what Lua does.<p>It&#x27;s a political decision to keep the GIL, not a technical one. As for preserving C API backwards compatibility, it&#x27;s a straw man argument - the Python API broke from 2.x to 3.x anyway. There&#x27;s no such thing as &quot;lesser breakage&quot; - only breakage.