I started this thread on one of Joel's discussion boards looking for some insight into a problem of inevitability I see with the Open Source Software (OSS) movement:
Are free software programmers systematically eliminating their own futures?
Unfortunately, most of the responses fell into one of three camps:
- Yes. Open Source Software is stupid and evil and full of bugs.
- No, Open Software is good, and the way it should be, and people care too much about money. I, for one, welcome our new open source overlords!
- No. You and all of your proprietary-software brethren will be crushed by the mighty fist of our righteous movement; the streets will flow with the blood of the nonbelievers.
This does sadly characterize the tribal state in which we software developers exist. Everyone else vs. Windows, Everyone else vs. PHP/Perl/Ruby, .NET vs. Java, the list goes on, with the exact same line drawn in the sand: you're either with us and love software, or against us and love money.
One point that I have a hard time making clear is that I am not anti-OSS, per se. MySQL and PostgreSQL have forced Microsoft, Oracle, and IBM to release free (albeit limited) versions of their fantastic database software. Overall, that is a net benefit to the world and a direct result of OSS. However, beyond that, I start running short of "longterm good" examples.
Here's my thesis statement:
As more developers produce marketable software foundations without pay, fewer developers will be needed by the general marketplace to produce commercial software.
It's a grim thought, if you deeply consider the repercussions. I liken the whole situation to the "Global Thermonuclear War" scenario -- everybody loses while trying to dethrone someone else.
My pessimistic view:
- Fewer jobs.
- Fewer openings for students.
- Fewer students learning programming.
- Fewer teachers needed to teach those students.
- Lower profits for proprietary software.
- Less money for software research.
- Less software innovation.
- Fewer developers needed.
I desperately want someone to say it ain't so, but most of the contrary responses are like these:
- You must adapt or, of course, you will be outmoded.
- Commercial developers' focus will change -- instead of developing proprietary software, you will be developing extensions to Open Software (plugins, installers, etc.).
- Commercial development jobs will continue to exist because companies will need those open solutions tailored to their business practices.
And my responses:
- How can you adapt to not making money?
- So we should all welcome the new industry monopolies and get brushing up on their APIs? Where will the innovation come from... the best MySQL Installer?
- There is already a gigantic field of integration consultants; is the hope that the current ranks all quit in unison?
The absolute worst example of OSS success is MySQL: They (MySQL AB) sell the work of all those unpaid contributors to big companies and make millions for themselves. That's a fiefdom, not a community.
Anyway, I don't really have an end, here, because I'm still without an answer. All I can say is that I hope the global thermonuclear war scenario doesn't play out until I'm financially secured and don't have to care.