When old Microsoft codenames crop up in curious places
Chicago is my kind of driver model
Pour a cup of cocoa and settle down for another episode of Microsoft Storytime. Why do codenames sometimes linger on in the implementation of products?
"Chicago" was Microsoft's codename for Windows 95. During its development, Microsoft's new operating system went by several names externally – Windows 4.0 and Windows 93, to name but two – but internally, it was named for the windy city.
The successor to Windows 3.x debuted 29 years ago as Windows 95, but during its development, engineers needed a name – not least for drivers. And so, lurking in the Signature
entry of .INF
files was $Chicago$
.
The entry indicates the operating systems for which the INF
is valid, and could also be $Windows NT$
. As far as Microsoft was concerned, both values meant "All Windows operating systems." But why $Chicago$
?
On the Bluesky social media platform, veteran Microsoft engineer Larry Osterman, explained why the codename lingered.
"It's another example of how codenames leak into implementation," he wrote in a thread.
"Drivers written for the NT driver model were labeled Windows NT. Drivers for the operating system eventually known as Win95 needed a way of distinguishing them from NT drivers."
"But what do you call drivers for Win95? You can't call them Win95 drivers – that name didn't exist yet.
"So they were tagged with the codename Chicago, and from that point on the name couldn't be changed. Because otherwise it would break all the drivers."
"But wait," you say, "couldn't you add Win95 as an alias for Chicago and deprecate Chicago?"
"Sure. But why would a driver author using Chicago change? Chicago worked just fine. And this is for a piece of HARDWARE – it's expensive to update once it's manufactured.
"So Chicago remains …"
After Windows XP, there wasn't a functional distinction between the two – there weren't separate NT and Win9x kernels. But the signature names lived on.
Osterman injected a note of caution into his explanation – there might be a different reason why Chicago turned up in some configuration files – but added, "I've seen stuff like this happen again and again over the decades."
- Veteran Microsoft engineer shares some enterprise support tips
- Windows 95 setup was three programs in a trench coat, Microsoft vet reveals
- Microsoft whiz dishes the dirt on the Blue Screen Of Death's colorful past
- Porting the Windows 95 Start Menu to NT
Codenames can be risky things. As well as engineers selecting something that seemed witty at the time that runs on well past its best-before date, they can also be subject to misinterpretation. Former Microsoft staffer Ned Pyle, most recently notable for hammering a good few nails into the coffin of the SMB1 protocol, recalled an incident where a codename he'd used for Windows Server Azure Edition, Turbine, turned up in an SDK where someone mistook it for a secret Xbox version.
And the risk is not just misinterpretation. As Osterman observed, "I've used several codename devices over the years.
"And the codenames sometimes leak.
"And the codename can be used to identify the leaker :)" ®