Monday, July 26, 2004


Posted on Slashdot: Open Source Myths

I agree, in the main, with what he says in there. Indeed, points 1 and 2, concerning whether users of open source need to be willing to fix problems before they complain about them, are spot on.

However, point 3, where he talks about the costs of developing software, and how open source tends to undercut the ability to make money from software, makes me want to comment.
Here's the thing: Nothing is ever really, totally "free". There is always a price to be paid, even if that price is simply the breakdown of the marketplace and the ability to make money from your own software, that you developed with your own time and effort. If the culture doesn't support the idea of paying for software (and music, and movies, etc) in some way, then we are basically just denying artists and programmers the right to make money from what they do.
My comment is this: just because something is difficult, because you invest your blood, sweat and tears into it, still doesn't give you the right to make money from it. Maybe it should, in a perfect world, but it does not. The only thing that gives you a right to make money in a free market is producing something that other people are willing to pay for, and people are not always willing to pay for something simply because it was difficult to make.

I, personally, rail against this idea almost every day in my internal struggle to find the energy to get up in the morning and go to work. Still, I continue to conclude that there is no way around this basic feature of the market (not without some utopian communist system, which at the moment does not seem workable).

The problem is that people aren't willing to pay if there is a cheaper but good enough alternative. Open source can often be just that: cheap (as in free), and good enough. So what's a programmer to do? How can you make a living? The author offers an escape route in the next point, though he seems to have missed the significance:
I think it's true to say that while many Open Source projects are superior to their close-source counterparts (Apache being a prime example), it's also true to say that a closed-source approach to a problem can have some benefits. Some of these benefits include having a more focused direction for the team, given the fact that there is (usually) just one manager and team leader, firmer schedules and deadlines, tighter management, profit incentives, salaries and bonus motivations. While this can also be true for open source projects, the "design by committee" that goes on with community projects often results in a more bloated and less focused product that tries to be all things to all people. Also, sometimes a simple lack of funds on the part of the developer can hamper the development.
Closed source can be better. I happen to agree that this is possible. Closed source can produce a better, more user-focused product (I tend to see Apple as an example of this, rather than Microsoft...). I'll add another thing, closer to my own experience: closed source is good for integrated systems, as opposed to general applications, platforms, libraries and tools. The difference is focus.

(I'm not entirely convinced of this, but it seems a reasonably likely hypothesis to me at this point.)

So how does a programmer make money? You do it by making a better product. If you cannot compete against a gaggle of volunteers, then perhaps you need to reconsider where you are focusing your efforts. (Not much help if you are just a sub-human programmer, I know, but that's a different problem.)

The other thing that comes up is how free software will imitate any really good application. But is this really a new thing? Without free software it would be your competitors who imitated you, and they would charge less too, because they could just ape your program and avoid all that expensive R&D. You still end up with software becoming a commodity eventually. If you are looking for profit you have to constantly be searching for new markets (i.e. new applications and new users). This, incidentally, is why commercial software tends to suck, from a technical standpoint: perfectionism does not pay. By the time you get to the point of ironing out all the last few problems in your product, there is no money to be made in selling it. (Yes, that's a wild generalization. So is the rest of this screed.)

So, really, it's not a question of whether all software should be free, but more whether all software will be free or can be free. My feeling is that it will not and can not. Profit is a strong motivator, and companies will continue to be successful in making closed software in those places where open software is not good enough.

At least I hope so. I don't think I'd make a good burger flipper.

No comments: