Python 3000 Process
I see increased activity related to Python 3000. This is great, but there is some danger involved. Some of the dangers are: overloading developers; setting unrealistic expectations for what can be accomplished; scaring the more conservative user community; paralyzing developers who can't decide whether to wait for Python 3000 or not. I'd like to address all these issues, but it may be better to first spend some time on creating a more streamlined process. Perhaps it's finally time to introduce a separate mailing list? If people agree, let's call it python-3000@python.org. For many developers this won't make much of a difference (since they'll subscribe to both lists), but it will give people who are only concerned with Python 2.x a way to opt-out, and perhaps more importantly, it will make it clear whether any particular proposal is intended for Python 3000 or for Python 2.x. I don't want to encourage people who are only interested in Python 3000 to opt-out from the 2.5 python-dev list, since Python 3000 is not being developed in a vacuum. It must be "a better Python" and that means it is informed to a large extent by recurring issues on python-dev (and c.l.py!). The mailing list is only a small part of the new strategy. We need to start deciding on important meta-issues like: - What's the timeline? I don't expect to be setting a schedule now and sticking to it for the next five years. But we owe everybody out there who is watching some clarity about when Python 3000 can be expected, and how we plan to get there; there are widely differing estimates of how long it will take, and I don't want to scare users away or cause developers to hold their breath waiting for it (some of which I imagine is happening with Perl 6). - What's the upgrade path? Do we provide a conversion tool, or a compatibility mode, or both, or what? Will it be at all possible to write code that runs in Python 2.x (for large enough values of x) as well as in 3.0? This also touches upon the issue of parallel releases of Python 2.x and 3.x. My personal expectation (contrary to what MvL said recently) is that there will be several 2.x releases issued even after 3.0 is out; possibly 3.0 and 2.6 may coexist, and 2.7-2.9 may continue to evolve 2.x while 3.x is maturing. I've seen this used successfully in Perl (with 4->5) and Apache, and closer to home in Zope. Again, this is important in the light of how the transition is perceived in the world outside python-dev. - Will we do a grand library reform at the same time? Personally I see that as quite a separate issue; apart from some specific things like the stdio redesign, we could start the library reform in 2.6, or post-3.0, depending on how much energy there it. - What's the implementation strategy? I've started a branch where I plan to do some weeding out; but I've already found that the large amount of legacy code makes the weeding difficult. I may yet decide to switch to a sandbox model where only new code or carefully modernized old code is added (this is how Zope 3 was developed). - What's the procedure for proposing and new features? It may be time to start a new series of PEPs that focus exclusively on Python 3000. I'd like to reserve the numbers 3000-3099 for meta-PEPs (e.g. addressing the above questions) and 3100-3999 for feature PEPs. Please don't respond with answers to these questions -- each of them is worth several threads. Instead, ponder them, and respond with a +1 or -1 on the creation of the python-3000 mailing list. We'll start discussing the issues there -- or here, if the general sense is not to split the list. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
Guido van Rossum wrote: ...
Please don't respond with answers to these questions -- each of them is worth several threads. Instead, ponder them, and respond with a +1 or -1 on the creation of the python-3000 mailing list. We'll start discussing the issues there -- or here, if the general sense is not to split the list.
I think this list has grown already too much activity, so I'd appreciate a split. +1 -- chris
On 3/19/06, Christian Tismer
Guido van Rossum wrote: ...
Please don't respond with answers to these questions -- each of them is worth several threads. Instead, ponder them, and respond with a +1 or -1 on the creation of the python-3000 mailing list. We'll start discussing the issues there -- or here, if the general sense is not to split the list.
I think this list has grown already too much activity, so I'd appreciate a split.
+1 -- chris
+1 (maybe even with top-posting being acceptable on the list! =) . -Brett
Guido van Rossum wrote:
I see increased activity related to Python 3000. This is great, but there is some danger involved. Some of the dangers are: overloading developers; setting unrealistic expectations for what can be accomplished; scaring the more conservative user community; paralyzing developers who can't decide whether to wait for Python 3000 or not.
I'd like to address all these issues, but it may be better to first spend some time on creating a more streamlined process. Perhaps it's finally time to introduce a separate mailing list? If people agree, let's call it python-3000@python.org. For many developers this won't make much of a difference (since they'll subscribe to both lists), but it will give people who are only concerned with Python 2.x a way to opt-out, and perhaps more importantly, it will make it clear whether any particular proposal is intended for Python 3000 or for Python 2.x.
+1 on the separate mailing list (and PEP numbers). If Barry (or another mailing list admin) is feeling energetic, some branch-specific topics on python-checkins would be nice, too. While I'm interested in tracking trunk checkins, I'm not so concerned about the exact details of what's happening on the p3yk branch. Regards, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia --------------------------------------------------------------- http://www.boredomandlaziness.org
Please don't respond with answers to these questions -- each of them is worth several threads. Instead, ponder them, and respond with a +1 or -1 on the creation of the python-3000 mailing list. We'll start discussing the issues there -- or here, if the general sense is not to split the list.
-0 on separate mailing list and PEP numbers. Because to much separation between python 2.x and python 3.x makes 3.x seem more like vaporware that will never happen (Perl 6). I would have hoped that the transition to 3.x would be evolutionary in small steps; removal of string exceptions in one major release, replacement of print with a function in the next and so on. A total redesign from bottom up in one release has a very high probability of "failing" IMHO. Or at least very annoying for end users that who to deal with two parallel and incompatible versions. The reality is that discussions about python 3000 has a high probability of being a total waste of time. I think all those of us who have for lengths argued whether lambda should stay or be dropped knows that. :) -- mvh Björn
On 20/03/06, Nick Coghlan
+1 on the separate mailing list (and PEP numbers).
If Barry (or another mailing list admin) is feeling energetic, some branch-specific topics on python-checkins would be nice, too. While I'm interested in tracking trunk checkins, I'm not so concerned about the exact details of what's happening on the p3yk branch.
+1 for the separate mailing list. Reading anything from 50 to 100 emails first thing every morning, I need all the help I can get trying to distinguish different topics. Also, as Nick said, a separate mailing list for p3yk check-ins would be nice but naturally, only if someone has the time to maintain it. Thanks, Matt
On 3/20/06, Guido van Rossum
Please don't respond with answers to these questions -- each of them is worth several threads. Instead, ponder them, and respond with a +1 or -1 on the creation of the python-3000 mailing list. We'll start discussing the issues there -- or here, if the general sense is not to split the list.
Definately very +1 on a python-3000 list.
--
Thomas Wouters
On Mon, 2006-03-20 at 19:27 +1000, Nick Coghlan wrote:
+1 on the separate mailing list (and PEP numbers).
I'm neutral on whether a new mailing list should be added, but +1 on separate PEP numbers.
If Barry (or another mailing list admin) is feeling energetic, some branch-specific topics on python-checkins would be nice, too. While I'm interested in tracking trunk checkins, I'm not so concerned about the exact details of what's happening on the p3yk branch.
If we agree on adding a separate discussion list, then I think we should have a separate checkins list. Plumbing that through the subversion machinery shouldn't be too hard. -Barry
On 3/20/06, BJörn Lindqvist
-0 on separate mailing list and PEP numbers.
You seem to be the minority so far...
Because to much separation between python 2.x and python 3.x makes 3.x seem more like vaporware that will never happen (Perl 6).
I'm actually trying to reenergize things to make sure Python 3000 *will* happen.
I would have hoped that the transition to 3.x would be evolutionary in small steps; removal of string exceptions in one major release, replacement of print with a function in the next and so on.
To the extent possible that's certainly the plan. But there are certain changes that are too hard to do without introducing a major incompatibility -- you can't add warnings for everything, especially not where the semantics of an existing API changes (e.g. range(), or dict.keys(), or int/int). Future statements don't help for some of these cases either (especially not for dict.keys() and similar, since dicts are passed between modules).
A total redesign from bottom up in one release has a very high probability of "failing" IMHO.
There's not going to be a total redesign. This is exactly the kind of misunderstanding that I would like to address by specifying a process for getting there rather than just starting to discuss features. 3.0 will be the opportunity to radically clean up mistakes I made 16 years ago, by allowing the language to change backwards incompatibly. It is *not* intended to be as an invitation to start adding random new ideas. (In fact, there's something to say for *limiting* Python 3000 to the incompatibilities, and to continue introducing new ideas in 2.x, as long as they don't require incompatibilities beyond the occasional new keyword, which can be handled with a warning and a future statement. But that's for the Python 3000 process to be decided.)
Or at least very annoying for end users that who to deal with two parallel and incompatible versions.
Well that can't be helped, really, unless you want to keep the language backwards compatible forever, can it? Some necessary changes *are* incompatible, so they are going to cause some pain during the transition. The alternative would be years and years of pain as various changes are introduced in different versions (if we did it all at once it would *be* Python 3.0 of course :-). Python 3000 hopes to ease the pain by making it all happen at once (ripping the band-aid off quickly, so to speak :-) while at the same time giving users a chance to decide *when* to do it -- since (in my vision, anyway) there will be a fair amount of maintenance applied to the 2.x branch even after 3.0 has been released.
The reality is that discussions about python 3000 has a high probability of being a total waste of time. I think all those of us who have for lengths argued whether lambda should stay or be dropped knows that. :)
Now that sounds like an insult. I hope you didn't mean it that way. Discussing Python 3000 will *not* be a waste of time. I fully intend to carry through the changes and release Python 3.0 as I have envisioned it for a long time. If anything's a waste of time, it's discussing random Python 3000 proposals without having a good process in place first. That's what I want to change right now. Barry, if you could create that mailing list, please? -- --Guido van Rossum (home page: http://www.python.org/~guido/)
On 3/20/06, Barry Warsaw
On Mon, 2006-03-20 at 13:30 -0500, Terry Reedy wrote:
"Guido van Rossum"
wrote in message Barry, if you could create that mailing list, please?
And please mirror it on gmane the same way as this list is.
Subscription requests have been made. -Barry
I assume an appropriate signup URL/address will be announced here (and added to the python.org site) when the list is created? Paul.
Guido van Rossum wrote:
respond with a +1 or -1 on the creation of the python-3000 mailing list.
+1 -- Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | Carpe post meridiam! | Christchurch, New Zealand | (I'm not a morning person.) | greg.ewing@canterbury.ac.nz +--------------------------------------+
Barry Warsaw wrote:
On Mon, 2006-03-20 at 13:30 -0500, Terry Reedy wrote:
"Guido van Rossum"
wrote in message Barry, if you could create that mailing list, please?
And please mirror it on gmane the same way as this list is.
Subscription requests have been made. -Barry
BTW: It's already archived here and searchable back to the end of August: http://www.nabble.com/Python---python-dev-f2960.html Sorry for the intrustion. Regards, Rod Morris Nabble.com -- View this message in context: http://www.nabble.com/Python-3000-Process-t1309231.html#a3506703 Sent from the Python - python-dev forum at Nabble.com.
The Python 3000 mailing list has been created. From now on let's have all discussions related to Python 3000 on that list. Please subscribe here: http://mail.python.org/mailman/listinfo/python-3000 Let's start by attempting to answer the process questions: timeline; upgrade path; library reform; implementation strategy; and feature proposal process. I'll be away tomorrow so there's plenty of opportunity to start without me. :-) There's also a list for Python-3000-related checkins. Don't subscribe to that one yet, it's very boring and uninteresting. Also, Barry hasn't done the svn magic yet. :-) BTW please be patient with inquiries about Python 3000 on python-dev. While *proposals* of new features etc. can safely be referred to the python-3000 list, *questions* on python-dev about Python 3000 (e.g. "when will it be released" or "will I have to rewrite all my code" or even "what's the fate of existing feature X") are best answered, initially directly on python-dev, eventually by referring to the appropriate PEPs once they have been written (and are on-line -- a sore point right now since the new website has broken the process for updating the on-line copies of PEPs automatically upon checkin into svn). -- --Guido van Rossum (home page: http://www.python.org/~guido/)
On Mon, 2006-03-20 at 20:06 -0800, Guido van Rossum wrote:
There's also a list for Python-3000-related checkins. Don't subscribe to that one yet, it's very boring and uninteresting. Also, Barry hasn't done the svn magic yet. :-)
We're having a small problem on the svn box which requires Thomas's intervention, so it might be a little while. -Barry
participants (12)
-
Barry Warsaw
-
BJörn Lindqvist
-
Brett Cannon
-
Christian Tismer
-
Greg Ewing
-
Guido van Rossum
-
Matthew Fleming
-
Nick Coghlan
-
Paul Moore
-
R Morris
-
Terry Reedy
-
Thomas Wouters