Bonum Certa Men Certa

[Resurrected] 'We Are Morons': A Quick Look at the Win2k Source

The last copy of this article is in the Wayback Machine (the original was removed not long ago), so it's outside of search engines' reach. We're fixing that today.




Overview


Several days ago, two files containing Microsoft source code began circulating on the Internet. One contains a majority of the NT4 source code: this is not discussed here. The other contains a fraction of the Windows 2000 source code, reportedly about 15% of the total. This includes some networking code including winsock and inet; as well as some shell code. Some other familiar items include the event log, and some of the default screensavers.

The timestamps on the files generally say 25 July 2000. The source is contained in a Zip file of size 213,748,207 bytes, named windows_2000_source_code.zip, which has been widely circulated on P2P networks. Some dummy files of similar size, containing just strings of zeroes, have also circulated.



There has been some speculation that while the bulk of the source is genuine, some of the comments have been tampered with to embarrass Microsoft. This is difficult to disprove, but I find it implausible. The embarrassing comments occur on thousands of lines, in realistic places. Furthermore, if someone had done that, it would have been easy to make the comments far more incriminating.



Embarrassments
In the struggle to meet deadlines, I think pretty much all programmers have put in comments they might later regret, including swearwords and acerbic comments about other code or requirements. Also, any conscientious coder will put in prominent comments warning others about the trickier parts of the code. Comments like "UGLY TERRIBLE HACK" tend to indicate good code rather than bad: in bad code ugly terrible hacks are considered par for the course. It would therefore be both hypocritical and meaningless to go through the comments looking for embarrassments. But also fun, so let's go.



Curse words: there are a dozen or so "fucks" and "shits", and hundreds of "craps". Some dissatisfaction with the compiler is expressed in private\shell\shell32\util.cpp:

// the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work
// around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST


Some insight into Microsoft's famous daily build process is given in private\windows\media\avi\verinfo.16\verinfo.h:

* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!!
* !!!!!!!!!!!!!!DOING SO FUCKS THE BUILD PROCESS!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


There are also various references to idiots and morons, some external, some within Microsoft. The file private\ntos\rtl\heap.c, which dates from 1989, tells us

// The specific idiot in this case is Office95, which likes
// to free a random pointer when you start Word95 from a desktop
// shortcut.


The file private\ntos\w32\ntuser\kernel\swp.c from 11-Jul-1991 points at

* for idiots like MS-Access 2.0 who SetWindowPos( SWP_BOZO
* and blow away themselves on the shell, then lets
* just ignore their plea to be removed from the tray


Morons also abound, as in this selection

private\genx\shell\inc\prsht.w:
// we are such morons. Wiz97 underwent a redesign between IE4 and IE5



private\shell\ext\ftp\ftpdrop.cpp:
We have to do this only because Exchange is a moron.



private\shell\shdoc401\unicpp\desktop.cpp:
// We are morons. We changed the IDeskTray interface between IE4



private\shell\browseui\itbar.cpp:
// should be fixed in the apps themselves. Morons!



Microsoft programmers also take their duty to warn others seriously. There are over 4,000 references to "hacks", mostly warnings. These include



private\inet\mshtml\src\core\cdbase\baseprop.cxx:
// HACK! HACK! HACK! (MohanB) In order to fix #64710 at this very late



private\inet\mshtml\src\core\cdutil\genutil.cxx:
// HACK HACK HACK. REMOVE THIS ONCE MARLETT IS AROUND



private\inet\mshtml\src\other\moniker\resprot.cxx:
// <HACK>
goto EndHack;
// </HACK>



private\inet\mshtml\src\site\layout\flowlyt.cxx:
// God, I hate this hack ...



private\inet\wininet\urlcache\cachecfg.cxx:
// Dumb hack for back compat. *sigh*

private\inet\wininet\urlcache\filemgr.cxx:
// ACHTUNG!!! this is a special hack for IBM antivirus software



private\ispu\pkitrust\trustui\acuictl.cpp:
// HACK ALERT, believe it or not there is no way to get the height of the current
// HACK ON TOP OF HACK ALERT,



private\ntos\udfs\devctrl.c:
// Add the hack-o-ramma to fix formats.

private\shell\shdoc401\unicpp\sendto.cpp:
// Mondo hackitude-o-rama.

private\ntos\w32\ntcon\server\link.c:
// HUGE, HUGE hack-o-rama to get NTSD started on this process!

private\ntos\w32\ntuser\client\dlgmgr.c:
// HACK OF DEATH:



private\shell\lib\util.cpp:
// TERRIBLE HORRIBLE NO GOOD VERY BAD HACK



private\ntos\w32\ntuser\client\nt6\user.h:
* The magnitude of this hack compares favorably with that of the national debt.



While surprisingly informal, there are limits to how far the programmers go. There are no derogatory references to Microsoft or Windows themselves. Bill Gates is never mentioned. There are no racist or homophobic slurs. I saw only one drug reference.

private\shell\ext\tweakui\genthunk.c:
* CallProc32W is insane. It's a variadic function that uses
* the pascal calling convention. (It probably makes more sense
* when you're stoned.)


Quality
Despite the above, the quality of the code is generally excellent. Modules are small, and procedures generally fit on a single screen. The commenting is very detailed about intentions, but doesn't fall into "add one to i" redundancy.



There is some variety in the commenting style. Sometimes blocks use a // at every line, sometimes the /* */ style. In some modules functions have a history, some do not. Some functions describe their variables in a comment block, some don't. Microsoft appears not to have fallen into the trap of enforcing over-rigid standards or universal use of over-complicated automatic tools. They seem to trust their developers to comment well, and they do.



However, not everything is so rosy. Some of the modules are clearly suffering from the hacks upon hacks mentioned earlier. As someone who struggled immensely trying to get the MSInet control working not long after this code was released, it's a relief to see that the inet code is as bad as I thought.



From the comments, it also appears that most of the uglier hacks are due to compatibility issues: either backward-compatibility, hardware compatibility or issues caused by particular software. Microsoft's vast compatibility strengths have clearly come at a cost, both in developer-sweat and the elegance (and hence stability and maintainability) of the code.



Open Source
It's been widely rumored for a while that Microsoft relies on stolen open source code. The rumor has faced widespread skepticism too. Microsoft has hundreds of millions of lines of code, most of it highly specialized. Hardly any of that could benefit from stealing: it hardly seems worth the legal risk. It's true that early versions of the TCP-IP stack were (legally) taken from BSD: but that was a long time ago, when Microsoft was much smaller.



Searching the code for "linux" and "GPL" finds no references. "BSD" finds only a couple of references to BSD-convention strings. "GNU" finds a lot of references to a GNUmakefile in private\genx\shell, which in turn mentions a "mode for Emacs." This is apparently legitimate: simply using a makefile does not apply the makefile's copyright to the resulting code.



Therefore, a superficial look at the code finds no evidence that Microsoft has violated the GPL or stolen other open source code. Closer examination might turn something up.

Favoritism
It's noticeable that a lot of the "hacks" refer to individual applications. In some cases they are non-Microsoft, such as this case: a Borland compiler came to depend on an existing bug, so their fix worked to preserve some of the bug's behaviour. But just as often these application-specific fixes are for Microsoft's own apps. There seems to be an informal hierarchy when it comes these: Microsoft apps take precedence, then major software companies like IBM and Borland.

It's also interesting to finally see references to the notorious undocumented features, which Microsoft application developers have long been known to use.

private\mvdm\wow32\wcntl32.c:
// These undocumented messages are used by Excel 5.0



private\mvdm\wow32\wgdi31.c:
// InquireVisRgn is an undocumented Win 3.1 API. This code has been
// suggested by ChuckWh. If this does not fix the s 2.0
// problem, then ChuckWh would be providing us with an private entry
// point.



private\mvdm\wow32\wgfont.c:
* This thunk implements the undocumented Win3.0 and Win3.1 API
* GetCurLogFont (GDI.411). Symantec QA4.0 uses it.
* To implement this undocumented API we will use the NT undocumented API



In some cases, the programmers themselves appear to have been frustrated or surprised.

private\ntos\w32\ntuser\kernel\mnpopup.c:
// Set the GlobalPopupMenu variable so that EndMenu works for popupmenus so
// that WinWart II people can continue to abuse undocumented functions.



private\windows\shell\accesory\hypertrm\emu\minitel.c:
// Guess what? Latent background color is always adopted for mosaics.
// This is a major undocumented find...



private\windows\shell\accesory\hypertrm\emu\minitelf.c:
// Ah, the life of the undocumented. The documentation says
// that this guys does not validate, colors, act as a delimiter
// and fills with spaces. Wrong. It does validate the color.
// As such its a delimiter. If...



Conclusions
The security risks from this code appear to be low. Microsoft do appear to be checking for buffer overruns in the obvious places. The amount of networking code here is small enough for Microsoft to easily check for any vulnerabilities that might be revealed: it's the big applications that pose more of a risk. This code is also nearly four years old: any obvious problems should be patched by now.



Microsoft's fears that this code will be pirated by its competitors also seem largely unfounded. With application code this would be a risk, but it's hard to see Microsoft's operating system competitors taking advantage of it. Neither Apple nor Linux are in a much of position to steal code and get away with it, even if it was useful to them.



In short, there is nothing really surprising in this leak. Microsoft does not steal open-source code. Their older code is flaky, their modern code excellent. Their programmers are skilled and enthusiastic. Problems are generally due to a trade-off of current quality against vast hardware, software and backward compatibility.

Recent Techrights' Posts

How to Identify Demonisation or Dehumanisation Tactics Against Interesting Figures or Luminaries in Free Software
Rather than in general or generally in technology
We Should Learn From Bulgaria
Why can't European companies and government recognise and react to a threat (when they see one)?
Canonical: Ubuntu is GAFAM (US), We're Resellers of American Proprietary Software
They want people to pay for a licence
Links 03/02/2026: "Distraction is a Sin" and Fake "Encryption" (Surveillance With Good Marketing)
Links for the day
 
IBM Falls by Over 10%
a recipe for disasters like accounting fraud
Links 03/02/2026: Windows Copies GNU/Linux, Windows TCO Shown Again
Links for the day
Gemini Links 03/02/2026: Alhena Turns One, Slop Rejected, and Max Roy Carrouges Recalled
Links for the day
Dr. Andy Farnell on Why and How European Authorities Can Adopt Free Software, Parenting in the Age of Digital Abundance
Will Europe use technology that Europe controls (not the hegemon), for a change?
Seems Like IBM Trolls Use Chatbots to Vandalise Platform That Discusses IBM's Secret Layoffs, Forever Layoffs
Not for the first time either
You Know Your Company is Dead or Basically a Pyramid Scheme When Jim Cramer Keeps Promoting Its Stock
How much does IBM pay for "puff pieces" or "fluff" about QC?
Red Hat (Under IBM) Works for Microsoft (Proprietary Software) and Slop
Yesterday Red Hat's official site, redhat.com, published exactly 5 new blog posts
IBM is Dying (More Layoffs), Red Hat Will Continue to Suffer From the Acquisition
Financial engineering
Colombia Adopting GNU/Linux Even Faster (at Microsoft's and Apple's Expense)
Do politics play any role in this?
An Effort to Tackle Slavery in 'Open Source' Clothing
"a civil rights lawsuit to examine the concerns of censored developers in the free, open source software ecosystem"
$15 billion lawsuit: Ubuntu, Google & Debian crowdfunding campaign launch
Reprinted with permission from Daniel Pocock
The Solicitors Regulation Authority (SRA) Delusion - Part II - Why We Need to Expose the SRA to More Daylight, Public Scrutiny
SRA is neither effective nor regulated
400-Page US Federal Court Against Abuses by Google, Microsoft and Front Groups That Abuse Volunteers for American Corporations
There are 386 pages in total (in the US claim)
Corporate Influence Never Impacted Us
There's no reason to assume we'll ever "sell out"
Growth of GNU/Linux in Cuba
Right now a lot of the world drafts or already implements a GAFAM exit plan
A Day After EPO Strikes an Escalation to Heads of Delegations to the Administrative Council
They rely on the European media playing along, helping them to hide major blunders, even crimes
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, February 02, 2026
IRC logs for Monday, February 02, 2026
Gemini Links 03/02/2026: Stargazing, Development Boards, and Tcl/Tk Slop
Links for the day
Microsoft Lost 20% of Its Money in the Past 6 Months
Microsoft is hiding what's really happening while mocking critics
Great News, IBM 'Gained' Almost 10% in "Goodwill" Value After Firing Tens of Thousands in 2025
"goodwill" will be inflated despite IBM staff getting sick of IBM
Americans Move to GNU/Linux
some of the biggest American populations
I Still Like Drawing and Various Other Arts (They Help My Activism and Journalism), Slop is an Enemy of Creative People
Recognise that slop isn't intelligence; it's a generational excuse for plagiarism and privatisation of not only the Commons but also proprietary knowledge (without authorisation)
Carmen-Lisandrette Maris (Mission:Libre) Explains to Adolescents and Young Adults How Free Software Improves Privacy
Based on what we've seen and read, Mission:Libre has a solid grasp of Software Freedom
Chatbots Didn't Do Any Good for Microsoft
Google "AI" = search + copypasta
Links 02/02/2026: Cultural Cleansing by China and 'Living Behind Firewalls" in Iran
Links for the day
GNU/Linux Measured at More Than 4% in Russia
growing adoption of GNU/Linux in Russia
Gemini Links 02/02/2026: Stages of Age, Workflows, and Counting Capsules
Links for the day
Oracle's Debt Rose Over 20 Billion Dollars in Just 3 Months
Is "hey hi" becoming a synonym for debt?
Oligarchs' 'Speech Zones' Are Not the "Public Square"
The apologists of social control media, including press that got "addicted" to such fake "media", are helping dictators and oligarchs grab the public attention away from the real press
IBM Misleads and Gaslights Investors With Slop Sold as "AI" (the Business is Waning, Mass Layoffs Continue)
People who do this are dishonest. They should not be put in charge.
Links 02/02/2026: 'Melania' a Horror Movie "Will They Inherit Our Blogs?"
Links for the day
Doing More Detailed Series (Long-Form Works)
Long readings or book-like reading binges are only possible when parts are suitably labeled (name and numbers) if not interlinked
Mobbing at the European Patent Office (EPO) - Part II - Racism, Cocaine Use and White-Collar Corruption
When you hire people illegally, to work for cocaine users and keep quite about the cocaine use, what will be the impact on the reputation of an institution?
A Can of WORMS - Part II - Darkening the Name of RMS, Associating It With Crime
Beware projection tactics
Submit Your Suggestions for EU's Embrace of Software Freedom by Tomorrow
Time to leave GAFAM (US) hegemony behind
Slopless Weekend
This is not sustainable
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, February 01, 2026
IRC logs for Sunday, February 01, 2026
Gemini Links 01/02/2026: Fossil Heating Installations and Some FOSDEM Coverage
Links for the day
The State of Memory Leaks in GNU/Linux
The issue won't be solved by adding more memory
Links 01/02/2026: Nvidia's Jensen Talks Down Microsoft 'Open' 'Hey Hi' and Britain's Starmer Makes Friends With China, Japan
Links for the day
Why Microsoft Accenture Has So Many Layoffs in Recent Years
The debt of Accenture doubled a year ago
Links 01/02/2026: Public TV Gutted by Cheeto, Billionaires Fund a Cheeto Propaganda Movie in 'Documentary' Clothing
Links for the day
The New Site ("New Techrights", SSG Since 2023) Exceeds the Old Site in Requests
The "New Techrights" gets about twice as many requests as the "old" (WordPress) "Techrights", the site of 2006-2023
20 Years Ago
Some time soon all this slop frenzy will become like yesterday's "blockchain" or "metaverse"
Gemini Links 01/02/2026: Zdzisław Beksiński and Disconnected Git Workflow
Links for the day
Talks About Nadella's Microsoft Exit After Chatter About Tim Crook Leaving Apple (Years Ahead of Retirement Age)
Mass layoffs and record debt do not represent a company's health.
We Still Cover the Same Problems We Spoke of 20 Years Ago
We're not easily seduced by "novelty" (new things), we try to judge them critically
Patents Standing in the Way
They also cause environmental harm
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, January 31, 2026
IRC logs for Saturday, January 31, 2026
IBM, a Microsoft Company
Microsoft and IBM as a pair go a long way back