Microsoft puzzled the world on Tuesday when it said the version of Windows to succeed Windows 8.1 would be dubbed Windows 10—jumping right over version 9.

At the Windows 10 debut, Microsoft said it "wouldn't be right" to call the new version Windows 9 given its importance—a claim that pretty much no one swallowed. Even for Microsoft's notoriously bizarre marketing history skipping the number 9 entirely is just plain weird.

But now a far more plausible answer has surfaced to the question "Why Windows 10?" A Redditor named cranbourne, who claims to be a Microsoft developer (though it's unsubstantiated), says rumors inside the company point to legacy software as the main reason for shooting straight for ten.

The story behind the story: Microsoft is often criticized for being reluctant to break compatibility with legacy versions of Windows. As we'll soon see, this rumor is a very good example of the kinds of pitfalls Microsoft must consider even for relatively simple tasks like naming the next version of Windows.

If Windows 9...then what?

Many of you should be old enough to remember that there have already been two versions of Windows that began with the number 9, specifically Windows 95 and Windows 98.

To save time, some third-party Windows desktop developers used a shorthand to check the version name (not number) of Windows they were installing their app to. Instead of coding apps to check for Windows 95 or Windows 98, developers coded instructions to check for "Windows 9."

That made sense since there were only two versions of Windows that had a nine in their name to that point. It was simply an easier way to figure out which version of Windows the program was dealing with.

Here's a Java code example that's been making the rounds on Google+, Reddit, and Twitter showing just this kind of version checking scheme.

Also check out this Windows 9 search on the code-focused search engine, searchcode, which was first identified by developer Christer Kaitila. At the top of the search results you'll see a bunch of code—again, Java—checking for Windows 9, but not Windows 9.

Microsoft may have looked out at the vast catalog of legacy code and decided the easiest way to avoid an annoying rewrite for all those programs was just to skip Windows 9 and head straight for Windows 10.

Accommodating legacy code may sound ridiculous, but it's certainly a plausible explanation and, if true, it's a smart move by Microsoft to not upset its developer base or potentially mess with customers happily using legacy software.