January 15, 2009 8:00 AM |
[Andrew Doull is an IT manager from New Zealand, now based in Sydney, who spends his free time developing Unangband, a rogue-like game, and blogging at Ascii Dreams. He writes an irregular column for GameSetWatch, and the latest installment deals with the ethics and business behind supporting smaller game developers through alternative means.]
The Amateur has championed the cause of free – those people willing to spend their spare time chasing a dream and making it reality. In this column, I switch sides and argue why you should pay for your games – even to people who just don’t want the money.
Imagine a large number of people have a pressing need for a piece of software (or game, potentially): and within that pool of people there are enough talented developers capable of producing that software in a relatively short space of time (say a week) who are willing to make it available as open source or free upon completion.
But development of the software has a fixed cost associated with it that it is not rational for any one person to pay for: say a patent which has a $100,000 licensing fee. The large group of people agree to distribute the cost between them evenly, and the software is written and released as version one.
If you replace the ‘willing to work for free’ and ‘fixed cost’ with ‘programmer salaries’ in the above example, you would be describing a situation not dissimilar to how commercial software and/or game development works – but with a couple of significant differences. The most obvious one is that the costs of commercial software development are not known in advance, and the payment from the customers is acquired retrospectively rather than up front.
In this sense, commercial software is more altruistic than free software: the developer is willing to give money away for free, paying staff and other incurred expenses, without even the promise of costs being reimbursed. But before you choke on your free as in beer, let’s go back to the example.
With version one of the software released, the needs of the community who’ve agreed to pay for the costs have been met, and the talented developers go back to their day jobs. ‘But what about version two?’ a smaller group of the original community replies. 'It’s obvious that we need widget X in the program as well.' Unfortunately no talented developers are sufficiently interested in widget X to devote time to version two.
Or perhaps only a few of the original talented programmers are interested in it – and the time to deliver widget X stretches into the years, rather than weeks. And widget X doesn’t satisfy those people who wanted widget Y but weren’t outspoken enough in the community to recruit any developers to their cause.
How do you incentivise the developers willing to work for free so that their efforts are best spent representing the community? It turns out auctioning the developers' time is the most appropriate mechanism for this. And short of creating an artificial currency, money is what you’ll be bidding with.
This artificial example is intended to start you thinking about the role of money for programmers who are willing to work for free – in other words, whether you should pay for amateurs. In reality, the ability to incentivise development of features by auction is only a recent phenomena, unique to the open source community – the historic equivalent has been profit.
The Prophecy Of Profit
Profit is, essentially, overpayment for a good or service. A rational group of individuals should never pay more than the costs incurred in developing something, because otherwise they could start a non for profit company themselves and develop it instead.
But this seldom occurs in real life, because the costs are never known, and the same good has different value for different individuals. We are willing to overpay companies for their services, because of these unknowns, and the companies are rewarded by deriving a profit for doing so, provided they are able to cover their costs.
But how does profit help someone who is willing to work for free? Well, it turns out, profit does something other than reward companies for risks in developing a required good – it also causes them to continue to innovate after the good has been developed.
Historically, profit is reinvested into a company to reduce the cost of producing subsequent copies of that good; in the world of software where the marginal cost of reproduction is effectively zero, profit is used to extend the utility of the good so that it will satisfy new consumers, or to release newer versions of the good which will be repurchased by existing customers.
That is, profit is what enables version 1 of a piece of software turn into the version 2 that best matches the requirements of those people willing to pay for it further.
Id Software released Doom as shareware, and has made, or will make, all subsequent games they’ve developed open source after sufficient time has passed that they are not making a significant profit on them. But the only reason they’re able to do so, is that version 1 (Doom) made them enough money that they were able to invest in the risk of developing a commercial release.
Another example: Dwarf Fortress is an incredible, baroque, deep world game, only made possible because enough people are willing to donate money to enable Tarn Adams to program full time (and then some).
In addition, World of Goo was pirated approximately 90% of the time because it was unencumbered by DRM. The reason it wasn’t 100% is that enough people cared about the game and the developers to want them to profit from their endeavors, even though those same consumers could have got the game for free.
In this era, it is straightforward to acquire a pirated copy of any game released. Furthermore, there are enough free games available that you could spend the rest of your life playing new, addictive, delightful games without ever having to invest another cent. But if everyone did so, we would not get the sequels, the innovations and the failures that we do.
How Much And For Who?
The complication, of course, is that you do want to support the tireless, inspired, passionate amateurs, and you don’t want to support the monolithic, faceless, DRM loving corporations (Otherwise, why would you be reading this column?) How do you go about it?
If your favorite developer is smart, he’ll have set up a tip jar, or released the game as share ware, so that you can pay a recommended amount to incentivise him (or her) to continue working. If you value the game less than the recommendation, you have a problem, but I’m sure most developers in this position will accept partial payments.
A little research may be required to get the developer’s details directly (especially if they’ve released via Steam or another digital distribution platform). If you want to pay more than the recommended amount – no problem. Buy additional copies and gift them to people, even if they are never likely to play the game.
If there is no clear mechanism for payment, you have more work to do. It may be just that the developer has not thought to make this option available – in which case pestering them repeatedly may allow you to pay them. Or it may be the software is released under a license that does not allow the developer to profit from the software. The GPL allows for this but other licenses may not. In this event, you’ll have to give money to the developer directly as a gift.
The most likely issue will be that there are multiple developers working on the program, and there is no clear mechanism for apportioning the profit. This is how friendly amateurs turn into faceless corporations – corporations at their most simple are a mechanism for rewarding individuals from a shared pot of money.
And as soon as you have the possibility of sharing money, someone will be looking to profit at someone else’s expense. No matter how altruistic the participants, there will inevitably be a third party capable of persuading one of them otherwise, if enough money is involved.
What Do You Get?
In order to avoid this potential conflict of interest, it may be better to set up a non-for-profit with specific funding goals. An ergonomic keyboard, a new development box, a test farm, dedicated hosting for the source code repository, paying the lead developer to work a day on the code per week, where the goals are stated in advance and the money channelled towards these goals. This is something you can do without directly involving the developers – although they’re in a better position to coordinate and publicize this.
It is these incremental goals that allow a developer to realize the benefits of profit without having to work full time on the code base. But this, ultimately, is many amateurs’ dream – to be able to dedicate themselves solely to game development, instead of working in their spare time. I look forward to the day I can argue to extend the definition of amateur to ‘full time developer paid from voluntary contributions from a wider community.’
Categories: Column: The Amateur