Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3F579F2E6 for ; Wed, 10 Apr 2013 00:17:40 +0000 (UTC) Received: (qmail 33537 invoked by uid 500); 10 Apr 2013 00:17:39 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 33472 invoked by uid 500); 10 Apr 2013 00:17:39 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 33460 invoked by uid 99); 10 Apr 2013 00:17:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Apr 2013 00:17:39 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of wendallc@83864.com designates 209.85.192.173 as permitted sender) Received: from [209.85.192.173] (HELO mail-pd0-f173.google.com) (209.85.192.173) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Apr 2013 00:17:35 +0000 Received: by mail-pd0-f173.google.com with SMTP id v14so3779578pde.32 for ; Tue, 09 Apr 2013 17:17:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=83864.com; s=google; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=oVW3EI4KeTRtD1anPYTwAh9Ya10LgQBayRtIRp/lqUs=; b=anDHm4qOY0nphCf8RbzKqjcQz7gyKVGSFtNEqOx+QiujXtz+RY95QHAA81hlT2XVYu gfGTUH6iNFQQYTttlFxXcNY48qvC4bkVXudtOePy7LcYTeI0WQ/ACQ7uHOvG+yCFvAI/ b2dD80NgBs39oqA+V0zSIlMCs9iPfa/KO1vLw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:sender:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=oVW3EI4KeTRtD1anPYTwAh9Ya10LgQBayRtIRp/lqUs=; b=hdYonfHQaIDf1BrjX/h6m/gzjGeKg4ypfvjvgQgQwUBAgrlai9UzlFazTNCWRCWPyb egp+yQb2ZbcUu7y71gBZWLyyQ73yNG+BtIZb2ItRxx/DbkipqQ4NRYHb2mNU03mvt8Kw RVVnCoWsVOPbzCHtZLlzMkOmDcgLgYlYfP8O8fVEP9VLEZHTFOE06956BicmVoeQjPT0 Y5GcmEo53C9wSPJxNIDffLH79O/SUK0Ca1wQtrabAgwMHMDIbgfO5Jw50Bdnyn07l6yK QXZncFV/qpBw04a73qbm5Egu61BSNflyGa1/7JWGvFdTrgGkrZ+QzBmw/6uEiSZt78t9 heSw== X-Received: by 10.68.92.196 with SMTP id co4mr5078508pbb.121.1365553033595; Tue, 09 Apr 2013 17:17:13 -0700 (PDT) Received: from wlaptop.localdomain (c-67-170-132-85.hsd1.or.comcast.net. [67.170.132.85]) by mx.google.com with ESMTPS id 7sm3996061pbl.39.2013.04.09.17.17.11 (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 09 Apr 2013 17:17:12 -0700 (PDT) Sender: Wendall Cada Message-ID: <5164AF86.7030701@apache.org> Date: Tue, 09 Apr 2013 17:17:10 -0700 From: Wendall Cada User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 MIME-Version: 1.0 To: dev@couchdb.apache.org Subject: Re: The BigCouch merge, CouchDB 2.0, 3.0 and later References: <6760C936-9099-4031-9844-650F46A18341@apache.org> <515A1AD2.1060808@apache.org> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Gm-Message-State: ALoCoQmMAz5lO1rpqMaFaZSdah/58x4BTp1/eoERNlfhxGwJsCdweh12BOUEbAyAmCyVBhaXC2g8 X-Virus-Checked: Checked by ClamAV on apache.org Thanks Noah, this certainly addresses the semantic versioning issues, and support windows for feature releases, however, I'm still unclear about some other points. How long do major branches get support? Are we forever stuck porting security fixes to 1.0.x, or does this get retired at some point? I can see a path moving forward, but what is unclear is how long we will support older branches. What policy internally is in place that determines what fixes get back ported, and what just stays broken? In my day job, where we use CouchDB heavily, I've been able to update our application frameworks to the latest CouchDB release with almost reckless abandon. The api has changed very little (which is a wonderful thing), allowing for mostly painless upgrading. Personally, I find that requirements changing and updating at a faster pace than distributions is more often the limiting factor. This should be reflected in the semantic versioning as well. For example, say we decide that 1.3.1 needs spidermonkey 17, and spidermonkey 1.7 support is dropped, this isn't a patch, and could very well be considered a breaking change. Pretty much any major external requirement update can pose a potentially breaking change for packagers where they may be unable to update to the latest version based on factors outside of their direct control. Wendall On 04/09/2013 03:37 PM, Noah Slater wrote: > I think our roadmap process answers this: > > http://wiki.apache.org/couchdb/Roadmap_Process > > Let me know if you think we need something more than this... > > > On 2 April 2013 00:40, Wendall Cada wrote: > >> One item missing from this is support of existing versions. I'm not sure >> if a timeline exists for this, but it should be well understood what the >> support window will look like for old versions. >> >> Wendall >> >> >> On 03/30/2013 12:29 PM, Jan Lehnardt wrote: >> >>> Hi all, >>> >>> It is time to think about how to square the upcoming changes to CouchDB >>> and the next releases. >>> >>> Robert Newson and I hashed out this plan: >>> >>> 1. Compile a list of API changes between now and after the BigCouch merge >>> (https://issues.apache.org/**jira/browse/COUCHDB-1756 >>> ). >>> 2. Ship CouchDB 1.4.0 with a `X-CouchDB-Deprecated: true` header for >>> features that will go away. >>> 3. Ship CouchDB 2.0.0 with the API changes done, so it is API compatible >>> with the BigCouch merge. >>> 4. Merge BigCouch and ship that as 3.0.0. >>> >>> Spread over our new quarterly release schedule: >>> >>> Early April: 1.3.0. >>> Early July: 1.4.0. With API deprecation warnings. >>> Early October: 2.0.0. With API changes. >>> Early January: 3.0.0. With BigCouch. >>> >>> Alternatively, we can ship 1.4.0 and 2.0.0 concurrently, so the BigCouch >>> merge work doesn�t get a chance to get stale: >>> >>> Early April: 1.3.0. >>> Early July: 1.4.0. With API deprecation warnings. >>> Early July: 2.0.0. With API changes. >>> Early October: 3.0.0. With BigCouch. >>> >>> Monthly minor- and patch-level-versions will continue as usual. >>> >>> If we want to ship new features before BigCouch but after 1.4.0, we can >>> roll 1.5.0 / 2.1.0 before 3.0.0. >>> >>> Anything up to the BigCouch merge should be trivial, so we can be >>> confident we get that right (modulo forgetting to deprecate something). If >>> the actual technical issues to get BigCouch merged aren�t done by October >>> in the way we are satisfied with shipping, we can wait to ship 3.0.0 until >>> we think it is ready. >>> >>> In an ideal world, if 2.0.0 and BigCouch merge are API compatible, we >>> *could* ship BigCouch in say, 2.5.0 or something, but I think the >>> underlying things change enough to warrant a full major version increase. >>> >>> The only open question I�d have is how to square that against the ongoing >>> work on bringing rcouch in. I hope Benoit can comment on this. >>> >>> Bikeshed away! :) >>> >>> Jan >>> -- >>> >>> >