I tried to make db4o run on Apache Harmony[1], which is an open source J2SE implementation under Apache License V2. After 2 days struggling, fixing some bugs in Harmony, db4o runs successfully on Apache Harmony now! All the test cases (except sun jre dependent test cases) are passed on Harmony. Now people have one more choice that considering to use Harmony as java runtime environment. Hopefully db4o core could run on any popular open source jvms! (Actually, only one left, kaffe + gnu classpath).
My environment is :
windows xp & sp2 + IBM VME[2] + Apache Harmony + db4o 5.7
I didn't do performance benchmark with db4o on Harmony, but from the elapsed time to run all tests, it seems:
1. Harmony is a bit slower than SUN JDK 5 when running all tests in file and single c/s mode. About 5%-30% downgrade.
2. Harmony has very good performance when executing concurreny test cases, which is 200%-350% faster than SUN JDK 5.
The important things are:
1. Harmony provides a community-developed modular runtime (VM and class library) architecture. VM is pluggable, classlib is also well-modularized. i.e, you could use DRLVM(an open source vm) if you'd like with Harmony classlib.
2. You may also customize the classlib. That's a big advantage over sun's jre. Technically, It's hard to customize rt.jar of sun jre. You may customize Harmony as ME, SE, or even (ME + SE)/2 ... (for legal problem, please ask them on harmony community mailing list. But so far as I know, Apache License v2 allowes such customization.)
3. Harmony hasn't started performance optimization yet. I believe the performance would be improved in 2007.
4. Last not the least, OPEN SOURCE always does matter!
Notes: Apache Harmony is under AL v2, while db4o is under GPL license for developers.
[1] Apache Harmony official website: http://incubator.apache.org/harmony/
[2] IBM VME download: http://www-128.ibm.com/developerworks/java/jdk/harmony/index.html