Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> There was also a large amount of concern from the attendees about the impact the introduction of nogil could have on CPython development. Some worried that introducing nogil mode could mean that the number of tests run in CI would have to double. Others worried that the maintenance burden would significantly increase if two separate versions of CPython were supported simultaneously: one with the GIL, and one without.

This seems like a key consideration for the long-term success of nogil and CPython. The Python ecosystem has survived and recovered from past forks but it would good to avoid forks altogether if possible, especially if nogil proves to be stable and performant enough for prime time. At the least we should try to keep any forks short-term, e.g. starting with a compiler flag with a timeline for shifting to a runtime flag. (These are just my thoughts, take everything with a pinch of salt.)



No GIL should be "python 4.0"


This would totally make sense. A major change in architecture with some libraries breaking. While many people are still store from the 2->3 transition I would not expect this change to be that severe Most code should work for python 3 and 4 without changes.


It could be done in incremental steps:

1. python3.x nogil as a compiler flag

2. python3.y nogil as a runtime flag

3. python4.0 nogil as the default (if we’re really ready for it)


Please no. I will quit python if they do another breaking major version change.


It doesn't have to be breaking for a 4.0 label.


Semantic Versioning 2.0.0 Summary

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes

--------

Considering semver and that this is a COMPATIBLE API change, it does not warrant an increment to 4.x


Python doesn't follow semver anyway (and it's fine IMO).


Semantic Versioning is basically dead on most open source projects these days. I don't think most even used it right back in the day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: