A stroll to "Other side" of the world!
Last week, I had the privilege of walking into Microsoft Global Technology Support Center (Bangalore) and talk about Open Source. While the agenda as per plan was about explaining the features, benefits and advantages of LAMP stack, we did have a lot of digression into other facets of Linux, Apache and FOSS in general. It was indeed a wonderful experience being there interacting with some of the brilliant engineers at Microsoft and exchanging ideas with them.
I gave them a talk on features of Linux, Apache, MySQL and PHP. They were not impressed with the technology stack (especially PHP and MySQL). Their claim was that ASP.NET and MS SQL Server scales a lot better with more features to boot with, and much easier to use and deploy. Yes, I had to admit their claims - but thats not what most companies want. Most companies want a technology stack thats completely flexible to begin with. Most companies want a technology stack thats "free" (as in freedom/price/initial cost of deployment). The fact is, most companies tend to postpone the complexities.
Scalability, support, ease of management are things that are postponed to a later stage (mostly to be shelved downwards on the OS/Network architecture stack).
One thing that I realized about myself - I had completely lost track about any latest development at Microsoft. Since, 2000 - I had become a "completely" full-time Linux/*BSD user. I had no idea of what Windows 2003 server was, nor did I even glimpse at Windows Vista (which I managed to do - last week at Microsoft). Infact, I never had to depend on Microsoft Windows or any products that empower them anymore - GNU/Linux served all my necessities.
The strong argument of Microsoft engineers who attended the discussion against me were - "Things have changed drastically since the last 7 years... you are talking about bugs and vulnerabilities that existed 7 years ago. Technology at Microsoft has come a long way in terms of stability, improvement and many other aspects over these 7 years..."
There were some key facts/thoughts that came up to me after the discussion:
Microsoft has changed a lot over the last couple of years. They are coming to terms with the practicality of the software ecosystem today. Rather than "fight" Free Software/Open Source, they are also willing to embrace them to serve their business goals.
There was one very important quote that came up - "A healthy system will always have two or more conflicting ideologies. If a system is encompassed with just one way of thinking or just one way of doing things - it is fundamentally flawed". Just like we have Communism Vs. Capitalism, Democrats Vs. Republicans, now we also have Closed Source/Proprietary/Commercial Vs. FOSS.
There was a time when the PC industry was dominated my Microsoft (I'm talking about the '80s and '90s) - where we had not much of a choice, we lived in a system where there was just one way of doing things. Today, we have a choice, and this choice has in a way led to healthy competition - to make better products.
Microsoft is now strongly focussed on building products that are better, scalable, secure, easier to manage and deploy. With many FOSS products slowly eating into many commercial product's market share - it has become evident that to maintain customers and to retain them in the long run, Microsoft has to stay in the edge for providing features and backup with support on their products.
One of the key factors that foster spiraling growth of any product is from its community. The engineers who attended the session were eager to know my many university students, colleges, start-up companies and many academicians in general are up *against* Microsoft today. A hard question to answer without being partial to the FOSS way of thinking :-)
Maybe the whole world could be in blind belief that Microsoft runs an evil empire. But when I walked into their office, all I found was brilliant engineers who are willing to listen. They are tech-savvy, work and learn from various upcoming technologies without politics - a true sign of an Engineer!
While the session ended, I got a glimpse of the features and power of ASP.NET. Still, I must say that it should never be compared with the LAMP stack. Rather it is a technology armed against the J2EE stack.
At the end of it all, I'm happy that FOSS is pushing closed source software companies to be more responsible, customer-centric and build products that add "value" - which is a very good sign. After all, people will now 'pay' for software if it makes their life simple and add value right ?!
Lets hope better software to come in the future :-)
Interesting experience, it does help to see things from different perspectives. I just hope that more people concentrate on improving software rather than arguing about "evil empires".
P.S. What do you define good or better software? Easier for the user or feature rich or more secure? Because it is often said that you cannot improve security without affecting ease of use.
From my perspective, good software *must* be simple and user-friendly. And yes, when I mean better software - I'm talking about software that is robust, bug-free and unambiguous to a large extent.
In my experience, I've always found complex feature-rich software being plagued security flaws/vulnerabilities. Of course, there are cases (like on Linux) where making a software more secure often affects usability (mainly for the power-user) - which I claim as an architectural flaw that needs to re-factored ground-up.
Thank you for your time :-)