Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.007 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'subject:Python': 0.06; 'pypy': 0.07; 'alternatives': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'worse': 0.09; 'contribute': 0.11; 'python': 0.11; 'jan': 0.12; '2.7': 0.14; 'anyway': 0.14; "'from": 0.16; '(via': 0.16; '9:15': 0.16; '__future__': 0.16; 'ideal.': 0.16; 'limiting': 0.16; 'prohibit': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'roy': 0.16; 'situation.': 0.16; 'unicode.': 0.16; 'wrote:': 0.18; 'module': 0.19; 'numerical': 0.19; 'code,': 0.22; 'import': 0.22; 'install': 0.23; 'header:User-Agent:1': 0.23; '2.x': 0.24; 'unicode': 0.24; 'versions': 0.24; 'question': 0.24; "i've": 0.25; 'world,': 0.26; 'header:X-Complaints-To:1': 0.27; 'header:In- Reply-To:1': 0.27; 'idea': 0.28; 'am,': 0.29; "i'm": 0.30; '(which': 0.31; 'code': 0.31; "skip:' 10": 0.31; '3.x': 0.31; 'forces': 0.31; 'idea,': 0.31; 'allows': 0.31; 'option': 0.32; 'another': 0.32; 'community': 0.33; 'everyone': 0.33; 'subject:the': 0.34; 'could': 0.34; 'basic': 0.35; "can't": 0.35; 'good.': 0.35; 'but': 0.35; 'there': 0.35; 'doing': 0.36; 'should': 0.36; 'effort': 0.37; 'half': 0.37; 'application': 0.37; 'two': 0.37; 'somebody': 0.38; 'needed': 0.38; 'to:addr:python- list': 0.38; 'fact': 0.38; 'little': 0.38; 'moving': 0.39; 'realize': 0.39; 'to:addr:python.org': 0.39; 'unable': 0.39; 'received:org': 0.40; 'users': 0.40; 'release': 0.40; 'new': 0.61; 'received:173': 0.61; 'more': 0.64; 'within': 0.65; 'worth': 0.66; 'between': 0.67; 'smith': 0.68; 'stated': 0.69; '2.7.': 0.84; '2.8': 0.84; 'camps': 0.84; 'choices:': 0.84; 'dilemma': 0.84; 'doubts': 0.84; 'increasingly': 0.84; 'prolong': 0.84; 'received:fios.verizon.net': 0.84; 'absolutely': 0.87; 'investing': 0.91; 'imagine': 0.93 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Terry Reedy Subject: Re: the Gravity of Python 2 Date: Wed, 08 Jan 2014 15:45:16 -0500 References: <78d91$52cbf8e9$541826b9$29485@cache1.tilbu1.nb.home.nl> <4b702$52cc262e$541826b9$22985@cache80.multikabel.net> <4cbf$52cc2e82$541826b9$11761@cache70.multikabel.net> <686$52cd4640$541826b9$21896@cache1.tilbu1.nb.home.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: pool-173-75-254-207.phlapa.fios.verizon.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 45 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1389213938 news.xs4all.nl 2960 [2001:888:2000:d::a6]:58971 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:63519 On 1/8/2014 9:15 AM, Roy Smith wrote: > As somebody who is still firmly in the 2.x world, I'm worried about the > idea of a 2.x fork. While I have my doubts that 3.x was a good idea, > the fact is, it's here. Having the community fractured between the two > camps is not good. Let's say I'm somebody who wants to contribute some > OSS. I have three basic choices: > > 1) I can make it 3.x only. Now, (nominally) half of the python > community is unable to realize value from my contribution. > > 2) I can make it 2.x only. Same thing in reverse. > > 3) I can make it work on both 2.x and 3.x, which means I'm investing > more effort than I had to if it were single platform. > > Any of those alternatives is worse than ideal. Forking 2.x to create an > unofficial 2.8 release would just prolong the situation. As I've stated > before, I don't see any urgency in moving to 3.x, and don't imagine > doing there for another couple of years, but I absolutely can't imagine > moving to a 2.8 fork. This question cannot be answered generically. I think it worth noting that in part this is the same dilemma as 'how many versions to support' within each of 2.x and 3.x. Limiting code to 3.3+ allows use of the new asyncio module (via Pypy for 3.3) and the new FSR unicode. Use of asyncio or FSR features* also forces the choice you give above as neither can be backported to 2.7. * IE, support of all of unicode on all Python systems with straightforward code, without contortions. If I were giving away 'stand-alone' application code whose dependencies were available on both 2.7 and 3.x+, I would write for 3.x+ on the basis that everyone could install 3.x, and that new users are increasingly likely to only have 3.x only. I would have little sympathy for organizations that prohibit 3.x -- unless they were to pay me to. For numerical or combinatorial code, adding 'from __future__ import division' (which I think one should do anyway for 2.x code) might be the only extra work needed for option 3). -- Terry Jan Reedy