June 16, 2003
Frustration With OSS, Outsourcing

I've been frustrated by the seeming naivete of the "Slashdot Crowd" when it comes to making a living with software. (Well, actually, with regard to a large number of issues, but...)

The software developers in this country have really given up a lot. They've given up the chance to make a huge amount of money, and given up a large number of jobs to India and China, due to lack of labor organization and open source. I have seen a major desktop software company where I used to work lay off over 90% of their programmers, and build a huge facility in India instead. This could have been prevented. Geeks can often be far too idealistic and far too lacking in practical self-interest. Oops.

Open source doesn't have a great deal to do with this trend, but it certainly doesn't help. Giving away the stuff that could make your living for you is never a smart thing from a self-interest perspective. Sure, it works in individual cases, but think about the broader effect -- free software is available for people to use, removing the need for many of those with the desire and knowledge to write software and make money at it, and also removing some of the potential for improving on that software, because only those with free time can work on it. I use free software because it's free, but I'd pay for something that did the same job if I had to, and that might employ one of my friends. It's as simple as that.

On the other hand, those running the companies have shown almost no appreciation for skill. I know that most of the Indian coders are still not very good at the moment. Sorry, it's a fact, Jack. They lack the skill because they lack the background and the environment to develop it easily. They are able to do simple tasks, but they cannot handle even some of the easiest architecture jobs. This will certainly change as they get more work and more experience, and I have nothing against them personally -- who wouldn't want to improve their lot through education and hard work?

This is simply a question of self-interest. Do we as Americans want to give up our technical domination of this field? Do we want to allow a competitor to learn enough to compete with us qualitatively, while undercutting us royally due to the low costs and low standard of living in their country...? Most of us would say no. Maybe I'll feel differently once I'm out of this field, and can look at it more objectively -- see it as more of a macroeconomic issue...

But, probably not. It's just too personal an issue to me when so many extremely intelligent people I know have been out of work for periods due to this phenomenon. Globalization does many good things, and everyone talks about how the world is moving more and more quickly... But how quickly (or easily) can a software engineer learn an entirely new profession and change careers? At some point, we run into the temporal limitations of human beings with regard to learning new information. We just can't learn another career in the time it takes for investors to move their money, and this is going to create great social problems.

I think, it is inevitable that globalization will proceed for economic reasons. But we can and must institute safeguards to allow workers to keep up with investors. Change cannot be allowed to proceed at a pace that could leave an entire industry of extremely smart people unemployed for years, and expect them to go to school again to boot. There needs to be a slower transition, or there need to be other methods of managing this sort of change, just as there are safeguards and checks on global stock market trading...

There have been a lot of stories about these trends lately... I hope that we can find a good solution to these problems without people resorting to traditionally one-sided liberal labor philosophy. It's not a workers vs. companies problem. It's not a "class" problem. It's an engineering problem: How do we manage inevitable change in a reasonable way?

It frustrates me that no one seems to think like this in approaching these problems.

Posted by Trevor Hill at June 16, 2003 08:05 PM

Understandable... This is major.

But, I can't see this problem getting solved anytime soon. Consumers want new gadgets and updates _now_. They can't wait for change. Even with the crappy economy, this is a Buy, Buy, Buy country.

Competition pushes tech companies to cut back and outsource, at the same time pushing those remaining few employees to work longer hours and come up with new ideas and faster technology.

Technology is cool. Change is is cool. But we won't have anyone employed left to buy that cool new toy.

Nobody wants to be left out of the loop, especially the corporations. So they cut back and demand more. It's not like the engineers are in a Union or anything, either.

(Of course, I'm not proposing that they form a Union. I have my own issues with those.)

And, even with a Union, we're back to the same problem: outsourcing. Okay, so my employees don't want to work? I can easily find others living overseas who will.

Posted by: Yuki Hill at June 17, 2003 01:03 PM

Wow. Very incisive comment. And from my wife, no less. ;)

Yeah, it's tough, and it's harsh, and I don't know if there's a good solution besides downsizing and outsourcing...

I just think that although those changes are probably necessary to a healthy economy, they should be managed in a way that allows the developers to get into something new.

I do think that if coders formed unions, they would carry some weight, since the coders have important knowledge of systems that can't be lost. If the companies want to outsource, the first thing they all have to do is get their current coders to educate the new ones about the system. If they were to refuse to do this, the company could end up incurring HUGE costs... But that's probably never going to happen, due to the nature of programmers.......

Posted by: Trevor Hill at June 17, 2003 01:22 PM

That whole competition thingy, eh?

As freetrade gains greater and greater momentum within the Technological world, we're bound to see jobs move here, then there, then over there.

It's like levels of water inbetween floodgates, it all equals out in a generation or two.

Alternatively, perhaps its time to re-examine our notions of worker unions and syndicalism (total employee ownership of all companies).

.rob

Posted by: rob adams at June 17, 2003 01:38 PM

What is "OSS"?

Thanks for mentioning this. There's nothing wrong with speaking out for opportunities that your countrymen and peers can benefit from. It is foolish to allow fear of being perceived as a racist to prevent one from making logical and cogent arguments.

Posted by: mike at June 17, 2003 02:10 PM

OSS is Open Source Software... It's a term commonly used among those who deal with software, but I probably should have made that clear for the others of you out there...

And thanks -- I certainly am NOT a racist just because I don't want to see my friends unemployed. Indians or Chinese are certainly just as capable of writing software as we are, in the longer term, and in fact, I love hanging out with people from those countries. I speak Mandarin and have learned a bit of Hindi too... I plan to take advantage of the outsourcing movement to get patent business from China as well...

This is an issue of international trade and economics, not a racial one, but some people can become so upset about these issues that they begin to blame the Indians, etc for the problem. This is the wrong way to look at it. The question we need to be asking is "How do we manage large changes like this, to allow our intelligent developers to find other ways to apply their talents?"

Posted by: Trevor Hill at June 17, 2003 02:18 PM

Even as a student of government and technology and a (sometime) programmer who's watched his salary drop, I'm not so sure I agree. Obviously it's frustrating to see many of these jobs go abroad, but those programmers able to adapt can find themselves becoming de-facto software architects, getting to work out the broad decisions without monkeying with tedious, reinvent-the-wheel sorta code. Perhaps some programmers want to monkey with code, and surely there will places for those folks just as there are still jobs in the US for those who want to be auto mechanics or other increasingly "commoditized" professions.

The ecomomic reality is that the market changes in this way because it's efficient, and slowing down that progress in an artifical way is both a regulatory impossibility and a long-term fiscal misstep. The term "globalization" is thrown around like the world has never before seen a flux of trade, labor, and goods that upsets all kinds of traditions. While Americans may have the political muscle to ensure that _tedious_ coding work doesn't go to faster and cheaper Indian or Chinese labor, I'd rather not see them flex it.

But your comments on Open Source come back to a central point for me: programmers "reinventing the wheel." I see OSS as a kind of free global pile of programmatical Legos; I can take the components I need to piece together a new project and hopefully contribute back bug fixes, suggestions, and code. For all this ease and convienience, the IT market remains split between OSS and proprietary software because neither option is always the best for the job, and the two licensing styles are not mutually exclusive. I don't think OSS is putting commerical software out on the street anytime soon, and many programmers I know happily use, purchase, and contribute in various ways to both types of software.

I guess what I'm trying to say is that your concerns are understandable, but I don't see it as that dire a situation. When Americans find their jobs commoditized, they adapt. Sometimes that's tough, but that's the cost of the myriad benefits of capitalism. I'm not suggesting some libertarian, Ayn Rand-esque free market paradise is the only answer to your concern, just that regulation in this case may be overshooting the problem. A provocative post, thanks! ^_^

Posted by: Alex Payne at June 17, 2003 04:26 PM

Hmmm. :) And an even more thought provoking comment... Thank you for taking the time to reply with such cogent arguments.

I do agree for the most part; It's mostly the emotional part of me that is concerned.

Outsourcing the more tedious coding makes a lot of sense, not just for companies, but also for U.S. developers who want to be able to concentrate on more substantial problems at a higher level. I actually think that this is a great thing, but the current situation has gone much further; Those higher level tasks are being pushed overseas as well, because of financial concerns. I guess the way I feel about this is that it's just "too bad." It's crummy, but maybe it's inevitable.

As for the issue of displaced workers, I feel that this may more important than you think. In the past, it was always possible for those people to find other work eventually, but I fear that the quickening pace of everything is bringing us toward a time when an entire industry can be flattened by capital flight, or other such nearly instantaneous actions, leaving little to no time for a country or industry to transform itself and recover. I fear that this will happen to more and more of the countries on the edge of the "First World" such as Argentina.

I guess that the main thrust here is that there's a limit to the flexibility of human beings, but there is no potential limit to the speed and flexibility of markets run by software. Therefore, we must consider implementing limits simply to allow ourselves to keep up with the computers. This way, when a future trading system decides to "Sell Argentina," it won't bankrupt the country instantaneously...

As for open source, as I said, I don't think it's a big part of the problem at present, but I do think it's naive to give away your work for free. Many things seem to pass for idealism which are only naivete... And I'm mostly talking about people like Richard Stallman here... ;)

Posted by: Trevor Hill at June 17, 2003 04:57 PM

Yes, but with that class of naivete Ghandi freed India from the British.

Posted by: dan at June 18, 2003 10:02 AM

Some idealism is only naivete, because it ignores or discounts the things that invalidate it. Sometimes I feel like some people in the open source movement fall into this category...

Some idealism has a solid base and a chance for success.

Some idealism is just idealism -- we don't know whether it will succeed or fail, and it could do either.

I think Ghandi falls in somewhere between the second and third situations, but of course, all this is subjective. ;)

But to clearly answer your prod -- certainly not all idealism is misplaced, even when it seems to be so.

I just happen to think that anti-capitalist philosophies or philosophies detrimental to one's self-interest seem to be naive, unless it can be shown that they serve those ends in a different way, such as by improving the economy for everyone. I'm not convinced yet that free software does in fact do this...

In fact, I'd like to talk to an economist about just what they think the effect of free software and open source are on the market.

Posted by: Trevor Hill at June 18, 2003 10:31 AM

Sorry to be a gadfly. I have an unhealthy interest in altruism. I also don't believe that economic measures are the best or the only way to measure success for our society.

So, to the question of "free" software: if it really can be used freely then it lowers the barriers to entry, and everyone gets to compete. GPL-style licensing, however, disbars the commercialisation of much OSS. This means it doesn't help the economy: it exists outside it. Does it hurt the economy? Not yet, because for the most part it's still more convenient for people to pay a small license fee to use commercial software. But it will, inevitably, to a certain degree and in certain markets. Especially if it continues to grow.

So (for me) the question is probably more like: is there any benefit to OSS outside of economic considerations? I would say that if it means that more people get access to computers and to the net, then that's a clear benefit. I'm wondering whether there is an opportunity, for instance, for non-commercial outfits like schools and public libraries to reduce their operating costs by using OSS software instead of commercial software. If that were the case, one might argue that the social benefits outweighed the economic costs. OSS could also have educational benefits, as commercial code-bases are usually more heavily protected from inspection.

So I'm not ready to rule it out just yet. From the perspective of society writ large, I think there can be benefits outside the small economic impact which incurs from people not being paid for the time spent on it.

Also, if I'm honest, I don't see a problem with countries like India having an opportunity to use IT to leapfrog us in the standard of living stakes. We did it to them with our industrial revolution, so in a way it's only fair if they can manage it. In the meantime, we've all benefitted from the third world being used as a low cost labour pool, and from glutting on their cheap raw materials. If their rising standard of living means that my standard of living has to undergo a levelling period, it will personally be painful but I doubt I'm going to experience an overnight fall in living standards to those of a Calcutta street urchin. If pushed, I hope I would feel morally compelled to accept a drop in standards if it meant that others may experience a rise towards where I am now. That's just a personal conclusion though, and I realise it's slightly hypocritical in that I'm not going out of my way to proactively redress that balance. I am a child of the Eighties, so I readily learned to compromise my morals for personal gain just like everyone else, although it goes against the grain of what I believe "deep down". At heart I'm still a filthy socialist to some degree, in that I firmly believe that society has a duty to provide a minimum safety net.

However, I don't even think the two phenomena are necessarily related, unless there's a correlation between unemployment in software engineering due to outsourcing, and the growing momentum of the OSS movement. Personally, I think the two trends are coincidental: I think OSS has more to do with the emergence of a distributed working paradigm arising from the internet than the globalisation of the labour pool.

If OSS advocates wanted to monetise their efforts, it would take an economy of software building bricks to emerge. This isn't altogether impossible, in the same way that google answers works. Imagine a similar system where you can post a small programming "job" and engineers can bid online to take the work. This whole process can be automated using the net, but not unless we discover a distributed programming paradigm first, which is where the OSS phenomenon may have been useful in retrospect.

I'm already sold that OSS techniques are lighter and faster than traditional lifecycle models for software development. It strikes me that we can use that to change the paradigm of working for a particular company on a particular project to one of letting your interest fall where it's most needed. That would be more efficient for companies, and more flexible for the likes of you and I. Of course, the downside is that it may accelerate the levelling effect between us and countries like India.

But I see this levelling effect as inevitable given time, unless the western world openly reverts to a feudal system where the name of the game is keeping enough areas poor and underdeveloped to sustain a few rich developed ones. This is what we still have in practise, but my feeling is that values such as democracy and human rights will erode these stark differences over time, if we truly want them universally applied.

Posted by: dan at June 19, 2003 07:46 AM

ps I would hope it's obvious that I'm not trying to take a j'accuse tone, or at least not seriously: my blurb above stands as a self-investigation into how I think about these issues. I often can't make a conclusion about something until I have crystallised it in text.

Posted by: dan at June 19, 2003 08:16 AM

Thanks, Dan...

You've mentioned a lot of good points to consider. I think I'll start by saying that, while you may be a socialist at heart, I'm probably a social darwinist at heart, but I think we'll end up at the same place in the end on the question of outsourcing; People should be given the chance to sell their work at whatever price they deem reasonable, and if others can't meet that price, that's probably a good thing in the end. It will push them to find their right place in the mix of things. I believe that this is the working of the Tao. :)

Capitalism, I believe, with the proper regulation to keep it a fair competition, offers the best way for countries like India to raise their standard of living. However difficult it may be for us to accept, we must allow them to compete, for that allows us to find our proper place in the market. And the market is always changing, and it's always going to be changing... :)

So I guess on this, I've now gotten over my emotional stage. I have really felt pulled in different directions over this, but in the end, it's clear to me that we should allow the competition. I'm not so sure that we should allow totally unrestricted outsourcing though -- maybe we could phase it in over a period of 5 to 10 years, leaving enough time for our labor pool to retool...

Anyway, as for open source, I also agree with you that it's done a lot for remote project management / source management tools and techniques.

It is certainly clear that open source software in schools or elsewhere could allow them to lower costs, and could provide a great social benefit. I guess it's sort of like a lottery -- enough people contribute to an open source project, and create something of value with small chunks of their time, but instead of having only one winner, the prize can be copied and distributed ad infinitum.

And, I guess if the desire for something like that is enough to motivate open source developers, that's probably a good reason to believe that the social benefit of the result will be great. As well, I guess this means that commercial software would be limited to either one-upping open source software, or sticking to markets with less broad applicability. Maybe Microsoft is the Railroad Trust of our time, and will be going away...?

So, to consolidate my thoughts, the phenomenon of open source software is inevitable, because of the nature of infinitely copyable software -- it allows multiple contributors to do something extremely small, but create a huge social benefit in the end. It's almost like self-taxation or ... charity, but the value is copied ad infinitum. The cost to the developer can become so low that there's really no reason he shouldn't contribute, given the outcome... So they're not naive at all -- they just follow the above line of thought.

So, companies will have to adapt to this, making their money from more niche software, which wouldn't motivate an open source project, and there are still probably enough of those things in the end to maintain at least something of a commercial software industry...

Man, this is crazy.... ;)

Posted by: Trevor Hill at June 19, 2003 08:54 AM

You make a good general point about the low cost of reproduction and distribution of digital media (or cheap copying of software), and this is also affecting other business paradigms all over, such as the movie and record industries. I think many forms of business model we see as successful now may look like the Railroad Trust in years to come. This can be a good or a bad thing, depending on your level of investment in the current status quo but it will be a huge shakeup, IMO. We were (I was) talking a number of years ago about how the information revolution will dwarf the industrial revolution in scope, but I wasn't clear about exactly how. I suppose an interesting analogy would be a physical one: if I were to create a box tomorrow which could make a perfect copy of any object placed within it, I would have effectively destroyed the barter system (of which money is just an extreme form). In fact, there would be no point in about 90% of our social structures any more. I know it's a far-fetched analogy, but this is what is happening with digital information right now, and I think we're only just beginning to realise how much of an impact it will have.

Posted by: dan at June 19, 2003 11:58 AM

If we gradually legislated complete employee ownership for all business ventures, this would transform our market-based economy in many good ways.
... bigger middle-class
... greater accounting transparency
... less strikes, service disruptions
... higher quality, employees have a stake in the product/svc
... socially/employee friendly, but sound, business decisions

Seriously. Syndicalism works.

.rob

Posted by: rob adams at June 19, 2003 08:07 PM