I know the title is a bit vague so I'll try to be more precise in explaining what's my actual question (I apologize in advance if this is a duplicate).
I work for a small company (8 people) that works with Linux / PHP / MySQL to deliver various solutions (CRM amongst everything) to several larger financial institutions.
The process of actually winning the contracts was always painful and I was tasked with explaining why use MySQL and not MSSQL or PostgreSQL or Oracle 11g, why use PHP and not a compiled language or ASP.NET or Java and the list goes on.
And this is the problem - I really am not proficient enough with mentioned commercial solutions (databases). I've done some worth with mentioned databases, but that was simple testing, such as how to create view in this RDBMS opposed to MySQL, how to do a trigger here, how to declare a stored procedure here, how to profile a query - but, I've never worked with any of the mentioned databases extensively as much as I have with MySQL.
On the other hand, I've been introduced to MySQL in early 2000. only to be more and more proficient with it, its quirks and even extending it trough UDFs or hacking the source code in order to see how things work behind the scene - so, as I like to think, I know how MySQL works, what to expect of it and how to add functionality we require.
A few days ago we started initial negotiations with our next-to-be client who is in need of bespoke solution for client / business management. They have their own team, however those people didn't succeed in delivering what the company actually needs - which is where my company enters. Naturally, first thing I wanted to know was what kind of technology was used to build systems that are currently running and keeping the client's company running - and I saw things from Postgres for smaller apps to MSSQL for the actual client database.
Of course, as the company isn't satisfied with their current system(s), that implies something is going wrong. Currently, there's no way of synchronizing data between the main company and its branches, thus - there's no unified client database. It's incredibly hard to track expenses, again - due to disparate systems.
And here is what I have problems with - as soon as I mentioned technology we use, the company's development team frowned upon us and belittled us saying that open source technologies are insecure, buggy, prone to hacking, slow opposed to commercial ones (without any actual proof).
Just for argument's sake, I've worked with larger datasets built upon MySQL (25TB+) that stores various information and I've been able to keep up with any requirement I had so far when it comes to response times and performance of the application built upon MySQL.
But, since I am not experienced enough with other databases - I'm unable to provide actual facts representing that technology I use is at least on par (if not better + cheaper!) than commercial solutions. How would you defend your (my) position when faced with a technical person who favors Microsoft's software over open source one in a company that employs several tens of thousands of people with over 10 million customers? Would you even choose MySQL for the database behind a system that should be powering such a large company? If not, what would you choose and why?
Sorry for the wall of text :)