Bricolage is probably the best choice for a flexible system with no programming required. OpenInteract is the best choice for a system that you intend to build to your needs, with custom code. The others make more assumptions about the data model you want to use and the way you want to present it.