This is an age old debate.
I think that overall the Best of Breed way of building a company or an internet service or anything related to technology (mainly software) was the way you had to do things. Because when the phrase was coined OpenSource wasn't around or in such a state of infancy it was considered crappy free software that only "propeller heads" or geeks would use.
Well, some OpenSource software is still pretty much for only experienced developers and power users. However, there are many big named OpenSource software systems that have become a Best of Breed within the OpenSource movement.
But my thoughts was not really about the issue between say RedHat vs Suse or MySQL vs PostgreSQL. Rather, more so the idea of buying HP or IBM Proprietary RISC based servers vs buying Intel/AMD based units. (Note: HP & IBM's RISC based systems use their own flavor of unix, AIX, HP-UX, vs x86 based servers running Linux).
Or running Oracle or Informix vs MySQL or PostgreSQL. Running JAVA vs Python or PHP.
Those examples are much more related to building software. But it goes further into the business realm these days.
MS-Office vs StarOffice.
MS-Project vs DotProject
SalesForce/ACT vs SugarCRM
Visio vs Gliffy
Now usually the large companies like Microsoft and Oracle will immediately start saying "Total Cost of Ownership for OpenSource is higher than with us."
That statement has some valid yet still flawed logic.
1. Harder to install
Con - Yes, more a competent IT staff is required to install. Meaning either higher wage or other expense for training.
Pro - Don't you want to have an IT staff that is competent and trained. Out of the box software can be dumbed down to allow for use by the less technically savvy. However, the more you dumb it down, the less powerful it becomes.
2. There is no support for OpenSource
Con - There is no FREE telephone support for OpenSource software. You have to purchase telephone/live support.
Pro - There is plenty of FREE online support. And the support costs for OpenSource are almost always less than those from a Best of Breed. Note: Certain companies that offer Operating Systems for businesses allow for like 30-60 minutes of free telephone support after which the rate becomes $25-50 an hour.
(I will have to come back to this later, those are the two main arguements that I can remember off the top of my head.)
I would like to note that I did a comparison for Informix vs MySQL training. And to become fully trained and certified in MySQL the cost if about 50% of the comperable training for Informix. On one hand you could say, MySQL isn't as complex as Informix, so that is why the training costs less. Because Informix is more complex, thus it is better.
I usually believe that less is more. And the less complex something is to achieve a goal the better, less chance of failure, less to learn.
I believe that properly tuned MySQL can perform on a level equal to an Informix installation.
I know that there are benchmarks out that that show Informix beats MySQL on a number of operations. But here is something to think about.
When you buy a BIG expensive piece of software like a database engine or even an HP-UX based box. You are limiting your architectural plans due to the cost of equipment and software.
When you utilize OpenSource to buy cheap hardware (quality still, just cheaper) and cheap software, you can build your application or setup your business to handle perfomance problems.
So if one MySQL box can only handle say 80% of the load of an Informix box. But the cost of the Informix box is about double if not triple the cost of MySQL. Why not just buy two MySQL boxes, split the load and move on.
Because remember, when we are talking about building apps. If there is one box, you best have a spare. This means more hardware and more software. So it always makes sense to use the cheapest hardware you can, without sacrificing needed quality.
And again, who wouldn't want competently trained IT staff.
Yeah, blatant Futurama reference.
So I have decided overall that this is my personal blog. I am going to have to keep some blogs for work and side project, but this one is all me.
Moving on, I was enlisted by my buddy to help them convert from Access to MySql on their enterprise database. Now, don't get me wrong I loved Access, back in the day. Before MySql was around. Because that was the Poor man's database, now it is just the ignorant man's database.
MySql is fscking easy. I mean if you consider yourself a linux user you can probably install MySql. If your a windows users, it is so, so much easier. I honestly had the database engine installed in about 10 minuts.
Now there is a trick to converting between Access and MySql. However, a good chunk of the work can be done using their Migration tool. But as I have found out it doesn't flawlessly convert. Things like default values and autoincrement fields get lost in the shuffle. So if your converting, you will need to go through the access database and make a list, check it twice and make sure that the conversion is not naughty, but nice.
I am not going to place any blame on the coder who was enlisted to modify the code from Access to MySql, cuz well he isn't the guy that wrote it originally. The original coder, i mean honestly, I never met the man, but from what I have seen as the results and from hearsay he is a fscking moron.
But Asp.Net just sucks. I don't like it. Yes, Yes it is better than the old ASP VbScript. Which I was fairly familiar with.
I AM A LAMP SNOB!
I don't necessarily say "Fsck you Micro$oft" but I definitely can be considered that as of late. I dig LAMP (Linux Apache MySql PHP). I think the bang for your buck is with Linux.
I mean sure there is more TCO (total cost of ownership) in regards to your staff having ot be more skillful with computers, but isn't that a good thing? I mean to have a staff that is more competent vs one thta just gets by with simple point and click?
I mean i started out as the latter and worked my way up into the ranks of someone who can install windows or linux. I also learned to install and admin apache and mysql.
This endevour was my first attempt at a windows based MySql install. Like I said it was really, really easy. The tweaking of the conversion from Access to MySql is something I should have paid more attention to.
Anyway, I know there are a lot of big sites that run ASP.Net but overall I have not been impressed with it as a techology. Windows based platforms seem to need more horsepower than a LAMP based platform. And there seem to be a lot more creative (and cheaper) methods for building redundant clusters.
So the cheap bastard in me loves LAMP because there is no lincensing costs. The even cheaper bastard in me loves the fact that you can use a P3-600 with 1 GB of ram and have a half decent web server.