Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed8.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.006 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'cc:addr:python-list': 0.09; 'impose': 0.09; 'prevents': 0.09; 'subject:dependencies': 0.09; 'subject:module': 0.09; 'python': 0.10; '2.7': 0.13; 'assumptions': 0.16; 'declaration': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'letters.': 0.16; 'number?': 0.16; "someone's": 0.16; 'subject:issues': 0.16; 'utterly': 0.16; 'wrote:': 0.16; "shouldn't": 0.18; 'creates': 0.18; '2015': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'so.': 0.22; 'am,': 0.23; 'component': 0.23; 'header:In-Reply- To:1': 0.24; 'developers': 0.26; 'chris': 0.26; 'compatible': 0.27; 'fri,': 0.27; 'message-id:@mail.gmail.com': 0.27; 'idea': 0.28; 'declared': 0.29; 'other,': 0.29; 'stated.': 0.29; 'them?': 0.29; 'strongly': 0.30; 'point': 0.33; 'add': 0.34; 'received:google.com': 0.35; 'done': 0.35; 'exist': 0.35; 'generic': 0.35; 'but': 0.36; 'should': 0.36; 'subject:: ': 0.37; 'expect': 0.37; 'say': 0.37; 'release': 0.37; 'itself': 0.38; 'version': 0.38; 'mean': 0.38; 'why': 0.39; 'does': 0.39; 'some': 0.40; 'your': 0.60; 'skip:u 10': 0.61; 'provide': 0.61; 'no.': 0.62; 'back': 0.62; 'jul': 0.72; 'careless': 0.84; 'catastrophic': 0.84; 'chrisa': 0.84; 'to:none': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=+xC7hrelRePcMCBNOEE6mhd8Bqn1zmhyNVabQs6Czw0=; b=eKx4vib8FdIvPDdwaANc2BeKkwUsreh4YNDJbckfcWBKvDptYeXGzVGgP17quuRKJt 3C5elEAmrvfuM7yu1Q/HxQ/U21GjbtYVyqdTQ7pUE4rX9tpGJy4k0Kgc9jOowXslk4LV ZmSqkDSE81l4zVivLBQOdv3LnXR3yeD+6kxWpUBop7auhrYXSKp/vPM8b8I4tOGiMWrS ZsThXR0XYeBOLPLhflylipCu2dNgnvogC2PNNzDflQhzHT+3vmRZjuQxJppNumfqSLt3 tugE85MD7Cea2QsVf5YLLVCICQ4ONp8lJwR4PmTcC7fvqH/aFG2/7cQ4+pZS5RaPEBGN f6oA== MIME-Version: 1.0 X-Received: by 10.50.122.65 with SMTP id lq1mr2351080igb.56.1436476816302; Thu, 09 Jul 2015 14:20:16 -0700 (PDT) In-Reply-To: <87oajl6nol.fsf@elektro.pacujo.net> References: <10ADE079-3F0F-4EA8-9312-06F7FCDB6130@free.fr> <85B68343-326C-4768-A236-3459299AD129@free.fr> <87wpy96pbd.fsf@elektro.pacujo.net> <87oajl6nol.fsf@elektro.pacujo.net> Date: Fri, 10 Jul 2015 07:20:16 +1000 Subject: Re: module dependencies issues From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ 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: 31 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1436476819 news.xs4all.nl 2953 [2001:888:2000:d::a6]:38267 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:93611 On Fri, Jul 10, 2015 at 7:11 AM, Marko Rauhamaa wrote: > Chris Angelico : > >> In general, I would expect that B 1.1 is backward-compatible with B >> 1.0, unless otherwise stated. Why must it be declared in any way other >> than the version number? > > To make it explicit. The generic component system shouldn't impose > (m)any assumptions on version numbering. Version numbers can contain > digits, punctuation, letters. Comparisons should be done the way "ls > -v" and "sort -V" do it. > > Whoever creates B-1.1 ought to make it backward-compatible, but he > should also say so. The majority of developers are careless about > backward-compatibility; having the component system make wishful > assumptions will lead to catastrophic consequences. I strongly disagree. All your idea would do is create a massive compatibility matrix, which would itself become utterly unmaintainable. It's all very well to ask for a declaration that 1.1 is compatible with 1.0, but what happens when you add in 1.2 and 1.3, and then add some point releases on all of them? Python 2.7 is up to 2.7.10; does every one of them need to declare backward compatibility with every other, and with every point release of 2.6, and 2.5, and how far back do we go? And just how compatible does it have to be to get a tick? EVERY change can break someone's workflow - XKCD 1172 comes to mind - so does that mean that a single bugfix prevents the compatibility mark? No. Version numbers exist to provide a granularity to the compatibility concerns. ChrisA