From owner-freebsd-hackers@FreeBSD.ORG Tue Jan 6 11:23:53 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4F78316A4CE; Tue, 6 Jan 2004 11:23:53 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9509A43D3F; Tue, 6 Jan 2004 11:23:50 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i06JMUUd088340; Tue, 6 Jan 2004 14:22:30 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i06JMUTS088337; Tue, 6 Jan 2004 14:22:30 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 6 Jan 2004 14:22:29 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Paul Robinson In-Reply-To: <3FFAF1D4.4000709@iconoplex.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-hackers@freebsd.org cc: freebsd-chat@freebsd.org Subject: Re: Where is FreeBSD going? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 19:23:53 -0000 On Tue, 6 Jan 2004, Paul Robinson wrote: > And therein lies a problem. The only thing any of the committers cares > about is what they think. Got a problem? Submit a patch. Don't like the > way things are done? Submit a patch. Don't like how such-and-such a util > works? Submit a patch. While it's clearly the case that many people have met with the "submit a patch" response, that's probably more a property of time constraints from developers than a lack of desire to work with users to produce a system users want. Many FreeBSD developers find FreeBSD of particular appeal because it gives them a chance to produce a system they've always wanted to use: one that addresses the frustrations of many other systems out there. For example, a fair number of FreeBSD developers have their time funded by Internet Service Providers who appreciate the scalability, performance, and mangeability of FreeBSD when deployed on tens of thousands of machines. They bring changes to FreeBSD regularly reflecting those needs. Many FreeBSD developers do hang out in the public IRC channels and try to answer questions, hang out on questions@, stable@, etc. Sometimes, you post a question and get the answer "That doesn't work yet, but we're looking for a few good developers...", but frequently, you also get a patch and "If you could try this and see if it helps with your problem..." Obviously, the harder question you ask, the more likely you'll get "We're looking for a few good developers..." :-). The marketting department of Microsoft may be able to keep their less user-friendly developers from talking to their users, but many people would argue that one of the greatest benefits of open source is increasing that communication, even if it means the unwashed developers talk to real people once in a while. A great many developers pick FreeBSD to work on because they're quite aware of what users of other systems have to deal with, and want to produce a system people can use. But no one is paying the bills for hand-holding, so unless people step up to do the hand holding (thanks greatly to those who do!) it's not going to happen. We'd appreciate your help in making it happen, if that's something that strikes you as done wrong or poorly. As with any commercial software development enterprise, we also have limited resources, but unlike a commercial software development enterprise, we can help involve a much larger community in building and supporting a product. > Personally, unless the madness around SMP, the 5- branch and various > other bits are ironed out, I can see my next server deployment making > use of DragonFly. At least they listen to people who don't submit > patches due to the limitations of time/skill/whatever. No, I'm not a > Matt fan - I like and respect most on -core and others. I just think 5- > has got... well, it's all a bit out of hand really, isn't it? The reality is that operating system development takes a lot of time, energy, and expertise. We can't pull a next generation operating system out of hats overnight -- it takes literally hundreds of man years of work to do. It's not something one, three, or even ten people can do alone. FreeBSD 5.x remains a work in progress, but has made a lot of progress in the right direction. I think what you think of as "madness" is a necessary step on the path of a major engineering project. I can't think of any major project I've seen where at some point, people haven't taken a pause for a breather saying "Oh my god -- what have we gotten ourselves into". On the other hand, I think referring to it as "madness" dismisses years of hard work by a great many competent and dedicated developers. A year ago, M:N threading was extremely far from productionability -- today, it's on the cusp of being there, with higher performance and increasingly high reliability. It's almost ready for 5-STABLE. There's substantial on-going work on SMP, with a huge investment of time and energy into the network stack, VM system, VFS, process support, scheduling, etc. These are areas where the primary feedback today is going to be "stability and performance", and believe me, we're listening. All the FreeBSD developers I correspond with regularly run FreeBSD 5 on their desktops, on their servers, in their appliances, etc, to make sure we keep shaking out problems. Many companies have production products based on 5.x, and their feedback (and contributions) have been valuable. We've also invested substantial efforts in areas like compiler toolchains, standards compliance, not to mention new features. 5.x is, at long last, starting to land; it will take about one more minor version number to get there, we believe, but it is in dramatically better shape than it was a year or two ago. As I said above: writing operating systems isn't a small task. Companies invest tens (hundreds) of millions of dollars writing and maintaining operating systems, and (net across developers, if you actually bill for the volunteer hours), you're probably talking about the same. I think it's disingenous to dismiss the level of work put into FreeBSD 5.x -- this stuff is hard, folks! > All they had to do was ask a few sysadmins and end users what they > thought. All of this could have been avoided nearly 2 years ago. FreeBSD consumers asked for high performance threading, better SMP support, features like NFSv4, the ability to run without fsck, better security, NSS, and better C++ support. FreeBSD 5.x provides many (all?) of those. The biggest problem with FreeBSD 5.x was biting off a lot, not biting off enough. We looked at the large set of desirable tasks, and to some extent gotten bitten by the change in economy. It's easy to look back in retrospect and say "well, maybe a bit more investment here, and a bit less there", but it's a lot harder to make the changes after hindsight kicks in. The FreeBSD Project has changed the way we've developed as a result of lessons learned: we aren't introducing major new features at this point, with almost all major development in the "honing" department, currently. And that's chafing too: many FreeBSD developers like working on FreeBSD as an opportunity to create Big New Things, and want to keep doing that at a time where we're putting the breaks on Big New Things to produce a productionable result. But I guess that acts as motivation to get the current set of tasks in the air landed well :-). Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research