Why does Microsoft allow its software engineers to insert obscene comments into the source code of the world's most widely used computer software?
Al Fasoldt's reviews and commentaries, continuously available online since 1983
T e c h n o f i l e
Obscenities discovered in Windows source code
Feb. 29, 2004
By Al Fasoldt
Copyright © 2004, Al Fasoldt
Copyright © 2004, The Post-Standard
Microsoft's stolen Windows source code made a big buzz on the Internet this month, where a big section of code was posted for everyone to see. But it wasn't the computer code itself that caught my attention. I was appalled by the obscenities in it.
The source code, used to generate the actual programming within Windows, apparently was stolen from a PC owned by a company that was working with Microsoft. Security experts say the stolen code gives hackers and virus writers a chance to find "back doors" into Windows.
Theft is theft, and whoever stole the Windows code should be caught and punished. But I'm just as concerned about the corporate culture within Microsoft that allows its software engineers to insert foul language and obscene comments within the source code of the world's most widely used computer software. Microsoft surely cannot tolerate such frivolousness while proclaiming its intent to make Windows safer.
Not since the revelations of Richard Nixon's foul language in the White House tapes of the 1970s have obscenities seemed more out of place. This is the source code to Microsoft's crown jewels, the Windows operating system. The source code is reviewed and re-reviewed by Microsoft's most trusted software experts before it is ever used.
Yet, based on the snippets I've seen of the programmers' comments in the code, it's a minefield of filth. What were Microsoft's managers doing when their employees turned the Windows source code into a sewer? What were they thinking when they approved this stream of obscenities?
I'll share a few excerpts of the comments, using "(expletive deleted)" where necessary. The comments are not separate from the source code -- they're part of the code itself -- but the Web site that displayed the comments had taken out the surrounding code. It did not want to help thieves and hackers distribute the code
First excerpt: "The (expletive deleted) alpha cpp compiler seems to (expletive deleted) the (expletive deleted) type "LPITEMIDLIST", so to work around the (expletive deleted) peice of (expletive deleted) compiler we pass the last param as an void *instead of a LPITEMIDLIST."
Second excerpt: "!!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!!!!!!!!!!!!!!!!DOING SO (expletive deleted) THE BUILD PROCESS!!!!!!!!!!!!!!!!"
The comments I looked at also contained references to "morons" in a number of places. Microsoft's e-mail server, called Exchange, is given a slap in this excerpt:
"We have to do this only because Exchange is a moron."
Here are two other references to "morons" among the software engineers:
"We are such morons. Wiz97 underwent a redesign between IE4 and IE5...."
"We are morons. We changed the IDeskTray interface...."
"Idiots" also abound. In the instance below, the "idiot" is a program Microsoft created:
"The specific idiot in this case is Office95, which likes to free a random pointer when you start Word95 from a desktop shortcut."
Let's be clear about this. Programmers don't have to be Shakespeare or the Pope to write code. But they have an obligation to be both businesslike and circumspect when they write comments that accompany their source code. When they write obscenities into the code, their supervisors should remove the foul language and hold the perpetrators responsible.
This obviously did not happen with the Windows source code.
Microsoft has resisted calls for it to open its Windows source code to public inspection, using the argument that hackers would gain inside knowledge, despite the apparent advantage of giving independent programmers a chance to help fix errors in the code.
But Microsoft might have been be worried that obscenities in the code would be embarrassing if they came to light.
It's too late for such worries now. It's time to clean up the code, in more ways than one.