As you may know, my rear is parked firmly on the fence when it comes to opensource. I am continuing to have difficulty determining how opensource can be a profitable venture for a software development company. This week I noticed a couple more speedhumps in the opensource camp. Remember I am looking at these issues from the perspective of a business deciding whether to use (or continue to use) opensource software.
In the news recently is the struggle with Mambo http://www.phparch.com/news/2461. Forking the code is possibly the biggest issue, since the code is free, anyone can copy the code and start their own version. This ordinarily isn't a big problem, except when the core developers have a spat and go their seperate ways. When this happens businesses using the code need to decide which path to follow.
Secondly, backward compatibility is an afterthought. mySQL has got it right but other don't. We are using PostgreSQL on a customer's site and they recently upgraded from 7.3.3 to 7.4. Looking at the version numbers this one should be able to happily ascertain that it is a minor upgrade. Alas no. Big chunks broke because the underlying database system now behaves differently. In 7.3 if you try to insert a string "1" into an integer field it would work with no issues. in 7.4 you must specifically insert an integer 1 or the entire insert/update fails. This happens because none of the developers are answerable to businesses using the software. This is exactly why Microsoft software is so commercially successful - they take great pains to make upgrades and installation very simple and hugely backward compatible.