Steven W, 2014-12-07 19:30 »
Mr. David A. Wheeler wrote this in 2001 when Jim Allchin was "trying to convince the U.S. government that open source software (or at least the General Public License) is a threat to the U.S. and to intellectual activity".
http://www.dwheeler.com/innovation/microsoft.html BASIC: This was the original Microsoft product, a simple programming language. Microsoft's BASIC was released in 1975, but BASIC itself had been invented back in 1964, and it was only one of many programming languages available even then.
MS-DOS: In 1981, Microsoft published MS-DOS. MS-DOS was Microsoft's new name for QDOS, the "Quick and Dirty Operating System" written by Tim Paterson of Seattle Computer Products in 6 weeks not long before. Paterson developed QDOS by buying a CP/M manual and using the manual as the basis for his own program, so QDOS itself wasn't innovative. When IBM approached Microsoft looking for software for its to-be-announced PC, Microsoft quickly bought QDOS and renamed it so it could make a deal with IBM. Of course, the notion of an operating system was old even by 1981, so MS-DOS was in no way innovative either. Later on, Microsoft did add features such as directories to MS-DOS, but these were intentionally copied from another operating system (Unix).
Windows: In 1983 Microsoft announced that it would be developing Windows. Windows 1.0 was finally delivered November 1985 (two years late), but it performed poorly and had little in the way of applications. It wasn't until May 22, 1990, when Windows 3.0 was released, that the system gained widespread third-party support. Windows was clearly inspired by Apple's Macintosh (which, in turn, had been inspired by Xerox PARC, which had been inspired by the original 1968 inventions of Doulas Engelbart for a GUI with a mouse). Since Windows was essentially a copy of the Macintosh, which was based on earlier work, Windows cannot be considered fundamentally innovative.
Windows NT/2000: Microsoft's Windows NT finally provided (limited) multi-user capability and protected memory in a server operating system, but it did this by liberally borrowing ideas from the pre-existing VAX VMS and Unix systems (which were not the first such operating systems either).
Word: This is simply another word processor, which Microsoft began in 1983. Lexitron and Linolex developed the first screen-oriented word processing system before Microsoft existed (in 1972), and WordStar preceded Microsoft's efforts as well (1979).
Excel: A spreadsheet, implemented long after the original VisiCalc (1978) and Lotus 1-2-3.
Access: Yet another database system. Since it's relational, the primary innovation it embodies are Codd's models, which were developed in 1970 (before Microsoft even existed).
Internet Explorer (IE): Internet Explorer wasn't originally developed by Microsoft; it is an extension of the older NCSA Mosaic web browser. On at least Internet Explorer 5.5, selecting "Help About" shows that it is "Based on NCSA Mosaic. NCSA Mosaic(TM) was developed at the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign. Distributed under a licensing agreement with Spyglass, Inc." Again, web browsers (and IE) are not a Microsoft innovation.
Active Directory: Active Directory is basically a re-implementation of the Lightweight Directory Access Protocol (LDAP), with Microsoft's proprietary variant of MIT's Kerberos often being used for identity authentication. LDAP is in turn a subset of X.500's Directory Access Protocol (DAP). That goes back to the late 1980s, long before "Active Directory" existed. Again, no serious innovation here.
COM/DCOM: These are the fundamental communication mechanisms in Windows, enabling programs to find and call each other and supporting "component programming." However, these are just another remote procedure call (RPC) implementation, certainly not the first one, and COM originally couldn't even work over a network!
SMB/CIFS: Microsoft shares files and printers using the SMB protocol... but they didn't invent it. For more information, see Just what is SMB?
Direct3D: Direct3D is an application programmer interface (API) that lets people develop applications with 3D graphics to take advantage of hardware acceleration. But OpenGL was already a standard, and it wasn't the first 3D API either (other specifications such as PHIGS predated both). Instead, Direct3D was started after Microsoft bought RenderMorphics in 1995. It appears that Microsoft's motives were to try to create its own incompatible specification, to lock people into their product, instead of letting OpenGL be a standard used by everyone. Microsoft may also have wanted to justify the purchase of RenderMorphics. It certainly wasn't because Direct3D was better than OpenGL of the time; John Carmack's .plan 12/23/96 explains how inferior Direct3D was when it came out. Today, OpenGL and its derivative OpenGL ES 2.0 (adapted for Javascript!) runs on almost every embedded device these days; from iPhones, iPads, Androids phones, Set Top Boxes, and even TVs now.
.NET: It's often difficult to even get people to agree on exactly what .NET is, making it more difficult to analyze. The best description I've found is Sean Wilson's ".NET - So What?". He says .NET is a "branding formative", that is, a single name applied to a large number of different initiatives by Microsoft, and that it has several areas: development tools, servers, clients, XML web services, and .NET "experiences." Applications are to execute within the ".NET framework", which is essentially an infrastructure very much like Java (supporting downloading of portable code using an intermediate format). The .NET framework is intentionally designed to support multiple computer languages; while this wasn't a goal of Java, Java's infrastructure also supports multiple languages, and older technologies (such as UCSD p-code and ANDF) were specifically designed to do this (in the same way) many years ago. Early in his article he says ".NET isn't even particularly innovative... Many of the concepts have been previously realised and are well-understood."
Spreadsheet pivot tables: In 1986, Pito Salas came up with the idea of pivot tables in spreadsheets while working in Lotus Development Corporation's Advanced Technology Group. It was demonstrated in 1987, and the program that implemented it (now named Lotus Improv) was released on the NeXT in 1988. Lotus Improv was released on Windows in 1993. Excel didn't add pivot tables until its Excel 97 release. (Source: "Pivot Table Data Crunching" by Bill Jelen and Michael Alexander).
I'm surprised WinG wasn't mentioned as the predecessor to DirectX, but the larger point stands. I also see that I mistakenly said that Microsoft bought DOS from Seattle Computer Works, which should've been Seattle Computer Products.
Mr. David A. Wheeler wrote this in 2001 when Jim Allchin was "trying to convince the U.S. government that open source software (or at least the General Public License) is a threat to the U.S. and to intellectual activity".
http://www.dwheeler.com/innovation/microsoft.html
[quote]
BASIC: This was the original Microsoft product, a simple programming language. Microsoft's BASIC was released in 1975, but BASIC itself had been invented back in 1964, and it was only one of many programming languages available even then.
MS-DOS: In 1981, Microsoft published MS-DOS. MS-DOS was Microsoft's new name for QDOS, the "Quick and Dirty Operating System" written by Tim Paterson of Seattle Computer Products in 6 weeks not long before. Paterson developed QDOS by buying a CP/M manual and using the manual as the basis for his own program, so QDOS itself wasn't innovative. When IBM approached Microsoft looking for software for its to-be-announced PC, Microsoft quickly bought QDOS and renamed it so it could make a deal with IBM. Of course, the notion of an operating system was old even by 1981, so MS-DOS was in no way innovative either. Later on, Microsoft did add features such as directories to MS-DOS, but these were intentionally copied from another operating system (Unix).
Windows: In 1983 Microsoft announced that it would be developing Windows. Windows 1.0 was finally delivered November 1985 (two years late), but it performed poorly and had little in the way of applications. It wasn't until May 22, 1990, when Windows 3.0 was released, that the system gained widespread third-party support. Windows was clearly inspired by Apple's Macintosh (which, in turn, had been inspired by Xerox PARC, which had been inspired by the original 1968 inventions of Doulas Engelbart for a GUI with a mouse). Since Windows was essentially a copy of the Macintosh, which was based on earlier work, Windows cannot be considered fundamentally innovative.
Windows NT/2000: Microsoft's Windows NT finally provided (limited) multi-user capability and protected memory in a server operating system, but it did this by liberally borrowing ideas from the pre-existing VAX VMS and Unix systems (which were not the first such operating systems either).
Word: This is simply another word processor, which Microsoft began in 1983. Lexitron and Linolex developed the first screen-oriented word processing system before Microsoft existed (in 1972), and WordStar preceded Microsoft's efforts as well (1979).
Excel: A spreadsheet, implemented long after the original VisiCalc (1978) and Lotus 1-2-3.
Access: Yet another database system. Since it's relational, the primary innovation it embodies are Codd's models, which were developed in 1970 (before Microsoft even existed).
Internet Explorer (IE): Internet Explorer wasn't originally developed by Microsoft; it is an extension of the older NCSA Mosaic web browser. On at least Internet Explorer 5.5, selecting "Help About" shows that it is "Based on NCSA Mosaic. NCSA Mosaic(TM) was developed at the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign. Distributed under a licensing agreement with Spyglass, Inc." Again, web browsers (and IE) are not a Microsoft innovation.
Active Directory: Active Directory is basically a re-implementation of the Lightweight Directory Access Protocol (LDAP), with Microsoft's proprietary variant of MIT's Kerberos often being used for identity authentication. LDAP is in turn a subset of X.500's Directory Access Protocol (DAP). That goes back to the late 1980s, long before "Active Directory" existed. Again, no serious innovation here. [/quote]
[quote]
COM/DCOM: These are the fundamental communication mechanisms in Windows, enabling programs to find and call each other and supporting "component programming." However, these are just another remote procedure call (RPC) implementation, certainly not the first one, and COM originally couldn't even work over a network!
SMB/CIFS: Microsoft shares files and printers using the SMB protocol... but they didn't invent it. For more information, see Just what is SMB?
Direct3D: Direct3D is an application programmer interface (API) that lets people develop applications with 3D graphics to take advantage of hardware acceleration. But OpenGL was already a standard, and it wasn't the first 3D API either (other specifications such as PHIGS predated both). Instead, Direct3D was started after Microsoft bought RenderMorphics in 1995. It appears that Microsoft's motives were to try to create its own incompatible specification, to lock people into their product, instead of letting OpenGL be a standard used by everyone. Microsoft may also have wanted to justify the purchase of RenderMorphics. It certainly wasn't because Direct3D was better than OpenGL of the time; John Carmack's .plan 12/23/96 explains how inferior Direct3D was when it came out. Today, OpenGL and its derivative OpenGL ES 2.0 (adapted for Javascript!) runs on almost every embedded device these days; from iPhones, iPads, Androids phones, Set Top Boxes, and even TVs now.
.NET: It's often difficult to even get people to agree on exactly what .NET is, making it more difficult to analyze. The best description I've found is Sean Wilson's ".NET - So What?". He says .NET is a "branding formative", that is, a single name applied to a large number of different initiatives by Microsoft, and that it has several areas: development tools, servers, clients, XML web services, and .NET "experiences." Applications are to execute within the ".NET framework", which is essentially an infrastructure very much like Java (supporting downloading of portable code using an intermediate format). The .NET framework is intentionally designed to support multiple computer languages; while this wasn't a goal of Java, Java's infrastructure also supports multiple languages, and older technologies (such as UCSD p-code and ANDF) were specifically designed to do this (in the same way) many years ago. Early in his article he says ".NET isn't even particularly innovative... Many of the concepts have been previously realised and are well-understood."
Spreadsheet pivot tables: In 1986, Pito Salas came up with the idea of pivot tables in spreadsheets while working in Lotus Development Corporation's Advanced Technology Group. It was demonstrated in 1987, and the program that implemented it (now named Lotus Improv) was released on the NeXT in 1988. Lotus Improv was released on Windows in 1993. Excel didn't add pivot tables until its Excel 97 release. (Source: "Pivot Table Data Crunching" by Bill Jelen and Michael Alexander). [/quote]
I'm surprised WinG wasn't mentioned as the predecessor to DirectX, but the larger point stands. I also see that I mistakenly said that Microsoft bought DOS from Seattle Computer Works, which should've been Seattle Computer Products.