Jeremy Allison, a lead developer for the SAMBA team who now works for Google, wrote a piece recently for ZDNet where he discussed some of the reasons he believes open source has a vibrant future.
Okay, that's a pithy reduction, but I did provide the link for you to read yourself, so hop to it if you like (though most regulars have already read it, I presume). The point that jumped out at me, however, was the fact that, as the byline stated, "most software development is local activity, done directly for the benefit of people writing it."
Most software written today isn't created to be sold in a box from a software store (or now more likely downloaded from the Internet). Most of it is written in-house, heavily customized, or used in embedded systems, and for most businesses is an external cost, not a source of profit.
I have to agree (though I think he ignores somewhat the competitive advantage aspects of software, irrespective of whether they try to sell the result). Most software IS of the custom variety, which means it has to be done locally in order to enable close interaction between end-users and the people designing and writing the software. This is why I don't fear outsourcing...at all...and I'm a person who makes (almost) his entire living writing software.
I've done a number of pieces on outsourcing (or to be more precise, offshoring). This link points to one of the earliest, though I have many blog posts where Talkbacks were filled with border defenders intent on calling me a bad American for placing "our" jobs at risk. Irrespective of my dislike of a tendency to hide behind national borders as excuse to treat our fellow humans badly (if not wage economic war...tell me why Peru or Colombia, as examples, can be expected to avoid growth of drug-producing plants or resist the siren song of Hugo Chavez's "spend like there's no tomorrow" socialist revolution if the current Congress refuses to sign our free trade agreement with them), outsourcing isn't a risk in IT because most software IS done locally, and REQUIRES local contact with the people who will actually use the software.
I've seen lots of brand new software the development for which was offshored. 99% of the time, byzantine is too kind a word, as it makes you think of elegant churches in Istanbul and not the bureaucratic ineptitude that leads to 16 hours of training to learn a time entry program (I kid you not, as that was my experience at a past contract). There is plenty of scope to offshore maintenance tasks, at least those that don't require real changes in functionality. New functionality, or even more so, NEW software, of necessity must be kept local. If you don't, you end up with a useless glop that you have to use threats and financial pressure to get your employees to use.
Offshoring is no risk to American jobs. It might have been for a brief while as companies figured out how to use the new ability to offshore development and offshored tasks that never should have been offshored, but I think the failures have created a sufficient pile as to dissuade future users of offshore development resources from making the same mistakes.
As to the rest of Mr. Allison's points, as you can expect, I disagree that locally-created software means everything is trending to open source. Yes, I would say that as I work for Microsoft, but he works for Google, so bias springs from many sources...or rather, one's choice of employer is shaped by the internal conclusions people come to as part of the eternal debate raging inside each technology person's head (which means everybody is biased, present reader included).
Anyway, though it's true that only 15-20% of most software is the packaged proprietary variety, it's also true that 80-90% of the typical software stack is proprietary. In other words, that proprietary packaged stuff has a lot of bang for the buck, suggesting there is a reason people opt to pay for it.
So, I can have my cake and eat it, too. Software is created locally, but it does not mean that the majority of software should be open source unless open source somehow matched the bang-for-the-buck "value" of proprietary software.