The great thing about open source applications such as php, mysql, sendmail etc is that there is a great range of those apps. Many versions and variations of those apps to allow for a wide and wonderful range of configurations.
The problem comes when you want to make application A talk to application B. Especially if application B comes in 57 flavours.
So zimbra ships with it's own copies of those sub-apps. This is annoying to some, but it's done for a very simple reason: To Make It Work.
Without this, Zimbra would work perfectly for the small population of people for whom dependancy resolution is a great way to spend a saturday night; but the the rest of the system admins, for whom a great day is one where he's not being lynched by the users because the email is offline for the tenth time that day, packaged versions = teh winzor.
Bundling the dependancies ensures everything works on a virgin server, but causes problems on a server with lots installed. The solution then, is install Zimbra on it's own server (virtualised is fine) using a supported distribution and then enjoy the benefits of a maintained source tree and a reliable email solution.
