ECMA also passed OO-XML as international standard with things like "DoLineSpacingAsWord95" in the spec. The only real international standards start with ISO ya i know about mono, its stuck at 1.1 (its 2.0 support is a bit patchy latest ms products use 3.0 now), thats the problem i have with it you cant just take alot of c# code straight across without any problems. Or you are forced to use out of date functions etc, when you'd rather use the modern ones. Thats why I would recommend Java still for this project, (As much as wish java was like c#, i find c# alot easier to write) If it was a windows only project C# makes the most sence, but if you don't want to lock people out, Java still wins imo. As for openness Java is completely open source, http://openjdk.java.net/ how much more open do you want?