Has offshoring ever been a significant factor in this arena? Given the profoundly proprietary nature of the systems being built, I would think that unlikely. Offshoring development is a good way to find your custom software reskinned and sold to a competitor without much legal recourse.
Also, is 'mainstream' programming that common of a need? I had read (here on a HN comment thread) awhile ago that many organizations use commercial languages that simply aren't available outside of the financial services sector (I forget the name, it was 1 or 2 letters... KQ or something like that, an array programming language whose code looks like APL). I wondered how people broke into such a market. It's always seemed like an environment with interesting challenges which would have pretty objective goals and practices out of need.