How about i-net Clear Reports (used to be i-net Crystal-Clear).
Though not free, you should also consider this low-cost, non-free, non-open-source reporting solution that can fully compete with Crystal Reports - and is Java-based.
I think it's even more cost efficient than "free ones". A small company may have to think closely about free things, but will then have to invest into manpower to find out how everything works and so on. Large companies will for sure subscribe to premium support services that cost a lot. See this article for reference
i-net Clear Reports has a very low price tag with great support for free and even better premium support via yearly subscriptions.
Disclosure: Yeah, I work for the company who built this, so I'm biased. But I honestly believe in what I just wrote.