Because of a Supreme Court decision in favor of a contractor who sued Microsoft for employee benefits, arguing that he was as good as employed there because he had been working his same position for years and years, US companies are limiting US contractor terms to avoid incurring that kind of liability themselves. So the contract people who know the most about the operation can't even be kept through outsourcers. That is, unless the contractor remains outside of the jurisdiction of the USA. Somehow it doesn't seem fair. Is this something that Congress could fix?
Where I am now, they have a strictly enforced two-year limit on contractors. You can only be there as a contractor two years, then you MUST be gone at least three months before you can be put up for any other positions. The folks hate it, because it's a big brain drain (really, it takes two years to get to expert status on a system), but it's the company's law and there aren't exceptions made.
I did a contract stint at this same company ten years ago, and back then, there were no limits. There had been contractors there from the same company for 5+ years, and many of them were eventually offered full-time jobs. Now, they also have a strict policy against "rent to own"; they absolutely refuse to transition a contractor over to a full-time employee spot, no matter how good or useful the contractor is.
}:-)4