It took me the longest time to realize open standards usually win over closed standards.
I want to make clear I was never an open source/free software zealot. I actually try to avoid certain technical debates and arguments that have been around since the invention of the computer.
“MY proprietary text editor is better than YOUR open source text editor!”
“MY open source programming language is SOOOO much better than your evil closed source programming language!”
“MY open operating system is WAAAY better than YOUR closed operating system!”
It still amazes me how HEATED these kinds of technical arguments happen, even among seasoned software developers. Isn’t life already too short already?
I try to use whatever happens to be the most appropriate tool, language, framework, etc, at hand. If that’s an open source tool or language, so be it. If it’s a closed source tool or language, so be it.
I don’t have the time or energy to get religious about favoring an open source solution versus a closed source solution…I have real project deadlines to meet at work, which ultimately influence my real yearly employee performance reviews.
I started out my professional software development career on the Microsoft stack and have pretty much stuck to that stack for the majority of my career.
I’ve had quite a few open source zealot colleagues who took issue with the fact that my career was built on the “evil Microsoft empire”.
However, that “evil Microsoft empire” has helped me build a successful professional software development career with marketable skills for years to come.
That being said, observing the results of certain Microsoft initiatives and more recently, the actions of the newly appointed CEO, have convinced me of the importance and relevance of open standards and technology.
We first need to understand how differently Microsoft behaved during it’s meteoric rise to power in the 1990s and early 2000s.
PCs ruled the technology roost during those years, and Microsoft was a powerhouse company that dominated the commercial software world with their two most valuable crown jewels, Microsoft Windows and Microsoft Office. They also woo’ed an army of software developers over to the Microsoft camp (including myself), to develop applications for their Windows operating system.
It may be hard to believe now, but Apple was on the verge of bankruptcy and irrelevancy around that same time period. The mindshare and marketshare for commercial software clearly belonged to Microsoft. It wasn’t until the return of Steve Jobs to Apple that their fortunes began to change, but that didn’t happen overnight either.
Under the leadership of Bill Gates and his successor, Steve Ballmer, they ruled the software landscape with an iron fist. Some of their business practices with PC manufacturers, and the bundling of their web browser, Internet Explorer, inside Microsoft Windows, even caught the notice and ire of the United States Justice Department.
It’s important to get the context and historical background of Microsoft back then. They were perfectly content writing commercial software for profit, and driving the landscape of software development.
Open source, of course, existed back then and was also rapidly gaining popularity with the Linux operating system. But Microsoft, at the time, was a much different Microsoft than the one we see today.
They fought tooth and nail against any technology that they perceived to be a threat against the Windows/Office hegemony.
There have been a number of famous technology battles which Microsoft have fought, that should help provide clues regarding the success or failure of openness versus proprietary technology.
One of the first major fights I remember Microsoft getting into, came about with the rise of the modern day Internet.
The company Netscape splashed onto the technology landscape with the world’s first commercial web browser.
Of course, Netscape’s massive success didn’t go unnoticed in Redmond, Washington. Netscape moved squarely into the crosshairs of Microsoft and became public enemy #1.
Microsoft released their own competing web browser, Internet Explorer, and introduced their own homegrown client side scripting language called VBScript, a flavor of their core Visual Basic language, used in thick client desktop applications for PCs.
A massive war ensued between Microsoft and Netscape. Microsoft actually got caught by surprise by the rise of the Internet. They did not want to get passed by the wayside by the new internet application model.
Can you guess who eventually won the scripting language wars?
VBScript, Microsoft’s proprietary and competing client side browser scripting language, never went through the same standards adoption process.
Around the same time as Netscape, meteoric rise to power, another company called Sun Microsystems, a provider of hardware server computers, introduced a new programming language called Java.
It caught on like wildfire, due to its ease of use compared to more complex computer languages like C++.
Microsoft found yet another competing company in their crosshairs … they weren’t going to idly standby and allow another company to sway developers away from the Windows platform.
So they actually created their own “flavor” of Java called J++, designed to allow developers to create Windows applications with their own J++ version of Java.
This got Microsoft into lawsuit hot water and Sun Microsystems immediately sued Microsoft for creating an “impure” version of Java.
Microsoft was eventually forced by the courts, to stop support of their J++ flavor of Java.
In November of 2006, Sun Microsystems converted their proprietary license of Java to the GNU General Public License, and thus converting Java from a closed source proprietary platform into a completely open source version today.
Almost 10 years later since Java’s conversion to the open source license model, Java is even more popular and embraced by heavy duty enterprises around the world.
And again, J++, Microsoft’s attempt to create a closed and proprietary competing technology, died and withered on the vine.
Are we starting to see a pattern here yet?
Fighting Flash with Silverlight
Yet again, another technology called Flash, developed by Adobe Systems, came across the technology landscape as a new client side scripting technology to provide more richer and dynamic functionality in a web browser.
Microsoft created their own competing technology called Silverlight.
In this case, BOTH Microsoft and Adobe created competing AND closed source, proprietary technologies and BOTH technologies have essentially died (or in the process of dying) on the vine.
Microsoft officially stopped supporting Silverlight as of version 5.0 as of 2012 and major browsers like Chrome will eventually and completely stop support for Silverlight.
Flash, is in the process of dying, as web developers and designers continue to drop support.
Flash has been categorized as a major virus and malware threat, and I’m guessing a lot of that has to do with the fact it remains a closed source and proprietary technology.
The Big Leadership Change
It doesn’t take a private investigator to conclude that each and every time Microsoft has attempted to push a closed source, and proprietary technology, sooner or later, it would fail to get adopted by developers.
Make no mistake, despite Microsoft’s failed technology pushes, they have remained a powerful and wealthy technology company.
Yet some massive personnel related changes have happened recently, that I believe were motivated by some long term strategic thinking.
I think Microsoft has finally realized what I have outlined and observed…that pushing proprietary technology does not serve their best interests.
Software developers are the LIFEBLOOD of Microsoft’s success. For the longest time, Microsoft has been able to attract many developers to their Windows platform.
The problem lies in the fact that software developers no longer need to be tied to the Windows operating system. End users, in general, no longer need to be tied to the Windows operating system.
THE NEW OPERATING SYSTEM IS THE INTERNET.
Software developer no longer need to program for the Windows operating system, as was necessary back in the 90’s and early 2000s!
This is obviously of GREAT concern to Microsoft. If end users AND software developers no longer need to use Windows, then Microsoft will no longer be able to rely on sales of Windows for revenue!
Microsoft needs to continue to attract software developers. But they have realized they can’t continue down the same path of pushing closed and proprietary technologies to developers.
The newly appointed Microsoft CEO, Satya Nadella, I believe, fully understands this.
He knows he can’t rely on the revenue of Microsoft Windows forever. People are already getting used to not paying for operating systems. Apple no no longer charges a dime for their own operating system, OS X. Their revenue model follows the classic razor blade model to a tee…they give away their operating system for free, in exchange for charging premium prices for their hardware.
Nadella realizes Microsoft will have to follow the same path and figure out new ways to make up for the lost revenue of Windows operating system sales.
But I’m already seeing fresh winds of change.
In November of 2014, Microsoft made a momentous technology announcement … they decided to open source .NET, their primary software programming API, for the past 15+ years.
Now I, as a software developer, am no longer tied to the Windows operating system, to develop Microsoft applications. I can now develop a Microsoft .NET powered application onto Linux and Mac.
I suppose you have to be a software developer or someone steeped in technology, to understand just how amazing this announcement was.
The Linux and Mac platforms have historically been competing technology platforms to Windows, ever since they were created.
You can bet Microsoft spared no expense in luring and fighting for developers away from those platforms.
To now be able to develop a Microsoft .NET application on an ARCHENEMY operating system, is nothing short of amazing to me.
This, probably even more so than the historical events we just covered, have shown to me that Microsoft is really turning over a new leaf and embracing open standards.
Not because they suddenly stopped caring about making money. I believe they’re doing this because they’ve realized it’s the path forward to continuing to attract new (and keep existing developers) developers.
Not in a techie “religious” sort of way, but based on hard evidence and truth that open standards technology tend to withstand the test of time. And the last thing a developer wants is invest in closed and proprietary technology standards that wither on the vine. And the last thing Microsoft can afford to lose are those same developers, so I’m expecting Microsoft to continue truly embracing open internet standards.
The company with the most developers attracts the most customers to their platform. And the company with the biggest platform usually commands the lions share of profits.
To see big, for megaprofit companies like Microsoft steering their behemoth ships towards open standards is truly a sight to see, especially given their extreme past hostility towards those same open standards.
How far could Microsoft go with this? Open sourcing their crown jewel operating system?
Maybe, maybe not.
But I’m no longer going to underestimate the power of open standards.