From owner-freebsd-advocacy Tue Aug 7 18:54:17 2001 Delivered-To: freebsd-advocacy@freebsd.org Received: from wilma.widomaker.com (wilma.widomaker.com [204.17.220.5]) by hub.freebsd.org (Postfix) with ESMTP id C4F0337B401 for ; Tue, 7 Aug 2001 18:54:08 -0700 (PDT) (envelope-from shannon@daydream.shannon.net) Received: from [209.96.179.201] (helo=escape.shannon.net) by wilma.widomaker.com with esmtp (Exim 3.22 #2) id 15UIXt-000KCr-00 for freebsd-advocacy@freebsd.org; Tue, 07 Aug 2001 21:54:06 -0400 Received: from daydream (daydream.shannon.net [192.168.1.10]) by escape.shannon.net (8.11.0/8.8.8) with ESMTP id f781prw08574 for ; Tue, 7 Aug 2001 21:51:53 -0400 (EDT) Received: from shannon by daydream with local (Exim 3.12 #1 (Debian)) id 15UIVl-0002da-00 for ; Tue, 07 Aug 2001 21:51:53 -0400 Date: Tue, 7 Aug 2001 21:51:53 -0400 From: Charles Shannon Hendrix To: freebsd-advocacy@FreeBSD.ORG Subject: Re: time to step up to the SMP plate? Message-ID: <20010807215153.B9801@widomaker.com> Mail-Followup-To: freebsd-advocacy@FreeBSD.ORG References: <003f01c11cd7$563d7860$1401a8c0@tedm.placo.com> <3B6EAD30.8161F4E5@softweyr.com> <3B6F9145.54945750@mindspring.com> <20010807121133.A73889@dogma.freebsd-uk.eu.org> <3B7024D9.55EAFBDD@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3B7024D9.55EAFBDD@mindspring.com> User-Agent: Mutt/1.3.18i Sender: owner-freebsd-advocacy@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Aug 07, 2001 at 10:26:49AM -0700, Terry Lambert wrote: > I remain convinced that the major limitations in Open Source > developement models are emergent properties of the tools that > are being used. [snip] > In FreeBSD's case, it's mostly an issue of the tools being unable > to handle multiple lines of developement, which has resulted in > the "One True HEAD Branch" phenomenon, where work not occurring > on -current is often discarded, due to the emotional investment > people have in -current. I have always wanted a tool that scaled well from just me, to a team, and did so without putting some draconian in charge of releases. If a team is well disciplined and has good leadership, the tools created generally follow and the project has little need for the kingdom-builders that infest so much corporate work I've been in. It's quite true that there isn't a lot of software to support some things that are beginning to become more of a problem: * very large projects * very complex projects * ...which last a long time * ...where team members come and go, maybe even the leaders * ...which need to maintain patches against multiple releases * ...which need discipline * ...needing to produce very, very reliable work I don't really see this as an open source vs commerical problem since there aren't many tools _anywhere_ that sucessfully handle these problems. Most good projects succeed because they have really great leaders and a small number of heroic developers, often in spite of their tools and management. Maybe if open source projects started working harder on their management, the tools would follow, but an effort to address tool issues should be made anyway. Open source isn't necessarily new, but having open projects on the kind of scale we have today is <10 years old, so it might just be we are still learning. As an industry, we seem to be very bad about not learning from our mistakes. Are there any projects out there working on tools to fix problems with scale, multiple-branches, discipline, and the now-common situation where project members come and go? > Although the company I work for seems willing to let the code back > into the main line FreeBSD tree after two product release cycles, if > only to offload the maintenance burden, and so our implementation > "wins", it will probably not make it back into FreeBSD, since the > changes are against 4.3-stable, not -current, and -current is moving > at what commercially can only be considered a reckless speed, in > directions not entirely justified by research or the Computer Science > literature (certainly, no one is citing papers or research which > justify the design decisions being made). This is a problem with a large number of projects out there. I would say that Gnome has this problem, but much, much worse. Maybe with large companies getting interested, they will help change that. Evidently Sun has recently issued a paper or something with a list of changes needed in Gnome. It's very easy to let a project get into an extended (possibly endlesss) phase of tacking on features or putting out fires. Not much difference between the two in terms of what it does to a project. Really "designing" software isn't easy, not matter how easy it might seem on simpler projects, where pure zeal might get you through it. I think a lot of the open source world still needs to learn this lesson. > So getting back to the inital point, I think it is a tools issue, > probably more than anything else, which has the emergent property > of selecting one "blessed" branch, and sending all the rest off to > Coventry. My biggest problem with the tools when working as part of a team is the difficulty in managing branches of the code base. I don't just mean a "one head" problem, I mean any kind of branching. Some concepts of branching are needlessly difficult to get your head around, and mistakes are very, very easy to make even if you have been doing it for years. CVS, for example, has done little to make the old RCS branching methods any easier to work with. Most commercial tools seem to solve development problems by beating them to death. When I was forced to use PVCS, I kept my own tree managed with some shell scripts. Like a lot of tools, it was heavy on features for the designated overlords, but few for the programmer (that worked). I have heard good things about some other tools, but often they are not universal or are too expensive for me to even afford a single user copy. That's definitely going to be a barrier to open source projects using them, and in the end I really think open source needs an open tool to use. > It seems like several commercial companies have latched onto "the > complexity defense" to throw up barriers to entry, in an attempt to > keep Open Source out of their mainstream commercial markets. I > watch the IETF very closely, and participate when I feel it's > needed, and I have to say I've recently seen some of the most > arcane and unnecessarily complex RFCs shoved through the IETF > standardization process by large companies working in concert, in > what can only be described as protectionist tactics. No doubt about it. Also, often those companies can manage the resulting projects through abuse of their labor force, not better methodology. Just about everywhere I have worked there is this pool of code-monkeys who will foolishly do 70 hour work weeks without overtime. It was fear, not tools, that enabled them to complete complex projects. As long as they can get away with that, they'll continue to stupidly reinvent the wheel and produce complexity instead of sophistication. Obviously you cannot do that to open source volunteers, nor should you want to. I think we'll find better ways, and the really good companies will too, since eventually the monkeys get ticked off and quit. Eeeeeee eeeeeee eeeeeee... :) > Hopefully, Open Source will be able to overcome its inherit > handicaps; it may be that FreeBSD switches to using Perforce, or > some other tool that gets rid of the "One True Head Branch" > phenomenon, despite the commercial use pain that such a switch > would entail (P4 is free for Open Source, but not for commercial > companies tracking an Open Source project, whose repository is > only available in P4). I would worry about committing to a tool that may or may not remain free in the future. It would be better to come up with an open solution. -- "I wish life was not so short. Languages take such a time, and so do all the things one wants to know about." - J. R. R. Tolkien ______________________________________________________________________ Charles Shannon Hendrix s h a n n o n @ w i d o m a k e r . c o m To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-advocacy" in the body of the message