In Thrall to Scarcity

Posted by David N. Welton Sat, 03 Feb 2007 15:27:00 GMT

As I've talked about in this space in the past, I've been coming to some conclusions about free software (open source, or whatever you want to call it): the economics of it, like anything else, are rooted in scarcity, and if you don't have a bit of that scarcity yourself, you have a lot less leverage

This line of thought comes from the age-old question "how to create free software and make money at it?". This is a very important question for me, because I enjoy hacking on free software very much, and would love nothing more than to spend my days doing so. Creating new things, though, rather than working as a "system integrator" and tying pieces together with the smallest amount of glue possible. It's obvious that there is plenty of money to be had for people who simply use free software for their own ends. But what are those ends? We live in a world of scarcity - not everyone can have a fancy car, the nicest house in town, or the fastest computer. Market economies work via the exchange of scarce goods and services. If you have nothing to trade, you have nothing. Now, free software is worth something. Worth a great deal - that is beyond the shadow of a doubt. But since anyone can make a copy, there is no scarcity - once it's out there, you can't trade for it.

So... where does this leave our potential free software creator? Let's think about some of the ways around this problem.

  • You could, as some have argued, decide that since software has aspects of a public good, and decide that it should be provisioned by the government. Computer users pay taxes and there is a ministry of software that pays people to work on infrastructure type projects like the Linux kernel, Apache web server, and the like. Whether you like this idea or not probably depends on what you think of governments, free markets and so on, and thus becomes a much broader debate, but suffice it to say that it's not going to happen soon, because free markets do provide software, so most governments aren't likely to fiddle with the system in radical ways.

  • Work on contract to create custom systems for clients. This works, up to a point. Since the initial system doesn't exist, there is your source of scarcity. The client wants it, and won't get it - free or proprietary - unless they pay you. It's also worthwhile to think about the "chain" of trade in this case.

    Where does your client get their money? If you're writing free code that will simply become a cog in their proprietary system, the actual money comes from the scarcity they have created, so while you may be writing free software, in one sense, you're simply offloading the burden of creating scarcity to someone else, who is then able to pay you for your time. The other possibility is that your client works in the "real world" of scarcity directly - they sell books or beer or cars or something else where the product is, by its nature inherently scarse.

    In this case, they still have the leverage - you work to help their business, but they are the ones in the driver's seat. Your work isn't worth much without their scarcity-based business. And they're not very sensible if they pay you for things that aren't directly related to their business. So it's going to be harder to create something new and interesting from scratch.

I've alluded to it in the past, but consulting operations have several problems, especially when considered from the point of view of someone who wishes to create software:

  • The more time you spend putting existing pieces together, the better you are doing financially, because you can finish the project quicker, in less time, and so have more of a margin. These sorts of business will tend towards system integration, rather than the creation of new things. That's not a bad thing, and I mean no disrespect to those who are in that business, but it's not really what I want to do, and it certainly doesn't answer the question of how to write new free software and get paid to do it.

  • When you create a one off solution that is not completely tailored to one client, if you make something that's proprietary, and know you can sell it to a few more people, perhaps you can beat the free software guy on price, because you can afford to sell yours at a lower price, knowing you'll spread the costs of producing it over a few clients. If the free software guy manages to sell the same free thing to several clients, you have to ask how 'free' the software is in the sense that it is apparently controlled tightly enough that these other clients can't come into possession of it on their own. Once, again, scarcity.

  • It's not a business that 'grows' as well as having a proprietary product, because it's very linear. To make more money, you have to add more people (of uncertain quality, I might add). With the proprietary product, on the other hand, you could likely sell 100, 1000 or 1000000 copies with a workforce of the same order of magnitude. This leaves you a bit more breathing room - if you're a consultant, the minute you take a break, be it a vacation, or even go to sleep, you're not making money because you're not engaged. That's sort of a scary prospect as one ages, and needs to dedicate time to other things in life. At 20, I could spend all day every in front of the computer. At 30+, now I have a wife. Maybe there will be kids some day. A successful product-based business would allow me time for those things that a billable-hours business might put more constraints on (of course, there are obviously no guarantees that any business will be successful, but for the sake of argument, we'll treat failure as failure and not worry about it more).

So, there you have it. In one way or the other, to make money at something in the long run, you are going to have to find and sell a product that people cannot effortlessly get for free.

5 comments |

Trackbacks

Use the following link to trackback from your own site:
http://journal.dedasys.com/trackbacks?article_id=1698

  1. Mark Roseman
    {{count}} minutes later:

    Congratulations, you're getting to the realization that a proprietary product oriented software company is the right way to go if you both want to make decent money and have a good lifestyle (the tradeoff is the increased risk over consulting).

    How to reconcile that with your desire for contributing to open source stuff? Base your product on an open source technology, and through the needs you have on your product, improve the technology. Take for example the improvements Activestate have made to Tk because of what they needed for their product.

    The choice you're making is the type of technology. It may make strictly more business sense to choose a base technology that is proprietary that will get you a bit further. But as long as the open source one isn't totally off base, and its your company (so you set the priorities) its not unreasonable to go with the open source one for the social good it will provide, on top of helping you with your product.

    It's also a good way of genuinely improving the open source stuff in a way that makes it more useful for others. You're solving real problems because you're using it for a real use. The odds are others with real needs will benefit more from the solution than if you worked on something that was cool but of more questionable value.

  2. Gernot Hassenpflug
    about {{count}} hours later:

    I have the thought that anyone working in the public sphere, either in government positions or in academic research, would do extremely well to use open source software.

    In the first case, there is the benefit to the country (and the world at large) via the various advancements in the software used (both carried out locally and taken in from the user base), and consequent reliability, security and portability of government information to the public.

    In the second case, the Western scientific tradition is well-served by open source software which is as much a part of an experiment these days as any physical appliances, and therefore is critical in any attempts to reproduce results, reanalyse them, and so forth. Again, portability, reuseability but the community is paramount in such a global field.

    I conclude that any field or endeavour that implicity requires distribution to and intake from a non-local group of users, can benefit from open-source software. The added value of this useage is an implicit value of the persons using the software, i.e., the government officials or academic staff.

  3. Filippo
    about {{count}} hours later:

    Couldn't agree more. Open source is definitely a good business model for system integrators and custom made software; while commercial (closed) software is the only way to go for general purpouse software, which is also a more scalable business. I guess the only way to make a closed source business and open source passion coexist is to build your products with the best OS technologies, and give back to the community your improvements. Atlassian guys are doing that well, gaining in the same time the respect of business and open source community.

  4. David N. Welton
    about {{count}} hours later:

    Gernot, I certainly agree that there are some very good reasons for people using public money to consider using open source software. I also think the university system is a good place for it to be created (BSD, Linux when Linus was a student).

    Filippo, Mark - yes, exactly! As I've posted before, it looks like one of the best models around is to make your money with a proprietary "tip of the iceberg", that utilizes a lot of open source underneath. Atlassian and 37 signals are two fine examples of this.

  5. Joey Hess
    about {{count}} hours later:

    It became clear to me that I don't know anything about ecomonics as I stumbled over your use of "creating scarcity" when reading your article. That said, I have managed to make a modest living entirely from free software for about 7 years.

    I think that the scarcity I am taking advantage of is that of deep knowledge of infrastructure. The kind of knowledge that you get by writing peices of code that become infrastructure.

    Its the effect that, while every developer knows how to use glibc, and many of them can figure out how to hack on the code, if you want to make certian kinds of modifications to it, you want to ideally hire one of its major authors, like Drepper. And if you're hired for that kind of reason, you probably want to avoid working on one-off proprietary hacks, since they don't increase your own reputation's value.

    This might be an awfully small niche though.