One of technologys dirty little not-so-secret secrets is that Microsoft has been using open-source software since the early 90s in its TCP/IP network stack.
Now, however, Microsoft has finally confessed to using open-source in a forthcoming product: Windows Server 2003 Compute Cluster Edition.
The reason why Microsoft uses BSD-licensed TCP/IP for its network stack was the same reason almost everyone does: The BSD TCP/IP works well, and its socket-based API (application programming interface) was already becoming the accepted way for computers to work with each other.
Today, all Web browsers and servers on all platforms default to using TCP/IP socket 80 because the socket model, rather than the now-obsolete STREAMS model, became the worlds networking standard.
Almost all Internet-based programs, like e-mail and instant messaging, depend on the socket model.
The same thing is true of MPI (Message Passing Interface).
MPI is the universal standard for MPC (massively parallel computing) message-passing models.
While debate continues as to whats the best way to past messages back and forth between nodes of a cluster or gird, with PVM (Parallel Virtual Machine) still having supporters, chances are if you look underneath the hood of a large cluster, supercomputer or grid, youll find MPI.
This happened for a very simple reason: Application developers dont want to reinvent programs that can make use of a cluster.
With MPI in place, they can port their programs from one platform to another without undue worry about IPC (interprocess communications).
Of course, Microsoft could have come up with something that duplicated what MPI does, but this is one field where Microsoft cant move in and make up its own rules.
It took years to put together MPI. Almost everyone whos anyone—IBM, Intel, Sun—uses MPI in their clusters.
The Globus Alliance, perhaps the most important grid-computing organization, also uses MPI.
Now, Microsoft might still have come up with its own implementation of MPI.
Microsoft has finally figured it out. You dont have to invent something, or modify it to make it semi-proprietary, as the boys from Redmond did with the Kerberos authentication protocol, to get value from it.
By adopting an open version of MPI, Microsoft has made it possible for ISVs to easily port their applications to a cluster platform, Server 2003 Compute Cluster Edition, which otherwise they would have been ignored.
Getting programs to run properly on clusters, grids and supercomputers is an unforgiving task. Anything that makes it easier is welcome.
Besides, an open-source program has already had many eyes look it over for faults and holes.
If Microsoft had had to make its own, they would have missed out on the benefits of years of hands-on quality assurance.
As Microsoft Kyril Faenov, Microsofts director for High Performance Computing said: “The interesting thing is that we are already starting to see results. ISVs are coming back and saying that they just have to recompile and relink, and their applications just work. So we are trying to make it as easy as possible for them to be able to run their code in a Windows environment.”
Wow, all those benefits…from using open-source.
Am I wrong, or is there a lesson here?
Can it be that open-source really is a great way to create software?
Can it be that even Microsoft has finally figured that out?
You know what? I think it has.
Now, well see if they can get the next part, which is that its better to give than to receive.
Faenov says Microsoft will. I hope they do. I hope they do.
eWEEK.com Senior Editor Steven J. Vaughan-Nichols has been using and writing about operating systems since the late 80s and thinks he may just have learned something about them along the way. He can be reached at [email protected]