Openness is all the rage these days. In politics, candidates for elected office are expected to forfeit all traces of personal privacy, not only for themselves but for their family members as well. “Sunshine laws” force governmental entities to reveal details of their operations that were once kept under the table. In personal relationships, people are urged to share their deepest feelings and most secret thoughts. And, of course, in the software business, open standards comprise the Holy Grail of programming, and open source is seen as a moral imperative by some.
There is a great deal of discussion about “open systems” vs. “walled gardens,” with the former usually associated with UNIX/Linux/Android and companies such as Google, whereas the latter is associated with OS X/iOS and Windows and companies such as Apple and Microsoft.
Companies (at least most of them) are in business to make money, so it makes sense that they want to protect their ideas and the uniqueness of the products they create. The value of proprietary software (to the company that makes it) is that the company holds the exclusive legal right to that software. It’s not just about licensing fees — although that’s an important factor — but also about maintaining control over what others do with the software. You can license others to use it but prohibit them from making changes to it or reverse engineering it to find out exactly how it works.
Open and closed arguments
Some folks try to frame the “open” vs. “closed” debate in moral terms: open is better for society; it’s good, generous, kind, and loving; closed is bad, selfish, mean, and money-grubbing. Interestingly, given the fact that “openness” is often extolled by those who see themselves as more creative and less conformist than most, one of the big criticisms of proprietary software is that it fails to conform to (open) standards.
Of course, “open standard” means different things in different contexts. The standards published by the well-known standards organizations (ISO, IETF, ITU-T) can include specifications that require payment of licensing fees to implement. They’re considered “open” because the process of drafting and finalizing the standard is open to anyone who wants to participate.
The perils of being too proprietary
Moral issues aside, being too proprietary can work against a company, just as being too “closed” can work against an individual. In my working life, I occasionally run across people who believe they can create job security and become indispensable by refusing to share with anyone else the details of how they do their work. They won’t train anyone else to perform the tasks involved in their jobs, because they’re afraid if someone else is able to do it, they’ll be replaced.
That almost never works out to the advantage of the “knowledge hoarder” in the long run. One of several things can happen. In the best-case scenario, the hoarder keeps the job but can never take vacations because nobody else can fill in and can’t get promoted because then who would do the job that only he/she knows how to do?
In other cases, management and/or coworkers get fed up with the hoarder’s proprietary ways and figure out ways to work around them. They may adopt entirely new, more “open” systems or ways of doing things, or the hoarder may be ordered to cross-train others or even get fired or edged out of the organization.
Likewise, at first glance it might seem as if being as proprietary as possible is a good business plan for a software company. If users have to buy your software to open certain types of files or to get certain types of functionality, you’ll have “market security” — or so it would seem. But eventually users may get tired of paying big bucks to use your closed standard. Then they’ll look for alternatives, your solution will slowly fall out of favor, and your company will end up being less, rather than more, relevant.
Just how proprietary you should be involves walking a fine line. If your software won’t interoperate with common programs from other vendors (or has problems when it does interoperate), people are likely to think your software is buggy and doesn’t work. If it works great with solutions from other vendors, customers won’t have an incentive to use your competing programs.
Microsoft’s openness pledge
Back in 2008, Microsoft announced a new commitment to expand interoperability, provide more support for industry standards, and “foster more open engagement with customers and the industry, including open source communities.” The company obviously believes openness is what customers want and knows it’s important not just to be open but to promote itself as open.
Microsoft now has a web site that’s devoted to Openness, with focuses on open source, openness in the cloud, and openness in government. It hosts the Openness Blog and has links to resources and information about interoperability and standards, developers, partners, products, and other openness-related topics.
But it’s more than just a web site. Earlier this month, the company announced that they were launching a wholly owned subsidiary called Microsoft Open Technologies that will work with entities such as the Outercurve Foundation, the Apache Software Foundation, and other open source organizations.
The proof is in the pudding
Pledges and web sites and subsidiaries are all well and good, but how well is Microsoft walking the walk? Some have accused the company of only giving lip service to the openness idea. A Gartner report even led InformationWeek to label the 2008 openness initiative a “potential patent trap” and the European Union wasn’t impressed.
Four years later, is Microsoft really fully embracing openness? The answer seems to be yes — and no.
Midsize Insider reported earlier this month that Microsoft has become an important contributor to the development of Linux — ranking number 17 on the annual list of contributors to the Linux kernel (this was primarily about making Linux work as a guest operating system on Hyper-V).
Microsoft has also deemphasized its proprietary Silverlight technology in favor of an open standard, HTML 5. At the 2010 Professional Developers Conference (PDC), Bob Muglia noted that Microsoft’s strategy for Silverlight had “shifted” and Steve Ballmer issued a statement saying that HTML 5 would provide the broadest, cross-platform reach across devices.”
Then during the 2011 BUILD conference (which replaced PDC), Steven Sinofsky announced that “the Metro style browser in Windows 8 is as HTML 5-only as possible, and plug-in free.” Soon after, we started hearing unconfirmed rumors that version 5.0 will be the last version of Silverlight. More recently, Mary Jo Foley quoted Paul Thurrott’s statement that “Silverlight is dead, cancelled internally by Microsoft.”
A few weeks ago, Microsoft announced the release of source code for ASP.NET MVC, Web API, and Web Pages (Razor) under the Apache 2.0 open source license. The open development model was also adopted for the Windows Azure SDK, and Microsoft has opened up the SQL Server platform with new interoperability tools, including a SQL Server ODBC driver for Linux. A couple of months ago, Microsoft released open source tools that support Open Data Protocol for PHP and MySQL developers.
On the other hand
At the same time Microsoft is promoting all this openness for developers, some feel they have also closed up in some ways, particularly with Windows Phone. By emulating Apple in regard to lack of choice and limited configurability (in comparison to Android), Microsoft has attracted a good deal of criticism. Microsoft deflected some of that criticism when they announced they were working with the developers of ChevronWP7, software that could be used to unlock Windows Phone devices so you could install unsigned apps. However, that program has now been terminated and those who paid for the unlock are going to find their phones relocked.
Now many folks are up in arms over the news that users of Windows on ARM (WOA) — which is expected to be the basis of many Windows 8 tablets — will be limited to running software that’s distributed by Microsoft.
The company certainly has its reasons for those design decisions. The goal is undoubtedly better stability and reliability through more control over the apps. However, because phones and tablets are considered the growth market in this so-called “post PC era,” the perception that Microsoft is becoming more closed in regard to those devices (in comparison to the old Windows Mobile) hurts the image of increased openness that the company is trying so hard to cultivate.