The following post is a guest contribution from Matt Nicholson, author of When Computing Got Personal: A history of the desktop computer.
A strategic (Unix) inflection point
Hindsight reveals that Unix had only one opportunity to prevent the rise of Windows on the desktop.
That was in the final years of the 1980s, when developers building applications for the PC were faced with supporting either OS/2 or Windows 2.1. OS/2 was expensive and did little to support existing DOS applications, which was what most users wanted, while the official word from Microsoft and IBM was that Windows 2.1 was on the way out.
At that point, a user-friendly version of Unix able to take full advantage of the 80386 processor would have been a winner, but the Unix world was too tied up in its own internal politics to deliver, and by 1990 the runaway success of Windows 3.0 firmly closed the door.
Microsoft's dark view of Linux
Nevertheless, as the so called Halloween documents revealed in 1998, Microsoft still viewed Unix, in the form of Linux and the open source movement, as a real threat. However Microsoft's concern was not so much with the software itself as with the development process encapsulated by the movement.
Like most proprietary software companies, Microsoft keeps its source code hidden and only releases software to a wider customer base once it reaches a near-complete beta form.
Bug reports tend to be of the form, "It crashed when I did this," leaving the development team to work out what happened and deliver some sort of patch.
By contrast, under open source -- the distinction between developer and customer disappears.
There is a project leader - Linus Torvalds in the case of Linux - who is informally recognised by the 'hacker' community (by which I mean those who support the principles of the open source movement) as responsible for integrating new code into the project.
However anyone can view the source code at any time, and make contributions.
Such an environment has many advantages. New versions are being released all the time, and anyone can take on the role of coder, tester or end-user. Bug reports not only highlight the lines of code that caused the problem, but may even come back with the solution attached. Microsoft could see the benefits of such an approach, which after all resembled that prevalent in the universities where many of its own staff had studied through the 1970s.
The disadvantages of open source
However there are also disadvantages, in that open source developers come to think of the hacking community as their customer base, forgetting that the wider public are not interested in the intricacies of code or the nuances of the Hacker Ethic.
They simply want something that works, and is easy to use. It's a different story on the server, but that is why Linux never became a real threat to Windows on the desktop, and why developers need to keep in touch with the priorities of their end users, rather than those of their fellow coders.
Matt Nicholson has been a computer journalist since 1983 and has edited a number of popular newsstand magazines including PC Plus and What Micro. The subject matter discussed in this post is covered in more detail in his book.
Editorial disclosure: The blog author Adrian Bridgwater is an independent freelance journalist, colleague and like-minded associate of Matt Nicholson.