The SC is looking for feedback from the Core Dev team on making Python free-threaded and PEP 703 – Making the Global Interpreter Lock Optional in CPython. We’re talking about long-term, invasive changes, and we want to know if there is general consensus on the idea of free-threading, and sufficient practical support for PEP 703.
The concept of making Python free-threaded, regardless of the practical implementation such as removing the GIL, has a lot of unknowns. We don’t know how much code implicitly relies on the GIL, or is thread-unsafe in subtle ways that are masked by the GIL. We don’t know how much work it’s going to be to deal with the fallout of introducing free-threading (regardless of how that occurs). Do you think gaining free-threading is worth this uncertainty (and the uncertain amount of work to the Core Devs and the Python community)?
For PEP 703 specifically, we want to know if we have sufficient support from Core Devs to warrant the implementation cost in terms of complexity and maintenance. Are you, personally, as a Core Dev, prepared to deal with the added complexity in CPython? Not just to tolerate it, but to take on some of the complex problems that may arise because of it?
Conceptually, do you think we should be actively looking to make Python free-threaded?
Do you want to accept and support the maintenance cost of PEP 703?
Is there a way to respond “N/A” to the second vote? I am not active in core development anymore and, while I would definitely like to support the maintenance cost if I were still active, it would feel dishonest for me to answer “yes” here.
I agree. I replied “Yes” to the second question, but realistically I only tend to work on the zipapp and packaging areas, so I don’t expect any contribution I make to be particularly significant.
Hmm, maybe just abstaining from the second vote would have been a better choice, and maybe that works for @pitrou as well. It honestly never occurred to me that I could do that
The question was “Are you, personally, as a Core Dev, prepared to deal with the added complexity in CPython? Not just to tolerate it, but to take on some of the complex problems that may arise because of it?” For both of you it sounds like a “no” to me. Abstaining works, too.
(I believe you can still remove your vote? At least there’s a button to do so for me.)
The thing is, I am willing to help dealing with threading issues. I just don’t know how useful I can be in practice. So I guess I’m going to stick with “yes” (given that the longer-form explanation is here for anyone who cares)…
Same here – willing to help, not sure how much help I can be.
Having said that, there is value in finding bugs, and reviewing/updating documentation.
@brettcannon Maybe it would be good to also post this to the committers mailing list? I just heard from an active committer who wasn’t following this Discourse topic.
Wow, does the committers list still actually exist? I don’t remember receiving a message there in a very long time.