From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 17 23:50:50 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id CF4BD1065695; Tue, 17 Jan 2012 23:50:50 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from 172-17-198-245.globalsuite.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 526391521F0; Tue, 17 Jan 2012 23:50:39 +0000 (UTC) Message-ID: <4F16094E.2080108@FreeBSD.org> Date: Tue, 17 Jan 2012 15:50:38 -0800 From: Doug Barton Organization: http://SupersetSolutions.com/ User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20111222 Thunderbird/9.0 MIME-Version: 1.0 To: Adrian Chadd References: In-Reply-To: X-Enigmail-Version: undefined OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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: Tue, 17 Jan 2012 23:50:50 -0000 First, let's do away with the whole, "If you step up to help, your help will be accepted with open arms" myth. That's only true if the project leadership agrees with your goals. We also need to take a step back and ask if throwing more person-hours at the problem is the right solution, or if redesigning the system to better meet the needs of the users *as a first step* is the right answer? On 01/17/2012 15:01, Adrian Chadd wrote: > .. I'm replying to the OP because honestly, this thread has gotten a > bit derailed. > > If you'd like to see: > > ... more frequent releases? then please step up and help with all the > infrastructure needed to roll out test releases, including building > _all_ the ports. A lot of people keep forgetting that a "release" is > "build all the ports for all the supported platforms". Does it need to be? I've been pushing a long time now to have a branched ports tree. If we have a "stable" version of the ports where only known-good changes are promoted then that frees us up quite a bit to redefine what a "release" is. > ... longer lifecycle? Then please step up and contribute patches for > features for your favourite branch. As a developer doing this in my > spare time I'm only really working on new features on -HEAD and maybe > backporting fixes to 9.x. What _I_ would like is someone to take on > the task of testing and backporting net80211/ath fixes to 8.x and 7.x. So you want to do all the fun stuff, and have someone else do your scut work? Good luck with that. :) Maybe what we need to do is redefine what it means to be a FreeBSD committer. "From now on, your commit bit comes with XYZ privileges, but also ABC responsibilities." Sure, we'd lose some people, but what would we gain? Also, your premise is flawed. We (speaking generally) suck at supporting more than one -stable branch. We *really* suck at supporting three. Six months ago when the machinery was just beginning to spin up for 9.0-RELEASE I tried to get the PTB to reconsider. I was told that my concerns were invalid because it was basically ready to go as is. The plan I laid out at the time was to have no more than 2 stable branches extant at any given time. Lengthen the periods where each stable branch is supported, and terminate the oldest one when the newest one is released. > ... longer branch lifecycle? Same as above. None of the developers are > going to reject bugfixes and backported drivers to a legacy, stable > branch. We may be a bit against the idea of porting entire new > subsystems to legacy, stable branches - but if there's a good enough > reason _and_ it's been tested _and_ there's a need for it - _I_ > wouldn't say no. But committers already fail to MFC *existing* bug fixes to stable branches (even ones they generated). This is especially true for the older branches. So how is the idea of users generating more new bug fixes going to help? What I'd like to see us do is to rethink what a "release" is. In particular, I'd like to see us start to do more point releases (e.g., 8.2.1) which involve only updates to the base, and don't involve the whole ports and doc machinery. This would combine the current patch releases done for security purposes. Ideally of course we'd have a branch were known-good stuff was merged from the -stable branch, so an 8.2.1 wouldn't (necessarily) be what's in stable/8 at the time. However I'm not sure we have the personnel for that, so even doing stable/8 -> 8.2.N would be an improvement over what we have. One area where user involvement *would* be really welcome here is in the area of regression testing. It would be much easier to cut a point release if we had a series of regression tests, submitted by users so as to reflect real world conditions, that we could run against the new version. That way we could at least be sure that we didn't break anything that current users of that branch are relying on. Several people have mentioned 3x/year as a good release schedule, I don't see any reason why we couldn't do point releases in that timescale. The other thing I think has been missing (as several have pointed out in this thread already) is any sort of planning for what should be in the next release. The current time-based release schedule is (in large part) a reaction to the problems we had in getting 5.0 out the door. However I think the pendulum has swung *way* too far in the wrong direction, such that we are now afraid to put *any* kind of plan in place for fear that it will cause the release schedule to slip. Aside from the obvious folly in that (lack of) plan, it fails to take into account the fact that the release schedules already slip, often comically far out into the future, and that the results are often worse than they would have been otherwise. Meta-note, there is going to be a strong knee-jerk reaction to that last paragraph to the effect that I'm attacking individuals who are involved in the release process. I'm not. The *system* is deeply flawed, so the heroic efforts of those doing their best to make that system work are in vain. That's tragic for all concerned, including those who've given so generously of their time and effort. I tried to make the point back in June that there was no reason to cut 9.0-RELEASE yet because we don't have solid support for clang in either the base, or ports (amongst several other reasons) and that the delay for getting that working would be a great "excuse" for slipping the support schedule for 8 so that we could release 9.0 not-too-long before 7 was about to go EOL, and make the 8/9/10 release schedules fit the new, (hopefully) more rational model. Perhaps we can reconsider that idea for 10.0. Doug -- It's always a long day; 86400 doesn't fit into a short. Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/