The title of my blog post is the same as a article from
Darryl Taft at eweek. In the article (in the form of a slideshow) we see a list of
people, products, and technologies that make Microsoft important to the developer.
I agree with all of them. Things like having Bill Gates and Steve Balmer support developers,
tools like Visual Studio and Team Foundation Server, and technologies like web services
and AJAX really do provide a lot of compelling reasons to want to develop on the Microsoft
platform.
I also feel from a historical sense that the reason not to develop on the Microsoft
platform has some merit. In the past Microsoft has not shown a great commitment to
supporting many different platforms. Some of the reason is competitive and others
are economical. To be certain, Microsoft is not unique in this as other companies
have removed support for an OS or CPU architecture and not been branded as being untrustworthy,
but for some reason if Microsoft stops supporting RISC chips it is to help Intel and
not because there are fewer and fewer RISC machines being sold. I see that attitude
changing now. The change is slow in some areas (I don’t expect to see Windows open
sourced any time soon) but in others like the web where you can get the source code
for some of the offerings there is a strong commitment to allow customers to use the
products regardless of the support provided by Microsoft.
Another area is in interoperability. As part of the work I am doing now I have been
asked by Microsoft to go back and update a slide deck to point out the different places
where Microsoft is able to interoperate with other platforms. I also am volunteering
time with the Apache
Stonehenge project. The goal of the project is to show WS-* interoperability between
different web service stacks. We have just completed voting on the M1 release and
are discussing M2. There is a lot of excitement and energy on making sure that there
is interoperability and that anyone can download the code and see the interoperability
happening. There are other areas like information cards and the work being done around
identity where making sure that interoperability happens because without interoperability
it doesn’t do any good for anyone.
Microsoft has done a lot better at working with standards bodies and making sure that
they are implementing standards as they are developed without proprietary extensions
to the standards. Microsoft has a touch position in that they want to innovate and
be able to compete in the marketplace but at the same time they need to support standards
and be the same as everyone else so their products can be used. I think in the end
having all products be open source is not the ultimate answer but having some examples
of how to interoperate will go a long way to making sure that everything works well
together.
Read the complete post at http://www.grokdev.com/Blogs/scott/2009/06/01/19ReasonsWhyMicrosoftIsHugeWithDevelopersAnd1ReasonWhyNot.aspx