Language moratorium
Hi,
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
During that time we could just informally listen very closely to Guido if anything requires a decision and he happens to be around. But there may be no decisions at all.
And yes, I guess we can successfully attempt to be nice, especially to him (thanks for this wonderful language!).
Stefan Krah
There is a de facto moratorium for the time being until a new governance model is chosen. Let's not formalize anything beyond that.
-- Best regards, Łukasz Langa
On Jul 18, 2018, at 11:11 AM, Stefan Krah <stefan@bytereef.org> wrote:
Hi,
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
During that time we could just informally listen very closely to Guido if anything requires a decision and he happens to be around. But there may be no decisions at all.
And yes, I guess we can successfully attempt to be nice, especially to him (thanks for this wonderful language!).
Stefan Krah
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
There is a de facto moratorium for the time being until a new governance model is chosen. Let's not formalize anything beyond that.
I agree.
Mariatta
On Wed, Jul 18, 2018 at 9:24 AM Łukasz Langa <lukasz@langa.pl> wrote:
There is a de facto moratorium for the time being until a new governance model is chosen. Let's not formalize anything beyond that.
-- Best regards, Łukasz Langa
On Jul 18, 2018, at 11:11 AM, Stefan Krah <stefan@bytereef.org> wrote:
Hi,
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
During that time we could just informally listen very closely to Guido if anything requires a decision and he happens to be around. But there may be no decisions at all.
And yes, I guess we can successfully attempt to be nice, especially to him (thanks for this wonderful language!).
Stefan Krah
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
On Wed, Jul 18, 2018, 09:32 Mariatta Wijaya, <mariatta.wijaya@gmail.com> wrote:
There is a de facto moratorium for the time being until a new governance
model is chosen. Let's not formalize anything beyond that.
I agree.
Same here.
-Brett
Mariatta
On Wed, Jul 18, 2018 at 9:24 AM Łukasz Langa <lukasz@langa.pl> wrote:
There is a de facto moratorium for the time being until a new governance model is chosen. Let's not formalize anything beyond that.
-- Best regards, Łukasz Langa
On Jul 18, 2018, at 11:11 AM, Stefan Krah <stefan@bytereef.org> wrote:
Hi,
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
During that time we could just informally listen very closely to Guido if anything requires a decision and he happens to be around. But there may be no decisions at all.
And yes, I guess we can successfully attempt to be nice, especially to him (thanks for this wonderful language!).
Stefan Krah
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
On Jul 18, 2018, at 09:11, Stefan Krah <stefan@bytereef.org> wrote:
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
I agree that we’ll effectively have language moratorium until we have a new governance structure. But let me ask, what do you propose to do about PEP 572? That’s already been accepted, but not yet implemented. Would it be exempt from the moratorium or scoot in under the wire?
Cheers, -Barry
Le 18/07/2018 à 20:47, Barry Warsaw a écrit :
On Jul 18, 2018, at 09:11, Stefan Krah <stefan@bytereef.org> wrote:
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
I agree that we’ll effectively have language moratorium until we have a new governance structure. But let me ask, what do you propose to do about PEP 572? That’s already been accepted, but not yet implemented. Would it be exempt from the moratorium or scoot in under the wire?
Since it's accepted, the implementation is just a matter of code review and doesn't require (AFAICT) the intervention of an ultimate authority. As much as I dislike PEP 572...
Regards
Antoine.
On 2018-07-18 20:47, Barry Warsaw wrote:
On Jul 18, 2018, at 09:11, Stefan Krah <stefan@bytereef.org> wrote:
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
I agree that we’ll effectively have language moratorium until we have a new governance structure. But let me ask, what do you propose to do about PEP 572? That’s already been accepted, but not yet implemented. Would it be exempt from the moratorium or scoot in under the wire?
It's the last will of our beloved dictator.
To quote my favorite Marvel villain: The first order of the new BDFL cannot undo the last will of the previous BDFL.
Christian
On Wed, Jul 18, 2018 at 11:47:22AM -0700, Barry Warsaw wrote:
On Jul 18, 2018, at 09:11, Stefan Krah <stefan@bytereef.org> wrote:
if I remember correctly, we had a moratorium for language changes around versions 3.2-3.3. I think during that time relatively few BDFL-level decisions were required.
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
I agree that we’ll effectively have language moratorium until we have a new governance structure. But let me ask, what do you propose to do about PEP 572? That’s already been accepted, but not yet implemented. Would it be exempt from the moratorium or scoot in under the wire?
That is a tough question. :) I meant a moratorium for new decisions and subsequent changes, so I kind of assumed PEP 572 would go in.
Stefan Krah
[Barry]
I agree that we’ll effectively have language moratorium until we have a new governance structure.
Unsure! Governance is needed to resolve conflict. When there's broad
agreement, "leaders" aren't really needed. For example, there's been a bit
of talk on python-ideas about adding a new intmath
module capturing some
frequently reinvented functions for which decent implementations are known
but non-obvious (e.g., for generating the primes). Nobody could sanely
fight to death against something like that. Even whining about it would
appear petty ;-)
But let me ask, what do you propose to do about PEP 572? That’s already
been accepted, but not yet implemented. Would it be exempt from the moratorium or scoot in under the wire?
Unless "accepted" has a meaning with which I'm unfamiliar, "exempt" is the obvious answer. Changing to such an unfamiliar meaning would require the very governance structure whose present existence is denied by the case hypothesis ;-)
Hi,
2018-07-18 18:11 GMT+02:00 Stefan Krah <stefan@bytereef.org>:
Perhaps we could have one again, say for 12 months so we can figure things out. Other Python implementations may welcome the moratorium so they can catch up.
Python 3.8 has a new syntax for assignment expressions (PEP 572). A moratorium of 12 months in practice means no other syntax changes for Python 3.8. I strongly prefer to introduce syntax changes early in the development cycle, rather than late, to give time to third party modules to be updated (ex: linters like flake8 or pylint).
I am unable to decide if a moratorium is a good idea. For example, I was (strongly) against f-string at the beginning, and wrote that it was possible to write the same thing without f-string. You can say the same for PEP 572 which is "more or less" pure syntax sugar. But Python 3.6 also got a simple change to allow underscore in numbers for readability (PEP 515) and I now really love that feature.
On the side, I would like to slow down syntax changes. On the other side, I started to really love latest syntax changes...
What about other syntax changes like async and await which became real keywords? IMHO it's also a major enhancement for asyncio, even if they were more or less already keywords :-)
When I look back at syntax changes since Python 3.4, it's really hard for me to say that I prefer to stay at Python 3.4 (syntax) forever and never use Python 3.5, 3.6 and 3.7 new syntaxes... When I can use them, I started to strongly prefer f-string over str % args (which now kind of look as "legacy" compared to f-string) or its verbose brother str.format(args).
On of the reason which motivated Facebook and Instagram to migrate from Python 2.7 directly to 3.5 was to get the new async and await keywords. So new syntaxes can be the new "killer feature" of a specific Python release, at least for some use cases.
Victor
On Thu, Jul 19, 2018, 01:24 Victor Stinner, <vstinner@redhat.com> wrote:
Hi,
Perhaps we could have one again, say for 12 months so we can figure
2018-07-18 18:11 GMT+02:00 Stefan Krah <stefan@bytereef.org>: things
out. Other Python implementations may welcome the moratorium so they can catch up.
Python 3.8 has a new syntax for assignment expressions (PEP 572). A moratorium of 12 months in practice means no other syntax changes for Python 3.8. I strongly prefer to introduce syntax changes early in the development cycle, rather than late, to give time to third party modules to be updated (ex: linters like flake8 or pylint).
I am unable to decide if a moratorium is a good idea. For example, I was (strongly) against f-string at the beginning, and wrote that it was possible to write the same thing without f-string. You can say the same for PEP 572 which is "more or less" pure syntax sugar. But Python 3.6 also got a simple change to allow underscore in numbers for readability (PEP 515) and I now really love that feature.
On the side, I would like to slow down syntax changes. On the other side, I started to really love latest syntax changes...
What about other syntax changes like async and await which became real keywords? IMHO it's also a major enhancement for asyncio, even if they were more or less already keywords :-)
When I look back at syntax changes since Python 3.4, it's really hard for me to say that I prefer to stay at Python 3.4 (syntax) forever and never use Python 3.5, 3.6 and 3.7 new syntaxes... When I can use them, I started to strongly prefer f-string over str % args (which now kind of look as "legacy" compared to f-string) or its verbose brother str.format(args).
On of the reason which motivated Facebook and Instagram to migrate from Python 2.7 directly to 3.5 was to get the new async and await keywords. So new syntaxes can be the new "killer feature" of a specific Python release, at least for some use cases.
Then we would have to solve our governance problem sooner rather than later. But i don't think every Python release has to make a huge splash.
-Brett
Victor
python-committers mailing list python-committers@python.org https://mail.python.org/mailman/listinfo/python-committers Code of Conduct: https://www.python.org/psf/codeofconduct/
On Jul 19, 2018, at 08:41, Brett Cannon <brett@python.org> wrote:
Then we would have to solve our governance problem sooner rather than later. But i don't think every Python release has to make a huge splash.
The other option of course is to push the release date of Python 3.8 back to accommodate the new governance structure.
On Jul 18, 2018, at 19:23, Tim Peters <tim.peters@gmail.com> wrote:
Unsure! Governance is needed to resolve conflict. When there's broad agreement, "leaders" aren't really needed. For example, there's been a bit of talk on python-ideas about adding a new
intmath
module capturing some frequently reinvented functions for which decent implementations are known but non-obvious (e.g., for generating the primes). Nobody could sanely fight to death against something like that. Even whining about it would appear petty ;-)
I don’t necessarily include new modules, other stdlib changes, build or performance improvements, and other such “normal development” work (i.e. bug fixing) to be affected by a language moratorium. PEP 572-level decisions would very definitely fall under that rubric.
We have plenty of experts still in place that can make more minor decisions. In fact, perhaps we should largely operate as if our BDFL were just on a long vacation and not pronouncing on PEPs. That’s never frozen Python development before, and shouldn’t now.
If PEP 572 were the only new syntax for 3.8, then so be it.
Cheers, -Barry
Le 19/07/2018 à 20:03, Barry Warsaw a écrit :
If PEP 572 were the only new syntax for 3.8, then so be it.
+1. Which means that:
The other option of course is to push the release date of Python 3.8 back to accommodate the new governance structure.
is basically unnecessary ;-)
Regards
Antoine.
On Thu, 19 Jul 2018 at 11:04 Barry Warsaw <barry@python.org> wrote:
On Jul 19, 2018, at 08:41, Brett Cannon <brett@python.org> wrote:
Then we would have to solve our governance problem sooner rather than
later. But i don't think every Python release has to make a huge splash.
The other option of course is to push the release date of Python 3.8 back to accommodate the new governance structure.
On Jul 18, 2018, at 19:23, Tim Peters <tim.peters@gmail.com> wrote:
Unsure! Governance is needed to resolve conflict. When there's broad agreement, "leaders" aren't really needed. For example, there's been a bit of talk on python-ideas about adding a new
intmath
module capturing some frequently reinvented functions for which decent implementations are known but non-obvious (e.g., for generating the primes). Nobody could sanely fight to death against something like that. Even whining about it would appear petty ;-)I don’t necessarily include new modules, other stdlib changes, build or performance improvements, and other such “normal development” work (i.e. bug fixing) to be affected by a language moratorium. PEP 572-level decisions would very definitely fall under that rubric.
We have plenty of experts still in place that can make more minor decisions. In fact, perhaps we should largely operate as if our BDFL were just on a long vacation and not pronouncing on PEPs. That’s never frozen Python development before, and shouldn’t now.
If PEP 572 were the only new syntax for 3.8, then so be it.
That last time we had a language moratorium we allowed new stdlib modules ( https://www.python.org/dev/peps/pep-3003/).
On Thu, Jul 19, 2018 at 10:24:17AM +0200, Victor Stinner wrote:
On of the reason which motivated Facebook and Instagram to migrate from Python 2.7 directly to 3.5 was to get the new async and await keywords. So new syntaxes can be the new "killer feature" of a specific Python release, at least for some use cases.
This is definitely true. But Python is very strong now, much stronger than during the last moratorium.
So in general I think making a decision for a 12 months moratorium should not be viewed by the community as a weak "policy of not having a policy", but as a signal of strength.
Suppose people take long vacations, take a distance to the whole PEP 572 situation, perhaps reevaluate; there is always the possibility of overlooking a very simple solution that becomes apparent after a while.
Stefan Krah
participants (9)
-
Antoine Pitrou
-
Barry Warsaw
-
Brett Cannon
-
Christian Heimes
-
Mariatta Wijaya
-
Stefan Krah
-
Tim Peters
-
Victor Stinner
-
Łukasz Langa