Saturday, July 23, 2005

The true cost of software

This is what I hate about free software apologists.

First, let's assume that the analysis is correct and that most of the value of software is in the creation of derivative revenue sources (e.g., support, maintenance, etc.) and that the intrinsic value of the software itself is relatively minimal. Fine. Great. Wonderful. All software is free (as in beer) and the software world makes money off support and service. But wait...what do the financial incentives in that system suggest for software makers? That's right, boys and girls: in that system it makes the most sense for the producers to make the absolute shittiest software they can get away with and then make a mint on the "support." And when I say shitty, I explicitly mean _shitty_. I _don't_ just mean mostly cheaply made, though usually cheaply made does imply shitty. In this case, the economic model in fact _demands_ shitty software even if it costs _more_ to make shitty software than it does good software, because if the software isn't shitty then there's really no room to make money off the support and maintenance. It also suggests that consumers won't mind that the software is shitty so long as the support is _fantastic_. The software itself isn't worth anything but the support is, remember? So why would you care if the software is crap so long as the support is stellar? Doesn't this sound like a fantastic business model?

Now, to the Linux community's credit, they do indeed seem to be following exactly this model. Why do you think IBM is so in love with Linux? They take an OS/platform that is basically an inscrutable, inconsistent, unmanagable piece of shit (note that I'm not saying Windows isn't also an inscrutable, inconsistent, unmanagable piece of shit), and they make money off of trying to fix it to do something useful.

But secondly, I don't think I buy the model to begin with. Nobody seems to take the open source contributors' time and energy into these financial calculations, and this is a huge part of the analysis. For the most part, nobody is paying these people. Sure, some of them do in fact collect salaries specifically for the open source work they do, but a lot of these guys are contributing in their free time. Or they made their dot-com millions and just do this to amuse themselves and not to support themselves. And indeed, that's the crux of this: for the rest of us, it's _free_ time. Nobody's paying them for it. They do it because they like fucking around with software. Which is great and all, except, guess what: that's not capitalism. People doing pro bono work generally does not fit into the capitalist model except insofar as other people take advantage of the fact they are providing something for nothing. Like, say, IBM. For us software developers, that's not an economic model, folks. People doing what I do for free has the net effect of lowering my salary, which frankly pisses me off. Imagine trying to bid for a contract in your job and having some shmuck come in and say, "Hey, you know what? I'll do that for free!" Would you admire his selflessness? No. You'd be fucking pissed off since you lost that contract. This is the part of the free software movement that pisses me off.

So what do I think should happen? Well, I don't know, to be frank. Because of the way source code and compilers and business models work right now, there's no way to decouple being able to look at source code from being able to build the software and run it. Being able to see the source for something you use and/or build off of is a good thing. It makes for more stable and transparent systems, which is good for producers of software and consumers of software alike. Hiding your source in that sense is a terrible and short-sighted idea. Closed-source companies always claim that if they have to reveal their source then competitors will easily be able to steal their ideas. The truth, however, is that trying to actually figure out someone else's source and then adapt it to your project is non-trivial, and moreover one would hope that you would have patent protection on any substantial idea in one of your products independent of its particular implementation. Patent protection as a general concept is a good thing, though certainly the current IP system is utterly fucked and needs to be rethought in the context of modern software.

But anyway, I still think you should need to pay to run a piece of software. You can look at the code all you like...that will foster an open research environment, allow others to build off the ideas in your work, etc. But building software is a complex enterprise, and there should be an economic model behind it that directly encourages good, working software and not derivative support contracts that encourage the production of crap. And again, you Linux morons, I'm not pointing to Microsoft as a model...Microsoft should not be the poster-child of proprietary software because a) they are annoyingly secretive about their source, and b) their revenue comes from a monopoly and not from market forces producing good software. In the U.S., we have never had a regulatory and intellectual property environment that actually fosters competition in the software world. It has yet to happen. And I think it would at the very least be an interesting experiment. But it never will until all the free software fucktards like Stallman stop demanding that all software should be given away like party favors thus fostering an entrenched support industry that will make damn sure computer systems are never manageable and reliable enough that they actually work out of the box and instead start demanding an even playing field.

If everyone would just listen to me, the world would be a better place. Because I'm always right.

No comments: