Date: Thu, 18 May 2000 20:32:17 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: nbm@mithrandr.moria.org (Neil Blakey-Milner) Cc: tlambert@primenet.com (Terry Lambert), rsidd@physics.iisc.ernet.in (Rahul Siddharthan), mellon@pobox.com (Anatoly Vorobey), chat@FreeBSD.ORG Subject: Re: Salon article on BSD Message-ID: <200005182032.NAA21198@usr08.primenet.com> In-Reply-To: <20000517214857.A80602@mithrandr.moria.org> from "Neil Blakey-Milner" at May 17, 2000 09:48:58 PM
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Well, whatever suits him -- and linux has improved phenomenally in the > > > last 3 years, ie since its 1.2 days, so he must be doing something > > > right. One can't say what *would* have happened if he'd done things > > > differently. > > > > If he had adopted a constraining tool like CVS, Linux would have > > forked on no less than 3 (mathematically) documentable occasions. > > What do you mean by "constraining"? It constrains you to a single line of developement. For example, if FreeBSD wanted to work on a PPC port, there is a single line of developement called "current". The work could not occur in the "current" source tree, since it would be unacceptable to those who hold the keys, who are people not using PPCs, by definition. Like the Alpha port, it would have to occur in a vacuum, when the current tree was relatively quiescent, and be followed by the risk of non-apporval, and the requirement of a heroic integration effort (such as we saw on the part of the Alpha team). Really, you want "The FreeBSD" to be an agregation of lines of developements. This would permit, for example, multiple competing implementations of some subsystem to be worked on under source code control, without them conflicting. CVS as it currently stands does not permit this. One way to address this might be to allow importation via CVSup to occur onto a vendor branch in the workers local repository; then a hierarchical arrangement of CVSup clients and servers could be made to support multiple lines of develeopement. See http://www.bitkeeper.com/ for more details on multiple lines of developement (which they call "LODs"). Perforce also supports this concept, as do the CASE tools source code control components I have used on HPUX and VMS systems. Bottom line: adequate tools which don't themselves impose any irrational constrainsts still cost real money. > Linus's stated objection to CVS is that it leads to "oh well, > put it in, if it breaks, back it out", which seems not to > imply constraint. This is a rationalization. There are good reasons to avoid CVS (as opposed to avoiding all source code control systems), but this rationalization is not one of them. Rationalizing this way is a sign of intellectual laziness. Given the venue for the article, that's potentially excusable (though I personally would not have answered off the cuff, as I would consider it duplicitous). > Linus's personal multi-tasking abilities (as impressive as > they seem to be) are more likely to constrain development (if > that's what you mean) than a CVS tree would. > > Or do you mean Linus's non-use of CVS has led to no forks > because it's impossible to keep up with the changes and what > the purposes of them are? No. Linux has nearly forked 3 times that I can document, and has been builting towards such an event at least 5 additional times. It's amazing to me that one could be a member of a society, yet not study the properties of that society with all of the tools at ones disposal. Even as someone who has only contributed to Linux under various pseudonyms or by forwarding code through other people, and thus a relative outsider, I definitely am aware of "the Alan Cox tree" and "the GGI incident" (as examples). > I imagine that a CVS tree (of the Linux kernel) would help a lot > in keeping concurrent development of an alternate kernel with an > increased number of committers (in the alternate kernel). I imagine it would fracture the Linux community into at least 5, perhaps more, pieces. The Linux community, as the Internet's largest society/organism to date (and thus worthy of scholarly study for that reason alone, if no other) has outgrown the point at which CVS, as it currently exists, would constrain its growth. If Linus were to shove CVS down people's throats, the community would immediately fracture based on the ability to track the pieces they wanted from "The One True Linux", and throw out what they considered extraneous crap. Right now, everyone gets the same thing, and opinions about what is crap or isn't really don't matter one way or another toward fracturing th community. It is only when a significant piece of work, such as GGI, remains unacknowledge and/or unintegrated, that tensions rise. In the three most important incidents I have documented, Linus has caved in on every one of them, rather than face the spectre of schism. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005182032.NAA21198>