I've mentioned several open source ESB in this previous answer but, given your requirements, I'd short list ServiceMix, JBossESB and OpenESB.
I don't have much experience with JBossESB but I received good feedback from trustable sources and I know it has good tooling. OpenESB is definitely a serious candidate (although there is a little incertitude about its future). I don't find the documentation of Service Mix perfect (hard to find things).
So my choice would be between OpenESB and JBossESB (note that they don't cover governance which is actually more a human than a technical issue in my opinion).