It's a thirty year old design decision that even at the time was fairly naive but somewhat excusable given the scarcity of multi processor systems at the time. Undoing this and tackling all the technical debt is overdue. The main challenge never was that it's not doable (see other languages for a variety of solutions) but simply that it's a bit of work.
Basically it won't become a default until after it works. Which is the opposite of crazy; it's very reasonable.
Guido has spoken out on this and I don't think he's against this. It's more that he's in favor of stability and moving forward.
The challenge with python is that you can't do a lot of things in it very efficiently that people keep on doing in it anyway. Like trying to use multiple threads. Making those things work a bit better is not a bad thing.
There's a simple solution for code that depends on the GIL, which is simply to don't do what's fairly pointless with the GIL anyway: using more than 1 thread. The GIL only serves a purpose if you use more than 1 thread. And since it makes doing that kind of impractical anyway, most python code doesn't need the GIL because it is single threaded. That code will only break if the GIL is gone and multiple threads are used. Simple solution if that affects you: don't do that.
Basically it won't become a default until after it works. Which is the opposite of crazy; it's very reasonable.
Guido has spoken out on this and I don't think he's against this. It's more that he's in favor of stability and moving forward.
The challenge with python is that you can't do a lot of things in it very efficiently that people keep on doing in it anyway. Like trying to use multiple threads. Making those things work a bit better is not a bad thing.
There's a simple solution for code that depends on the GIL, which is simply to don't do what's fairly pointless with the GIL anyway: using more than 1 thread. The GIL only serves a purpose if you use more than 1 thread. And since it makes doing that kind of impractical anyway, most python code doesn't need the GIL because it is single threaded. That code will only break if the GIL is gone and multiple threads are used. Simple solution if that affects you: don't do that.