I'ld say Java, it's cross-platform, for almost every platform is a JRE.
Open source doesn't have to do a lot with the language, compiled C++ isn't revertable to the source, but if you just put the source online, it's an open-source program. In Java you can actually decompile the program from...