And, I think that is actually appropriate because I'm really not the world's best programmer, I think it's a good thing that I'm not touching the code.
Companies have been trying to figure out what it is that makes open source work.
Engineers in the developed world should be arguing not for protectionism but for trade agreements that seek to establish rules that result in a real rise in living standards. This will ensure that outsourcing is a positive force in the developing nation's economy and not an exploitative one.
No one wants one language. There are applications when it's appropriate to write something in C rather than in Java. If you want to write something where performance is much more important than extensibility, then you might want to choose C rather than Java.
What's kept Java from being used as widely as possible is there hasn't been an Open Source implementation of it that's gotten really widespread use.
I'm not of the opinion that all software will be open source software. There is certain software that fits a niche that is only useful to a particular company or person: for example, the software immediately behind a web site's user interface. But the vast majority of software is actually pretty generic.