A few weeks ago, I received a surprise invite from the Hungarian Microsoft office to an event in Redmond, WA, which turned out to be due to my strong involvement with the Hungarian PHP community, but was also luckily connected to my Drupal 6 work. I was lucky to be able to set aside the required days for the so-called Web Development Technology Summit, which seemed to evolve around PHP people and Microsoft technologies. Interesting mix!
This was my first time in the US, and would be able to tell you fun stories for hours about how one gets a visa quickly, copes without a credit card (but with a debit card), with a phone not working in the US, with a plane coming 6 hours late, with fun border officers who were (really) a pleasure to discuss web development technologies with, without a hotel room booked, without a name card prepared at the event, with extreme stuff billed in the hotel, a plane leaving 24 hours late (overnighting on Northwest's expense) and finally with luggage missing (but received a day late) back home. So it was a very fun experience all around, especially looking how I was able to team up with people spontaneously to solve problems on airports, which helped me out in some cases.
But actually, I was more interested in what Microsoft is up to with inviting some interesting heads from the PHP community, including three well known Drupal developers, as well as Gallery, Facebook, CakePHP, PHP core developers, and so on.
Well, as far as I understand, Microsoft is up to doing business. They realized that good software is built in Open Source communities, and quite frankly, if you look at listings of those (eg. Sourceforge listings), a good share of them are already Windows compatible or only work on Windows. Their customers ask for better support for OS software, so it makes business sense for them to support OS software better. If the value built by OS communities is accessible to people using Windows, and if on some occasions it even works better, then they have a winning combination. So Microsoft says they would like to be the best platform for Open Source software developers.
To give some background about me, I was a Windows user up to Windows 2000, which I completely quit around 2003 for various types of Linux distributions (started from the famous Hungarian variant: UHULinux, then went through RedHat to Ubuntu). Used Ubuntu as my desktop / development platform exclusively until this August, when I fall for Apple and using MacOS X since then mainly. So I have no strong religion for or against any of these systems, but admittedly had a Windows XP coming with my laptop which I did not use and have a Vista copy which I did not end up using. I liked Ubuntu better, because I could easily customize the system, and I took less time worrying about security day-to-day. Now I like MacOS X better because of the experience (although I "need" to use X apps, which are frankly far from integrated). Additionally to being instrumental in organizing conferences with W3C, Sun, Microsoft and PHP people represented alike, I take time to visit Linux (generic and vendor specific) and Microsoft conferences as well, and I look at what can I learn from each of them, getting ideas, inspiration and directions from each.
So I was completely open to what Microsoft would say, and seems they were also quite open to what the attendees will tell to them. For those of you who (like me) did not know, the company operates an Open Source center, which already connected with Firefox developers to make Firefox work better on Vista, and they even collaborate with Apache to help make their software work better on Windows. They teamed up with Novell to port Silverlight to Linux (Mono backed), and they even released a PHP extension (named sqlsrv) for their SQL server product. The IIS 7 team also architected their FastCGI implementation with a focus on PHP to make it more stable and faster on Windows. So they try to play nice with Open Source developers to help make their products work better on Windows.
It was interesting to read Larry Garfield's (also known as Crell in Drupal land) comment on Sean Coates' blog post about the event, saying that he would take interest if Microsoft would publish web technologies under the GPL or LGPL. Well, people at the Open Source Lab were tasked to first make phpBB work with their sqlsrv PHP extension (of which we have seen a demo of), and their current target is Drupal 6. They aim to contribute (and maintain!) their work, and these software are released under the GPL. So one thing we can expect in collaboration with Microsoft is better MS SQL Server support for Drupal, which would also come with better SQL abstraction in general (which as far as I was told only required minor code modifications so far to work with sqlsrv). That would of course help people using PostgreSQL, Oracle or IBM's DB2. We will see more on this the coming weeks.
The event evolved a great deal around us throwing and discussing feature requests and suggestions on several engineers and managers who were around, so they know where to reach with their software to help other PHP focused developers use their platform. Again, focusing on Drupal, I tried to push the IIS team to build URL rewriting support into their software, which they still treat as "later to do addon" functionality. In this SEO obsessed world, I think this is hard to pull off though, and Drupal site deployments obviously need this functionality. So we sat down with an engineer to discuss ways to support this with a quick dropin extension for IIS 7, so Drupal users can do their clean URLs easily. Again, the coming weeks will see some progress in this front, I hope.
All-in-all Microsoft would obviously like to make business, and Open Source makes business for them, especially if it works "better" with their system compared to other backends. Will Drupal be a Windows only content management framework? Absolutely not, no way. Will Drupal work better with other databases then MySQL and other servers then Apache? I hope so. There is great pressure to make Drupal work better with PostgreSQL, Oracle, MS SQL, IIS, Lighttpd, and so on. Everyone have their own criteria when choosing their backend system, which defines what makes one or the other "better", and I see the possibility to choose staying here for the time being. The new thing about Microsoft is that they acknowledge the Open Source software success and they put resources into collaborating.
Some more information and notes about sessions in Ben Ramsey's wiki.