Let’s put aside all the discussion of re-branding Microsoft to make them more hip and talk about the developer platform. I may be stating the obvious here on what many have already witnessed at Microsoft over the past few years, but there appears to be a paradigm shift in the way the company is operating from a development standpoint.
Recently, at ThatConference, I listened to Scott Hanselman give his talk on “One ASP.net” and his discussion reinforced much of what I had been experiencing lately from a developer perspective. The underlying principal seems to be “If it sells more Windows licenses, it’s good for Microsoft“. Gone are the days where Microsoft is trying to push a particular piece of technology or development approach, and third party platforms/libraries are being invited to join the party.
That may seem “evil” to focus only on licensing, but think about it for a moment. What will keep the enterprise, and consumers, focused on buying Microsoft products? That’s right, developers. It’s the same audience that Google, Apple, HP, and everyone is trying to attract right now. Windows is the bread & butter of the Microsoft ecosystem, and maintaining a positive relationship with developers by listening to the community and providing top notch tooling will help enable that.
What are some examples? Well, for those may not already be following the Microsoft development environment, consider that historically Microsoft has never been “open source” as a business. I prefer to use that term in quotes, because Google can hardly consider themselves “open source”. If they were, they would publish their page rank algorithm, which is the main money driver for their business, but I digress. Things have changed at Microsoft in recent years. MVC, Entity Framework, Azure SDK, and much more has been released as open source software. This isn’t the marketing version of “open source” either, you can actually branch and check-in.
Microsoft has even demonstrated this new strategy with CodePlex, a free open source project hosting site. Phil Haack and his team produced the NuGet package manager which allows other developers, and even Microsoft, to continuously deploy library packages into your projects painlessly. No more waiting for the latest .NET framework release, just check NuGet. Look a bit deeper, and you’ll find that Windows Azure now allows you to host PHP, Node.js, and even run Linux virtual machines (*gasp*).
If you’re like me, you’re frustrated that Microsoft Visual Studio isn’t free development software. This has changed for me recently after I came to a few realizations. If I am a student, I can get Visual Studio FREE from Microsoft Dreamspark. If I am a new startup (and supporting Microsoft technology), I can get Visual Studio FREE from Microsoft Bizspark. Even the “Express” (free) versions of Visual Studio now have unit testing support. Each release of the Express versions is offering more and more functionality. Finally, consider that Visual Studio 2012 Professional is now $499. To put that in perspective, a license for Photoshop (at the time of this post) will set you back $700. A final comment on this, is that I have used Eclipse, Sublime, Xcode, and other IDEs. Visual Studio is on another level as far as the quality, UI, feature-richness, and speed of the IDE that the others cannot match. It is perfectly reasonable to expect a mild cost to be associated with a superior product.
In conclusion, I feel that some some of the bashing that Microsoft gets is warranted, but any of it that is directed at the developer platform needs to stop or at least be tempered. The new Microsoft appears completely focused on listening to the community as well as providing top notch tooling and services to get us to the end result, which is making great applications.