Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:12302 comp.os.386bsd.misc:3169 Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!munnari.oz.au!sgiblab!nbn!hilbert.dnai.com!agate!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!ra.nrl.navy.mil!sundance!cmetz From: cmetz@sundance.itd.nrl.navy.mil (Craig Metz) Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc Subject: Re: Whats wrong with Linux networking ??? Date: 11 Aug 1994 13:52:16 GMT Organization: Information Technology Division, Naval Research Laboratory Lines: 71 Message-ID: <32daeg$flv@ra.nrl.navy.mil> References: <Cu8CBr.Fx@calcite.rhyolite.com> <CuBw0A.Ayy@calcite.rhyolite.com> <32bfg0$sol@ra.nrl.navy.mil> <1994Aug11.062307.29008@cs.brown.edu> NNTP-Posting-Host: sundance.itd.nrl.navy.mil In article <1994Aug11.062307.29008@cs.brown.edu>, Mark Weaver <mhw@cs.brown.edu> wrote: >In article <32bfg0$sol@ra.nrl.navy.mil>, >Craig Metz <cmetz@sundance.itd.nrl.navy.mil> wrote: >> So, you are advocating never doing anything new? > >Did you even bother reading his rebuttal? It was quite clear. >He's saying that an experienced designer/programmer is able to >determine how to improve an implementation through design ALONE >(ie, before writing a single line of new code). Once one knows >how to improve the design, THEN rewriting code can be a very good >thing. > >If you have to fully implement something to know if it's going to >be better than the first, you probably haven't spent enough time >on the design phase, and thus are likely to produce an inferior >product. >For the most part, I agree with him. There are exceptions though. >Occasionally, in research, it is necessary to try experimental >implementations because it is either impractical to predict the >behavior of a complex system or because one lacks certain necessary >statistical information. However, in these cases the new design >has been well thought out and generally promises a potentially >significant reward. >As long as you're confining yourself to the existing NFS protocol, >I very much doubt that there are implementation decisions which >require experimentation. I'm much more inclined to believe that >it's NIH -- but I can't say for sure. >That's not to say that NIH is necessarily such a bad thing. I am >a chronic sufferer of NIH myself, and it has taught me better than >any computer course. One place in which Linux is significantly different than BSD is that most of the people doing Linux are more above-average-Joe type people. The Linux community doesn't have fifty Vernon Schryvers and Van Jacobsons to design everything perfectly in advance and implement things well the first time. There is a lot of evolution involved, and there is a community learning process involved. Many of the people doing major code segments have done similar things before -- some of the people doing the networking, if I am not mistaken, had a hand in networking for MINIX, and others did packet radio. But none of them are people who have made a living for a decade doing these things. On the other hand, they do their design and development in the open, and I'm sure any useful advice (hint: ``Why didn't you just use the BSD code'' isn't particularly useful advice) from Vernon, Van, or anyone else in that category would be very well recieved in both phases. Nobody's going to hold their breath for them, though. What I really disagree with here is that many people, Vernon definitely being the loudest, keep saying that the Linux communities shouldn't even try to create and implement new designs because, obviously, the BSD code is far superior to everything else. I strongly disagree. Even if it ends up a total failure deserving of another rewrite or going to the BSD code, it is imperative that people try new designs and implementations. Most will be bound to failure or to only being a learning exercise. But, throughout the history of society, it's the crazy things that people thought shouldn't be done that have tended to advance the state of the art. I'd like to think that some such crazy things will come from the Linux community. Maybe it'll happen, maybe it won't. But if nobody ever tries crazy things like that, then there will never be advancement of the state of the art. Similarly, radical new improvements tend not to come from the experienced veterans, but from the green and even naive amateurs. Unless you're content to see only incremental improvements, you should encourage new designs and oddball ideas, because a few of them will be advancements. -Craig