{"id":14712,"date":"2026-11-09T02:00:00","date_gmt":"2026-11-09T07:00:00","guid":{"rendered":"https:\/\/www.both.org\/?p=14712"},"modified":"2026-11-02T11:05:23","modified_gmt":"2026-11-02T16:05:23","slug":"looking-back-at-the-first-halloween-document","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=14712","title":{"rendered":"Looking back at the first Halloween document"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"14712\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><\/div>\n<p class=\"wp-block-paragraph\">In late October 1998, open source evangelist Eric S. Raymond received a <a href=\"https:\/\/www.catb.org\/~esr\/halloween\/halloween1.html\">leaked internal Microsoft memo<\/a>, which he published on his website around Halloween that month. Later called the &#8220;Halloween document,&#8221; the memo highlights how Microsoft recognized Linux and open source as a threat to the proprietary Microsoft model, and provided a roadmap for how Microsoft would respond to that perceived threat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Some useful background<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s start by putting things into perspective. Remember that in 1991, Linus Torvalds released an early version of the Linux kernel. It didn&#8217;t take long for others to combine the kernel with other Free and open source tools (such as GNU) to create the first &#8220;Linux&#8221; distributions. I installed <a href=\"https:\/\/www.both.org\/?p=11375\">SLS Linux in 1993<\/a> and found it to be a very powerful Unix-like system, with all the compilers, tools, editors, and other apps that I would expect to find on &#8220;Big Unix.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By the mid-1990s, other Linux distributions appeared, including Red Hat Linux (1995) and Debian (1993). In the late 1990s, big corporations like IBM started to support Linux directly, with IBM offering a full Java web server stack that I used to <a href=\"https:\/\/opensource.com\/article\/17\/7\/how-introduced-organization-linux\">migrate an enterprise application<\/a> from AIX to Linux. By 1998, Microsoft finally realized that this &#8220;Linux&#8221; and &#8220;open source&#8221; thing was beginning to look like a viable enterprise solution.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Microsoft&#8217;s analysis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft senior vice president Jim Allchin requested an evaluation of &#8220;open source&#8221; and &#8220;Linux.&#8221; Vinod Valloppillil, a Microsoft program manager, authored a confidential internal memo, published on August 11, 1998, in which he defined &#8220;open source&#8221; and summarized its threats to Microsoft&#8217;s business model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The document starts with a history of &#8220;open source,&#8221; highlighting <a href=\"https:\/\/en.wikipedia.org\/wiki\/BIND\">BIND<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_HTTP_Server\">Apache<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Sendmail\">Sendmail<\/a>, GNU Emacs, GNU GCC, and GNU GhostScript as examples where <em>open source just works<\/em>. The author also cites <a href=\"https:\/\/en.wikipedia.org\/wiki\/The_Cathedral_and_the_Bazaar\">The Cathedral and the Bazaar<\/a> by Eric S. Raymond to iterate several strengths in the open source model, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;Very good work of software starts by scratching a developer&#8217;s personal itch&#8221;<\/li>\n\n\n\n<li>&#8220;Treating your users as co-developers is your least-hassle route to rapid code improvement and debugging&#8221;<\/li>\n\n\n\n<li>&#8220;Release early. Release often. And listen to your customers.&#8221;<\/li>\n\n\n\n<li>&#8220;Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone&#8221; (also known as &#8220;Given enough eyeballs, all bugs are shallow&#8221;)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Given these characteristics, the paper also identified several strengths presented by open source:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;OSS processes are growing with the Internet&#8221;<\/li>\n\n\n\n<li>&#8220;OSS processes are &#8216;winner take all'&#8221;<\/li>\n\n\n\n<li>&#8220;Developers seek to contribute to the largest OSS platform&#8221;<\/li>\n\n\n\n<li>&#8220;Larger OSS projects solve more &#8216;problems at hand'&#8221;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As part of this analysis, the paper highlights &#8220;One of the most interesting implications of viable OSS ecosystems is long-term credibility.&#8221; For example, the paper notes &#8220;The likelihood that Apache will cease to exist is orders of magnitude lower than the likelihood that WordPerfect \u2026 will disappear.&#8221; <em>I should add that WordPerfect was an extremely popular desktop word processor<\/em> <em>for DOS in the 1980s and 1990s, until Windows took away the DOS market.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Further on, the paper also discusses several strengths in &#8220;Linux&#8221; specifically, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trusted in mission critical environments<\/li>\n\n\n\n<li>Best of breed Unix<\/li>\n\n\n\n<li>Only Unix OS to gain market share<\/li>\n\n\n\n<li>Linux&#8217;s process iterates <em>very<\/em> fast<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In that analysis, Valloppillil concluded that &#8220;Linux is a short\/medium-term threat in servers&#8221; and calls out Microsoft&#8217;s Windows NT server as being under threat from Linux, especially because of the low cost to switch from a &#8220;Big Unix&#8221; vendor to Linux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An attack on open source<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The paper was more than just a summary of the then-current state of Linux and open source. The reason Microsoft requested this research was to understand how to prevent open source from taking away Microsoft&#8217;s business. Therefore, and most importantly, the paper identified three key weaknesses in the open source model:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Management costs<\/li>\n\n\n\n<li>Process issues<\/li>\n\n\n\n<li>Organizational credibility<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The paper also concluded that &#8220;Linux is unlikely to be a threat on the desktop&#8221; because of &#8220;Poor end-user apps and focus,&#8221; &#8220;Switching costs for desktop installed base&#8221; and &#8220;Unix heritage will slow&#8221; the adoption of Linux on the desktop.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The paper has a section specifically about &#8220;Beating Linux&#8221; where it identifies &#8220;some specific attacks on Linux.&#8221; In this analysis, Valloppillil made several recommendations:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Beat Unix.<\/strong> Basically, if you can crush Unix as a market, the Linux market will dry up too. Microsoft had already faced market pressure from Sun Microsytems, which was a leading &#8220;Big Unix&#8221; vendor at the time. Those of us who lived through it will remember the &#8220;Unix wars&#8221; around this time, with several vendors competing with their own Unix variant: not just the original Research Unix from AT&amp;T\/Bell Labs, but Sun&#8217;s SunOS\/Solaris (1982), HP&#8217;s HP-UX (1982), Apollo&#8217;s Domain\/OS (1981), IBM&#8217;s AIX (1986), Apple&#8217;s A\/UX (1988), and even Microsoft&#8217;s Xenix (1980). Microsoft was very invested in defeating Unix as a competitor, in favor of Microsoft&#8217;s Windows NT server offering.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fold extended functionality into commodity protocols and services,<\/strong> <strong>and create new protocols.<\/strong> This is perhaps one of the most significant recommendations from the report, and one that has continued to echo in Microsoft&#8217;s business practices since then. In his analysis of the Microsoft memo, Raymond notes &#8220;This game is called &#8217;embrace and extend.&#8217; We&#8217;ve seen Microsoft play this game before, and they&#8217;re very good at it. When it works, Microsoft wins a monopoly lock. Customers lose.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Later in the memo, Valloppillil expands on this proposal, recommending to &#8220;De-commoditize protocols and applications.&#8221; Examples of the time include Active Directory providing DNS services, extending HTTP to add <a href=\"https:\/\/en.wikipedia.org\/wiki\/WebDAV\">DAV<\/a> (&#8220;DAV is complex and the protocol spec provides an infinite level of implementation complexity \u2026 Apache will be hard pressed to pick and choose the correct first areas of DAV to implement&#8221;) and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Microsoft_Message_Queuing\">MSMQ<\/a> for distributed applications (&#8220;a great example of a distributed technology where most of the value is in the services and implementation and <em>not<\/em> in the wire protocol&#8221;).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dirty tricks brigade<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At the time, I wondered why Microsoft didn&#8217;t use &#8220;dirty tricks&#8221; like <em>flipping a random bit on any detected ext2 filesystem<\/em> every time Windows booted up. This would have been an insidious trick to pull, because it could have introduced random crashes on Linux, which others might attribute to some &#8220;instability&#8221; in open source. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another &#8220;dirty trick&#8221; might have been for Windows to mount any ext2 filesystem <em>without adhering to the filesystem permission model<\/em> so that every file on a Linux filesystem was available as read-write by any Windows user. This is similar to (but not the same as) &#8220;root squash&#8221; on remote filesystems, so that Windows users could modify any file on a Linux filesystem, even if that file was a &#8220;system&#8221; file such as <em>\/etc\/fstab<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, neither of these methods would have been deemed acceptable to Microsoft. The first &#8220;trick&#8221; is direct sabotage, and would have opened up the company to lawsuits. The second &#8220;trick&#8221; would have implied Microsoft recognized Linux as an alternative operating system, effectively legitimizing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, Microsoft took two paths: &#8220;embrace, extend, extinguish&#8221; and &#8220;fear, uncertainty, doubt.&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Embrace, extend, extinguish<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the method that Valloppillil directly endorsed. And for years, we saw exactly this behavior from Microsoft. Protocols that should have been open were embraced by Microsoft, and almost immediately extended to support some Microsoft-only behavior. The result is that the commodity protocol is no longer &#8220;open&#8221; and requires knowledge of Microsoft&#8217;s proprietary methods in order to interact with it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can find <a href=\"https:\/\/en.wikipedia.org\/wiki\/Embrace,_extend,_and_extinguish#Examples_by_Microsoft\">examples on Wikipedia<\/a> of how Microsoft used this method. For example, Microsoft&#8217;s Java implementation effectively broke the cross-development nature of Java, so that Java programs built on Windows would not run on Linux. Microsoft was later forced to rename it&#8217;s &#8220;Java&#8221; implementation, to avoid confusing it with the actual standard version of Java. That&#8217;s where C# came from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft also extended AOL&#8217;s Instant Message protocol (which had been a <em>de facto<\/em> standard) to add new features, but also broke compatibility with AOL. That meant AOL users had to use MSN Messenger in order to communicate with Windows users, even if both parties used AOL as their internet provider.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft even employed this tactic when defining &#8220;open&#8221; standards for its own file formats. The LibreOffice blog recently shared an excellent insight about <a href=\"https:\/\/blog.documentfoundation.org\/blog\/2026\/02\/06\/why-ooxml-is-not-a-standard-format-for-office-documents\/\">why OOXML is not a standard format<\/a> for office documents. OOXML is the file format behind DOCX files. For example, Microsoft&#8217;s standard is about 7,000 pages, &#8220;making it virtually impossible for third parties to implement correctly.&#8221; And Microsoft doesn&#8217;t use the documented &#8220;open&#8221; standard for its own documents anyway, instead using a &#8220;Transitional&#8221; variant that requires compatibility with legacy &#8220;closed&#8221; versions of Microsoft DOC files.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fear, uncertainty, doubt<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In 2001, Microsoft then-CEO Steve Ballmer tried to spread disinformation about Linux by claiming <a href=\"https:\/\/www.theregister.com\/software\/2001\/06\/02\/ballmer-linux-is-a-cancer\/581119\">&#8220;Linux is a cancer<\/a> that attaches itself in an intellectual property sense to everything it touches,&#8221; further claiming that &#8220;The way the license is written, if you use any open source software, <em>you have to make the rest of your software open source<\/em>.&#8221; (<em>emphasis<\/em> mine)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s a big claim that was designed to instill doubt in any organizational leader. This is an example of &#8220;fear, uncertainty, doubt&#8221; or <em>FUD<\/em>, a model that Microsoft employed against Linux for years afterwards. It seems clear the goal was to suggest to unwary CEOs that shipping any product for Linux means <em>you need to also release your product&#8217;s source code<\/em>. And that&#8217;s blatantly untrue, yet likely prevented some vendors from shipping products for Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, <em>FUD<\/em> lived on for years, often repeated by adherents to the Microsoft platform. When I served as a senior IT leader in higher ed and government, I cannot count the number of times I heard Microsoft&#8217;s <em>FUD<\/em> lines repeated back to me, usually in the form of &#8220;you get what you pay for&#8221; and sometimes the old standby &#8220;but if we run Linux, we have to make everything open source.&#8221; Some of those statements were from the 2010s, proving the unfortunate &#8220;staying power&#8221; of <em>FUD<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Microsoft&#8217;s Halloween legacy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft seems to have turned a page on the old ways, even supporting large open source conferences like All Things Open. In 2018, Microsoft took the giant leap to acquire GitHub, a major platform for open source projects. Microsoft established an <a href=\"https:\/\/opensource.microsoft.com\/blog\/\">Open Source Blog<\/a> where they highlight their work in open source, such as releasing old programs like <a href=\"https:\/\/opensource.microsoft.com\/blog\/2025\/11\/20\/preserving-code-that-shaped-generations-zork-i-ii-and-iii-go-open-source\/\">Zork<\/a>, <a href=\"https:\/\/opensource.microsoft.com\/blog\/2025\/09\/03\/microsoft-open-source-historic-6502-basic\/\">6502 BASIC<\/a>, <a href=\"https:\/\/opensource.microsoft.com\/blog\/2024\/04\/25\/open-sourcing-ms-dos-4-0\/\">MS-DOS<\/a> and other apps under open source licenses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today, it&#8217;s easy to think of Microsoft as an open source supporter. But it&#8217;s important to note that their <em>open source<\/em> turn is fairly recent, and they have a much longer history as trying to subvert open source. &#8220;Those who cannot remember the past are condemned to repeat it&#8221; (Santayana) is an important motto when dealing with Microsoft.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s not forget how Microsoft responded to Linux and open source.<\/p>\n","protected":false},"author":33,"featured_media":4636,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[106,158],"tags":[316,108],"class_list":["post-14712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-history","category-open-source","tag-history","tag-open-source"],"modified_by":"Jim Hall","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14712"}],"version-history":[{"count":3,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14712\/revisions"}],"predecessor-version":[{"id":14715,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14712\/revisions\/14715"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/4636"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}