Too often PHP free software is alot like a teenager, caught in the middle trying to be all things to all people. Trying to be all things to all people is impossible. At the most you'll only end of with the appearance of being all things. And that only if you have a fleet of lawyers and PR people to spread your hopeful untruths. Politicians like Obama and McCain and companies like Microsoft fit this genre. Drupal, Joomla, Wordpress, Cake and few other PHP projects fall in to this category too. Way too much code for way to little effect. And sometimes worse -- code for code's sake only! Or just because "I can and I think it's neat"!
Consider Cake. In a typical Cake application 80% of execution time is spent preparing to handle the request. That's how long it takes to set up all the components, models and all the other pointless stuff it does just to start the thing.
Often PHP projects over provide functionality that is not needed or is over the top for the person employing the software. Honestly using Drupal for a blog?
I know I've already covered this topic!
Today I read over on the Site Point blog that Rasmus Lerdorf agrees with me! Less really is more!
That's why I'm writing Bloogers. It contains only the code I need and no more. Can you imagine what the code would be like if I had tried to use Propel and Yaml with it? I know, I might want to change databases! Riiiigggght. If I do PDO provides all the abstraction I need. And if I did I would want to optimize all my SQL to take advantage of all the new functionality of my new RDBMS.
For now I'm keeping it simple stoopid. Build applications for a specific platform. Build them with the minimal code to meet functional requirements.
Cheers!