Someone who worked at BBN told me they had no overhang budget for improvements, they wrote code to fixed price contracts with DARPA and 'maybe we could do that better' was impossible without a second grant.

The butterfly we had at UCL had issues. No support worth writing home for. Pre BGP routing was a bit of a disaster. Fixed size prefix tables and LRU ejection. You could time out a telnet to the USA before the login: prompt assuming you even had a route.

"Diamond" their SGML multimedia mailer was great, but a one-shot.

Smart people. Very focused on the bottom line.

(Apologies if this offends anyone ex BBN it's recollection of coffee room gossip from 1985)

G

On Sat, 12 Aug 2023, 3:08 pm Warner Losh, <imp@bsdimp.com> wrote:


On Fri, Aug 11, 2023 at 3:05 AM Paul Ruizendaal <pnr@planet.nl> wrote:
Bill Joy of CSRG concluded that the BBN stack did not perform according to his expectations. Note that CSRG was focused on usage over (thick) ethernet links, and BBN was focused on usage over Arpanet and other wide-area networks (with much lower bandwidth, and higher latency and error rates). He then in 1982 rewrote the stack to match the CSRG environment, changing the design to use software interrupts instead of a kernel thread and optimising the code (e.g. checksumming and fast code paths). It was a matter of debate how new the code was, with the extremes being that it was written from scratch using the spec versus it being mostly copied. Looking at it with a nearly 50 year distance, it seems in between: small bits of surviving SCCS suggest CSRG starting with parts of BBN code followed by rapid, massive modification; the end result is quite different but retained the ‘mbuf’ core data structure and a BBN bug (off-by-one for OOB TCP segments).

When Kirk McKusick tells  the story, UCB got a beta release (or early access) of the BBN stack. UCB was supposed to add the socket interface to whatever was there. But Bill Joy found it performed terribly (multiple seconds to connect sometimes, single digit kB over 10Mb media, etc). He optimized it to make it perform well. This was a combination of rewriting chunks and tweaking other chunks, which matches your analysis of SCCS. When BBN came back with their new, release ready stack Bill supposedly said something like 'no thanks, we already got one that works way better.' This is why much of the structure of the original BBN stack survived the rewrite: if there wasn't a big issue with them, the design and mechanisms wound up being conserved by this effort. It was too much work to move from mbuf to something else, and too little gain.

I tried to find a good link, but they are in his BSD history retrospective talks to differing degrees. Sorry I don't have an exact reference.

Warner