From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 19 22:14:26 2012 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F8841065675; Thu, 19 Jan 2012 22:14:26 +0000 (UTC) (envelope-from john@kozubik.com) Received: from kozubik.com (kozubik.com [216.218.240.130]) by mx1.freebsd.org (Postfix) with ESMTP id 52CAB8FC08; Thu, 19 Jan 2012 22:14:26 +0000 (UTC) Received: from kozubik.com (localhost [127.0.0.1]) by kozubik.com (8.14.3/8.14.3) with ESMTP id q0JMEPdm076195; Thu, 19 Jan 2012 14:14:25 -0800 (PST) (envelope-from john@kozubik.com) Received: from localhost (john@localhost) by kozubik.com (8.14.3/8.14.3/Submit) with ESMTP id q0JMEKim076192; Thu, 19 Jan 2012 14:14:20 -0800 (PST) (envelope-from john@kozubik.com) Date: Thu, 19 Jan 2012 14:14:20 -0800 (PST) From: John Kozubik To: Doug Barton In-Reply-To: <4F172B1E.30401@FreeBSD.org> Message-ID: References: <1326756727.23485.10.camel@Arawn> <4F14BAA7.9070707@freebsd.org> <4F16A5B8.2080903@FreeBSD.org> <4F1707E6.4020905@FreeBSD.org> <4F172B1E.30401@FreeBSD.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-hackers@FreeBSD.org Subject: Re: FreeBSD has serious problems with focus, longevity, and lifecycle X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jan 2012 22:14:26 -0000 Hi Doug, On Wed, 18 Jan 2012, Doug Barton wrote: > On 01/18/2012 11:46, John Kozubik wrote: >> - mark 9 as the _only_ production release > > While I understand your motivation, I am not sure this is a workable > goal when combined with the goal that others have expressed of longer > timelines for the support of a given branch. Speaking from personal > experience, once a service is released on a given platform the costs of > migration can be significant. And if what I have is working well and > only needs the occasional bug/security fix my motivations for migration > are near zero. So the tradeoffs then become more frequent major releases > to get new features, vs. longer support for a given release branch. Agreed. What I am saying is that that "dial" is currently set incorrectly. I think we should sacrifice new features for longer lived releases. My own experience has been that all of the new features I have benefited from did not start being useful until several releases past their introduction. For instance, one or more new releases has been, at least partly, justified by ZFS ... and yet it is only now with 8.3 that I'm even beginning to think of deploying. The same is true with the excellent SMP code we all now enjoy - it took until 6 to be usable. That would suggest that the end users don't really lose on features by delaying the new releases, since those features typically aren't ready anyway. > Let's take 5 years as a reasonable time period for supporting a branch. > Waiting that long between major releases would significantly stifle the > ability to add new features that require breaks to the [AK][BP]I. It > would also inhibit our ability to do revolutionary architectural changes > such as moving to clang as the primary supported compiler. I agree. Those are costs I am willing to pay, and I think the response to this thread shows that a lot of other folks would prefer that cost/benefit setting to the current one. > What I've proposed instead is a new major release every 2 1/2 years, > where the new release coincides with the EOL of the oldest production > release. That way we have a 5-year cycle of support for each major > branch, and no more than 2 production branches extant at one time. I think that at first glance, 2.5 or 3 years sounds completely reasonable. That's a long time, right ? The problem is, nobody uses x.0 (maybe that's rational and maybe not, but it's a fact) so subtract 6 months there, and then if the project is even readying the next major, they're going to detach focus about 6 months prior, so subtract 6 months there ... the next thing you know I'm back where I am right now: getting *maybe* 1.5 total years of *real* lifecycle out of a major release. And since that's my major complaint, I have to disagree. And that is why I am advocating a 5 year lifespan, with at least 4 of those years being totally focused - no other "production" releases. > History tells us that 2 production branches is a goal we can achieve, > with the focus shifting more heavily towards only bug/security fixes in > the oldest branch after the new production release branch is cut. If we > combine that with the ideas that are being put forward about teams that > "own" a production branch, and a more frequent stripped-down release > process, I think this is a very workable model. Well, the top of my priority list is occupied with longer lived releases, so if we get that, and we're still maintaining two production releases, it's still a big win for me. But in the bigger picture I think having two production releases simultaneously, while possible, is a bad idea. You have to optimize for something, and in practice I think both lose out. This isn't a FreeBSD issue, it's a classical resources issue. There's a reason that part of this thread got hijacked with complaints about the PR process, and that has to do with PRs getting submitted and devs deciding which production release to plug them into, etc. That's just one of many symptoms of that lack of focus.