In my experience they are big, and tend to lean heavily on php, which isn't much of a plus in my book (mostly because of php's traditional deployment model as a web server module, and issues with session-files and db connections being shared across different scripts -- things that aren't intrinsic to php, but common enough in large project that aim to be able to install and run easily "anywhere").
I have yet to find something light weight that I prefer using, but if you really want "an alternative to Exchange", you might want to look at Kolab: https://en.wikipedia.org/wiki/Kolab ,SoGo: http://sogo.nu/ (iRedMail bundles some SoGo components) or Citadel: http://www.citadel.org.
I find that a lot of smaller businesses don't need everything Exchange does, and larger ones should just consider Exchange. It's simply a pragmatic choice, though if someone has an Exchange alternative and makes if FAR easier to setup, I'm all for it. Contacts + Calendar + Mail + Team orchestration is integrated with Exchange+Outlook better than anything else I've tried.