If You Love Your Developers, Set Them Free
Every once in a while, Microsoft toys with the idea of taking its dev tools cross-platform. But these flirtations are typically accompanied by a fear of developer infidelity and often abandoned as a result. The mixed signals are, frankly, confusing. It's time for Microsoft to get less fickle and decide which way it wants to go.
Cross-platform features can seem like a good idea at first, only to produce ramifications that cause remorse. Case in point is Silverlight and its ability to run on Mac OS. Some at Microsoft love the idea that .NET can have reach similar to that of Flash, while others may fear that this flexibility threatens Windows. It's easy for us to be impatient and see Microsoft as waffling, but from Redmond's point of view, I understand the equivocations.
This is not a new conflict. During the beta period for an early version of Visual Basic, I remember finding Mac-specific functions in the documentation. But they were never implemented and the documentation entries were eventually removed. Another historical relic was a product (eventually acquired by Sun Microsystems) from a company called Chili!soft, that let classic ASP code run on non-Windows Web servers. Some developers and hosters used it, but Microsoft, despite tolerating it, never embraced the technology. The power was in our hands, but without Redmond's blessing it seemed unworthy of our investment.
This issue isn't going away; in fact, it's more relevant than ever. Virtualization, the cloud and HTML5 each bring up the cross-platform question and blur the distinction between OSes. This creates conflicts, and Microsoft and its partners need to work through them.
Acquiring Minds Want to Know
On Nov. 22, 2010, Novell was acquired by Attachmate. Novell also announced that a consortium of technology companies led by Microsoft funded about 20 percent of the $2.2 billion purchase price, and that the consortium was assuming ownership of various Novell intellectual property (IP) assets in return. What's interesting is that the Novell Mono project (which encompasses an open source implementation of .NET on Linux) was not among the acquired assets. Mono goes to Attachmate instead.
Mono is sort of a modern-day Chili!soft ASP, and while Microsoft has warmed to Mono more than its Classic ASP forebear, the romance has been off-and-on. Similarly, MonoTouch and MonoDroid, which allow .NET developers to create applications in C# for the iOS (iPhone/iPad) and Android platforms, have received benign neglect from Microsoft, at best. And if Microsoft has misgivings around Mono on the Mac, imagine how it feels about Moonlight, the Mono (that is, Linux) implementation of Silverlight.
If Microsoft didn't adopt Mono from Novell, what IP assets did it acquire? I bet some of them will help ensure Linux runs well on Hyper-V. And if that's true, then the Attachmate-Novell transaction is about broadening Microsoft's cross-platform horizons anyway, so why give Mono the cold shoulder?
If Linux on Hyper-V is the present, then Linux on Windows Azure could be the near future. As the Windows franchise moves to the cloud, cross-platform capabilities enhance its value and it gets harder to see the platform game as zero-sum. Even on the client, HTML5 versatility makes Windows at once less proprietary and more compelling. The paradigm is shifting.
Think Outside the Window
Microsoft must protect Windows, but it's time for Redmond to consider the benefits of a cross-platform-friendly strategy, including cross-platform tools that enhance developer loyalty. Yes, it can be scary when people you love are away from home, but for the relationship to work there must be trust. Keep things interesting at home, and that's where developers will want to be. Grant them freedom of movement (and the tools and languages that can move with them) when they need it and home is where they will return. The relationship will be stronger, richer and more fun.
There was a time when this sort of thinking was probably na•ve. Microsoft needed to keep developers more captive to prevent Windows from being commoditized. Some companies, such as Apple, hew to that philosophy today. But the game is changing and the campaign playbook needs to change with it. The best platforms will have "big tent" planks, even as they accommodate their base constituency best. Microsoft seems to be moving to that strategy in fits and starts. Now it needs to pursue it without reservation.
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!