When old Microsoft codenames surface in unusual places

Pour a cup of cocoa and settle down for another episode of Microsoft Storytime. The lingering presence of codenames in product implementation often raises eyebrows, and one notable example is “Chicago,” the internal codename for Windows 95. During its development, this operating system was known by various names externally, including Windows 4.0 and Windows 93. However, internally, it was affectionately named after the windy city.

Windows 95, which made its debut 29 years ago, was the successor to Windows 3.x. As engineers worked diligently on the new operating system, they needed a name for drivers, leading to the appearance of $Chicago$ in the Signature entry of .INF files. This entry indicated the operating systems for which the INF was valid, with $Windows NT$ also being a potential value. For Microsoft, both terms essentially meant “All Windows operating systems.” But why, one might wonder, did $Chicago$ persist?

The Origins of a Codename

On the Bluesky social media platform, veteran Microsoft engineer Larry Osterman shed light on this phenomenon. He explained that it serves as a prime example of how codenames can inadvertently seep into the implementation process. “Drivers written for the NT driver model were labeled Windows NT,” he noted. “However, drivers for the operating system that would eventually be known as Windows 95 needed a way to distinguish themselves from NT drivers.”

Osterman elaborated, “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. Otherwise, it would break all the drivers.”

One might ask, “Couldn’t you add Win95 as an alias for Chicago and depreciate Chicago?” Osterman responded, “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 the introduction of Windows XP, the functional distinction between the two operating systems faded away, as there was no longer a separate NT and Win9x kernel. Yet, the signature names endured. Osterman did inject a note of caution into his explanation, suggesting that there might be other reasons for Chicago’s appearance in some configuration files. Nevertheless, he added, “I’ve seen stuff like this happen again and again over the decades.”

The Risks of Codenames

Codenames can indeed be a double-edged sword. They often reflect the whimsy of engineers who select names that may seem clever at the time but can outlast their relevance. Former Microsoft staffer Ned Pyle, known for his work on the SMB1 protocol, recounted an incident involving a codename he used for Windows Server Azure Edition, “Turbine.” This name unexpectedly surfaced in an SDK, where it was mistakenly interpreted as a secret Xbox version.

Moreover, the risks associated with codenames extend beyond mere misinterpretation. As Osterman pointed out, “I’ve used several codename devices over the years. And the codenames sometimes leak. And the codename can be used to identify the leaker :)”

Winsage
When old Microsoft codenames surface in unusual places