What you'll need most is courage. It is not an easy path that you've set your foot upon.
I think the way IBM has embraced the open source philosophy has been quite astonishing, but gratifying. I hope they'll do very well with it.
The choice of approaches could be made the responsibility of the programmer.
You know, I've got my hands in 30 or 40 different pots simultaneously and so I have a little bit of all of that where I work.
What about writing it first and rationalizing it afterwards?
All language designers are arrogant. Goes with the territory.