I spent some time earlier this year exploring various NLP engines (Freeling, OpenNLP, DELPH-IN, LingPipe, UIMA, and a few others). Of them, FreeLing (http://nlp.lsi.upc.edu/freeling/) was far and away the technical leader for my needs:
- Decent documentation
- Relatively easy to compile and install
- Working (and practical) example code
- Easily configured
- Extremely flexible design
- Supports many written languages
- Supports Java, C++, and has a simple client-server model
- Good execution time (fast code)
- Solid code base (no crashes in six months)
SENNA by Collobert + Weston do SRL.
It's free for non-commercial use.
Hoifung Poon's unsupervised semantic parser can be used for SRL. It's available as open-source (I think?), but will require more work out of the box to get it working. Namely, you'll have to train it on your data, and convert semantic parses to SRL.