Geekness – closer to the world

Geeky at the Lake of Zurich

Microsoft and Open Source

Open Source at Microsoft

Photo by localjoost
Photo by localjoost
Microsoft Switzerland invited to a short presentation and discussion round with Hank Janssen from the Microsoft Open Source Technology Center (OSTC) in Redmond. He talked a little bit about their infrastructure (which is impressive and awesome by the way), projects Microsoft has contributed to and why they do it. I made a few notes and will try to remember the most important parts, from the talk and the rich discussion afterward.

First their lab really looks like a lab. Hundreds of servers (over 400 to be precise) are either mounted or lying around in a small room – a former lumber-room – with cables allover. The servers are important, because they should reflect real world behavior an scenarios. Beside those servers the OSTC has access to over 360 Linux distributions for testing and developing. All together is this the highest density of computer power in a single lab inside of Microsoft.
Besides the Redmond lab Microsoft has a second lab in Cambridge which they are using with Novell and their employees. This lab is primarily used for SAMBA support and interoperability testing.

The Microsoft Commitment to Open Source

Make Windows the best platform for Open Source. To reach this goal, they need a strong community and developers willing to do this. And this might be one of the bigger challenges. As seen in the discussion, people still see Microsoft as a big evil corporation. Steve Ballmer’s comments about “Linux being Cancer” are still present in peoples mind. And they are hard to get out.

Microsoft and Open Source Projects

A big item on Microsoft’s Open Source list is PHP. The team set up windows.php.net to give developers on the Windows platform some news and insights.
For example, the PHP team still uses Visual Studio 6 to compile the binaries. The reason is that there are some dependencies to an old Apache version. Asking the Apache Software Foundation about that, they said that’s because they have some dependencies to an older Perl version. The Perl team said, they did not know why the dependency still exists. And because the original source code is not available due to various reasons (programmer left the project, nobody has a copy) the OSTC re-wrote the library and PHP can now be compiled on the latest Visual Studio 2008 version. Many hours spent, but that helped to bring the PHP 5.3 version to the same level as the Linux version, feature and bug level.
Besides fixing old version, Microsoft is also adding new features such as support for Windows Azure on PHP, methods to read and write Excel and Word documents (something many companies requested for invoicing or automated document generation) and better support for Active Directory and Exchange.
In case you wonder now why Microsoft supports PHP, it is because it has a huge market share. Hank also told me that a few years ago Tim O’Reilly said based on books sales that the next big thing is Ruby and Python. But you barely see those languages. The decision for PHP is solely based on capitalization. But also most PHP installations are on Apache httpd servers on Linux machines. I still think Microsoft should either port ASP.net or the Internet Information Server to Linux šŸ˜‰

The Microsoft team is also working and extending Hadoop. A technology developed by Google to store and map large collections of data and computing them. I knew that Yahoo is a big player and I think it is great to see Microsoft using Hadoop for their search engine Bing.

Microsoft and the Linux Kernel

On July 21st 2009 Microsoft announced the release of 20’000 lines of code to the Linux Kernel. If you look back a few years and you would thought that Microsoft would release code to the Linux Kernel everybody would think you are mad. But now it became reality.
Of course as many other big companies behind the Linux Kernel (if you still think most of the Linux code is written on weekends and by hobbyist, you are wrong) also Microsoft is doing this for their benefit. The source code that was released is for a technology called Hyper-V. Hyper-V is a visualization technology as Xen, VMware or how they are all called. The code Microsoft contributed is actually driver code to emulate hardware. This helps to run the Windows operating system better on Linux. According to Hank his code should be available in a few weeks in the next kernel version 2.6.32.
You know think it mus be impossible for a big and closed source company like Microsoft to release code in open source. And yes, it was quiet challenging as Hank told me over a beer. He had a meeting with each and every lawyer Microsoft has. But no one said immediately no to him. He never had to change any line of code for reasons like patents violation or other policies. But one of the problems he came across was the fact, that Microsoft and other companies like IBM use a software to analyze source code and verify that no offensive language or profanity is used. As you maybe know, coding Linux drivers require some includes and usage of pre-defined variables. One of this variables is “slave”. This word is also on Microsoft’s list. Hank had to argue that he could not change a word he has no influence on. And in computer terms, everybody knows what a “slave” is.

Conclusion

I have one request: Stop thinking “Microsoft vs. Open Source” and start thinking “Microsoft and Open Source” or “Microsoft for Open Source”.
This post could sound to “Microsoft friendly” for you. Well, you are not open minded enough then. Microsoft is no different than IBM, Red Hat, Novell or Google. They just have a different history. And maybe we should put that away… In the end every contributor (as a company) to Open Source wants to make money.

One thought on “Microsoft and Open Source

  1. Pingback: Corsin Camichel

Comments are closed.