You don't have a right to an IT job. If you have one, great. Make sure you have skills that are so valuable that you won't be outsourced. If you can't do that, then find another line of work, you lazy bastard. Should the government have done something to protect operators of horse drawn buggies that were put out of business when cars came to the market? I was thinking about going into IT. The recent fad of outsourcing makes me rethink my priorities. I don't want to benefit by causing prices to rise beyond free market levels and screwing my fellow citizens who have little to do with this. When Microsoft pleaded that the GPL would destroy their ability to make money, someone responded, "Tough. Adapt or die." So, to those IT workers who feel they're being cheated by having something taken from them, when in fact they did not have an inherent right to what they have: Tough. Adapt or die. Offer something in America in IT that foreigners cannot offer or find some other line of business. I refuse to support people who want to screw me.
The jobs get outsourced to Indian Consulants, but the end result in products or whatever is still sold here for the same amount, only with a much higher profit. BUT, here's the rub, we have Americans making less so they can't afford to buy a bunch of overpriced american goods any more. A bunch of Indian programers and accountants making $6000 a year aren't going to be lining up to $1500 Amana Fridges, $30000+ ford SUVs or $20 brittany spears cds. Except the CEO's still want to make thier 20 million a year salaries. There will be massive defaltion, something has to give. The CEO's want to make all the money, only problem if they have all the money and they aren't paying US and they aren't paying the Indians a whole lot, no one has the money to buy thier stuff.
There has been a sort of tension in the commercial free operating system world: (a) Are we building a free alternative to proprietary software? or (b) Are we building a commodity, $0-price OS component to lower the cost of proprietary applications? If the goal is (a), the we need an architect. We need to come up with an inexpensive-to-develop architecture that, nevertheless, contains viable solutions for the needs of our markets. If the goal is (b), then we need an anti-architect. We need to come up with impossibly-expensive-to-fully-develop clone projects of proprietary software to draw off the energy of volunteer contributors who might otherwise undermine the value of the proprietary applications we expect to drive revenues for our distro. For example, under (a), we would probably have to admit that trying to clone all the Java libraries _and_ build a competitive Java implementation is too expensive a course of action. While we might be perfectly happy to ship a low-end, incomplete implementation to help the low-end of the market, in the long run, we'd want to look for a more clever solution: something that can compete with Java and Java libraries on functionality, but that is cheaper to build in the first place (and cheaper and more effective to apply, of course). If you are a proprietary vendor, and your goal is to introduce a new proprietary technology to the market, it makes sense to make that technology as expensive to develop as you can -- so that others can't casually come in and compete with your implementation on price. You can make things expensive to develop with legal barriers (like trademarking the Java name), and you can also make things expensive to develop by structuring them as an object oriented framework that you then spend zillions on filling out with subclasses, or by making really hard components (like finely tuned JIT compilers and garbage collectors) critical to implementations.
Question 55: Will missing API entry points be implemented? Yes, the goal of Mono is to implement precisely the .NET Framework API (as well as compile-time selectable subsets, for those interested in a lighter version of Mono).