The Real Origin of Cisco Systems (1999)
88 points
3 days ago
| 7 comments
| tcracs.org
| HN
ndiddy
1 day ago
[-]
Here's a complimentary article from Bill Yeager's perspective: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1407787

> I asked Len why he wanted my source code, and he told me that facilities wanted to take over the router/EtherTIP’s development because I couldn’t dedicate myself to full-time support of the system I had invented and developed with help from Mike and Benjy over the past five years. This request seemed reasonable to me, so I gave him the access he requested and thanked him for his willingness to maintain and improve the software. I didn’t know that Len and Sandy Lerner had incorporated Cisco Systems a year earlier or that Len might have had an ulterior motive: to do a rewrite and then copyright the sources as Cisco Systems’ intellectual property.

> I learned about Cisco a year later when I was called into Stanford’s legal department and told to bring a hard copy of my sources. Needless to say, I was a little nervous. Upon arrival, I was greeted by Stanford lawyer Iris Brest, who explained Cisco’s existence and Len, Sandy, and Kirk’s involvement. She then asked me to compare the Sumex-AIM sources with the EE sources that Kirk had written and tell her if I thought the work was derivative. Most of the EE sources could best have been described as plagiarized or paraphrased: variable names were changed, subroutines were renamed, and large data structures were broken into smaller ones, but identical parts abounded throughout the code. Kirk had added new features and removed others, but the “derivation” was obvious even to Iris who, from what I could tell, didn’t have a technical background. She thanked me, kept my sources, and sent me on my way.

> Just to be clear, I didn’t object to the formation of Cisco Systems or its use of the code I had invented — in fact, I was pleased that work of which I was extremely proud could be used in this manner. However, I did object to the theft of intellectual property implicit in Cisco’s copyright on the sources.

reply
ben7799
1 day ago
[-]
I worked at Cisco 1999-2001, it was my first job out of school. I worked in a group that did network management software, so we weren't touching iOS.

But it was kind of wild at that point there were still company mailing lists where these old heads would argue about iOS internals and flame each other in front of the whole company.

We still had a non-web bug tracking system while I was there. It was an interesting era! The product I worked on did have a web interface as essentially its only UI. We used Java, at some point we used MS Visual J++, and this was before JSPs existed. We used some proprietary templating engine to generate HTML.

reply
gjf
1 day ago
[-]
Oh god, it wasn’t ASDM for the ASA was it? Always one Java update away from not being able to manage your firewalls
reply
bmenrigh
1 day ago
[-]
Similar to this, RetroBytes (the Youtube channel) did a video on the origin of Cisco recently which is worth a listen at 2x https://youtu.be/NXTdwzjiW7E?si=bCVpmEkyf1UUCfyR
reply
burnte
1 day ago
[-]
I just watched that, fantastic video.
reply
pdxandi
1 day ago
[-]
I'm 10 minutes in and find the narrator is a bit hard to understand. There isn't much in the video beyond the audio, at least in the first part, so maybe the storytelling improves. I'll keep watching later.
reply
bmenrigh
1 day ago
[-]
Yeah the actual video content portion of his videos varies a lot, but this one is basically just an essay that can be listened to.

As for his British accent, I find him understandable at 2x speed, but there are many others I can only listen to at 1.5x

reply
takinola
1 day ago
[-]
Apparently, the relationships between the executive leadership at Cisco (especially Len and Sandy) were ... volatile. I took a class from one of the top execs in the early days and he had so many colorful stories about his time there.
reply
burnt-resistor
22 hours ago
[-]
At Stanford in a non-academic IT department, not long after this was published, we had to beg for departmental firewalls to protect laptops, desktops, and "servers" (but not so much for proper servers). Every machine was essentially on the upper-cased then Internet with a globally-routable IPv4 with almost no Layer 2 IP ACLs. That didn't work so well with negligently-vulnerable Microsoft OS and software. The plus side was that Cisco gear was the standard networking stuff and relatively low cost for hardware and feature packs. Curiously, the housing draw (lottery) was run on a BSD box. About half of the department ran on top of FileMaker Pro (FMP), which ran on Xserves. It was the Windows 2000 and XP/2003 Server machines that were the biggest pains.
reply
jeffrallen
1 day ago
[-]
In case people are suspicious/wondering about this story, it is credible to me. I worked with Bill Yundt and he told the story back in 1996. I've also seen the absolute lowest layers of Cisco IOS for 68000's and it certainly appears to come from that era of computing. One especially surprising and interesting thing to me is that it uses cooperative multitasking, not preemptive. This is how systems were written in those days, based on the limitations of early microprocessors. (At the same time in the industry, protected mode multiprocessing existed. But it was in big iron, controlled by IBM, Cray, Unisys and CDC. And those are all of the has-beens now: because technologies like microprocessors, even with their limitations, took over the industry.)
reply
burnte
1 day ago
[-]
I still remember when preemptive multitasking became big in the X86 world in the late 80s/early 90s. It was a real sea change in OS stability. DESQView was fantastic but real preemptive multitasking was amazing. It was why I stayed on OS/2 until 1996 or 1997.
reply
rkagerer
1 day ago
[-]
I still like it to this day for microcontroller projects.

It's not that difficult to write code that iterates in chunks and yields now and then. Of course you want to avoid non-finite I/O calls (make use of timeout parameters where available).

Things that need low latency (eg. counting encoder ticks) are still interrupt driven (or handled by dedicated peripherals).

reply
myrandomcomment
1 day ago
[-]
The 68K lacked an MMU, so cooperative multitasking was really the only way to do it. Same reason MacOS and AmigaOS were cooperative multitasking.
reply
vidarh
1 day ago
[-]
The only thing you need to achieve pre-emptive multitasking is interrupts and the ability to cleanly save the current CPU state.

The 68k lacked the ability to resume with full state intact after a bus fault, which made an off-chip MMU painful (but there was one - the MC68451[1]), but this doesn't affect the ability to do pre-emptive multitasking at all.

AmigaOS famously did have preemptive multitasking - we used it to mock PC and Mac users with for years.

[1] https://en.wikipedia.org/wiki/Motorola_68451 Note that to do full virtual memory with a 68k, Motorola proposed using a second 68k to handle page faults due to a design flaw:

https://retrocomputingforum.com/t/correcting-errors-by-dupli...

reply
steve1977
1 day ago
[-]
There were also alternatives to the Atari ST TOS which feature preemptive multitasking, like

https://en.m.wikipedia.org/wiki/MagiC

and

https://en.m.wikipedia.org/wiki/MiNT

reply
monocasa
1 day ago
[-]
You can preemptively schedule without an MMU just fine, just like there's nothing stopping multiple threads in the same address space from being preemptively scheduled.
reply
spogbiper
1 day ago
[-]
Microware OS9 implemented preemptive multitasking on the motorola 6809 without an MMU back in 1980. You don't have memory protection without an MMU, but you can have preemptive multitasking.
reply
mikepavone
1 day ago
[-]
As another commenter pointed out, you can do pre-emptive multitasking just fine without an MMU. And as it turns out AmigaOS had just that. All you need for pre-emptive multitasking is a suitable interrupt source to use for task switching.

What it did not have was memory protection or virtual memory. You do need an MMU for those.

reply
mben
1 day ago
[-]
AmigaOS had preemptive multitasking.
reply
owenthejumper
1 day ago
[-]
Yet another example of how government research drives modern innovation, and how the latest assault on it by the Trump administration will wipe out decades of innovation in the US
reply
themafia
1 day ago
[-]
The irony is that the thing the government was trying to fund, use of AI in medicine, was almost entirely unrealized by this project.

It's also apparent that Xerox's involvement and willingness to share it's new inventions in Ethernet with a University eager to form the early Internet played a huge part in driving this outcome.

It seems almost completely incidental that we got an early implementation of a protocol router out of this. The government certainly wasn't trying to create one and I'm sure if they had actually involved themselves in that effort we would have gotten something far worse and far more costly.

Since the administration wasn't capable and didn't create the innovation in the first place you probably don't need to worry about later administrations removing it.

reply
owenthejumper
1 day ago
[-]
Many innovations come from unrelated projects
reply
mhurron
1 day ago
[-]
> Yet another example of how government research drives modern innovation

As the article starts, that's not how Cisco, and by extension a lot of Cisco employees, tell it. To a whole lot of people, Trump is just clearing out lazy hangers on who are preventing real innovation.

Cisco's story is two people working alone in their garage creating IP routing.

reply
knome
1 day ago
[-]
https://www.computerhistory.org/revolution/networking/19/375...

this, too, mentions Yeager as the initial developer, and that CISCO licensed and enhanced his work from Stanford.

reply