By Ben Haller, 18 September 2003
This article is a very honest and personal account of the philosophical journey that I have travelled upon in the years I have been making software. I welcome opinions from those who read this, whether they are the same as mine or different. However, I cannot spare the time to reply at length to every person who has comments about this article; the article itself has taken quite a long time to write, and replies to all of its readers would take much longer still. I will read the emails sent to me, but please do not be offended if my reply is just a brief thanks for your mail.
Those who have followed Stick Software for a while know that I used to be adamant about not using registration codes. I believe that people should be responsible for their own actions, and that it should not be necessary for a community-oriented shareware developer to twist arms and make threats in order to be supported by the community he or she serves. The users of my software are (or can be, if they choose to be) responsible, mature individuals, capable of understanding both the necessity and the morality of paying shareware fees, without the need for coercion. I hoped that by assuming that they would pay, and thus treating them as ethical beings, they would rise to meet those expectations and would pay for their software entirely voluntarily. This seemed like a way to have a positive effect upon society: to set an example for the community that societal evils like the Digital Millenium Copyright Act are not necessary, and that people will be self-policing if only they are not treated like children. From a more practical point of view, too, it pleased me not to have to waste my time and energy developing a key-code registration scheme, devising a way to get the codes mailed to users, handling lost code requests, and all the other overhead that comes with the decision to use registration codes. Not using codes was a reasoned and principled stand that allowed me to focus on what I do best: writing software.
But after several years of slogging in the trenches, and with nine released shareware products (plus several freeware and open-source projects), I still wasn't making enough money to even put me above the poverty line. I wanted to do the right thing; but I also wanted to be paid a living wage for my labor. I kept seeing studies that showed that using strict registration-code schemes resulted in many more payments. And given the statistics I had on the number of downloads I saw versus the number of payments I received, I believed that to some extent I was falling prey to the same freeloaders as other shareware developers, and indeed entire other industries. (Witness the shameful way in which many people seem to be willing to steal music, and by extension steal the bread right off the musicians' tables, simply because they do not believe they will be punished for doing so.) This was not enough to convince me to start using registration codes, however. Defiantly, perhaps quixotically, I reaffirmed my commitment to the position that seemed morally right to me, regardless of financial adversity. I believed that while some users might be abusing the freedom I allowed them, others (the ones I considered to be "my" users, and wished to remain loyal and trusting towards) understood my position, supported me, perhaps even paid for software that they didn't really use much simply in order to support my philosophy. I was willing to lose a little money (or perhaps even a lot) in order to sleep well at night, knowing I was doing some small amount of good. I state this not in an attempt to make myself sound virtuous and good (actually, I suspect that to most people it just makes me sound young, foolish, utopian and rather like a doormat looking for feet :->); rather, I state it in order to underline the reason why I ultimately abandoned this philosophical position. Namely, that I reached a point where I stopped believing that I was doing good in the world by adopting it.
Why did I stop believing? What changed? Well, two things, really; one internal, one external. To start with the external: the email from my users changed. When I was just starting out, I used to get email from users now and then saying that they liked my registration policy, appreciated that they didn't have to worry about losing a code for the program they had paid for, and even agreed with the philosophy behind it. But as I put more products out there, and my user base got larger, and as the demographics of the average OS X user shifted from the fanatical early-adopter core towards the average Mac user, it became clear that most people didn't get it any more. I stopped getting emails expressing appreciation and support; instead, I got emails from users asking (often angrily) why they hadn't received their registration codes yet. My explanations (we don't use registration codes; just tell your software you have registered and it will believe you; we trust our users) were met with silence, with references to articles like the ones cited above and exhortations that we start using codes so we could make more money, or (perhaps worst of all) with total incomprehension – a repeated demand, with a rising tone of anger, for the registration code that (for some obstinate reason) this software developer was refusing to provide to a legitimately registered user. I had to face the reality that, although a small core of users did understand what I was trying to do, most did not. Far from giving users their freedom, setting a shining example for the world, or even martyring myself to a cause I believed in, I was simply making the majority of my users confused and angry. People expected registration codes, and were unhappy when I did not provide them. No good was being done by my continuing refusal to do so.
The internal reason that evolved alongside this was a decreasing faith in humanity. I had once believed that the vast majority of people who didn't register shareware didn't do so because they were lazy. If they could pay for their shareware with a wave of a hand, or better yet a twitch of an eyelid, they would do so; but the effort of writing checks, addressing envelopes, and so forth was too great. I could relate to this; I am actually a very lazy person myself, and have to constantly force myself to do things that my lazy half (more than half, I think, really) would much prefer be left undone. Since I believed this, I believed that it would be possible, by making it easier to pay on the one hand and by giving them strong reasons to register on the other hand, to get many of those lazy people to pay. I could also forgive them their laziness, since they might truly intend and wish to support my efforts; I could consider lazy users to still be "my" users, and was willing to make sacrifices in support of them. Sadly, I no longer believe that most people are just lazy. The success of music-sharing networks, from Grokster to Kazaa, has pretty much destroyed my faith in the morality of the average person. I now believe that, absent the threat of punishment, the average person will steal more or less anything that is not nailed down. I think that is a relatively new thing in our society, and I think it is rapidly getting worse. And I now believe that I, as a shareware author, am a victim of that trend, and that to the extent that I don't make noise about it and fight against it, I may actually be making the problem worse by providing a supply of not-nailed-down things for people to steal without fear of punishment, encouraging them to think that their behavior is safe and acceptable, and contributing to habituating them to their pattern of theft. The users that I can trust and relate to – "my" users – are, I now believe, a small minority.
It was time for a change. After a sleepless night of turning these issues over in my mind (really – I do lose sleep over these kinds of things!), I decided to simply give my users what they expected from me: a keycode registration system. The honest users who would have paid anyway may be slightly inconvenienced by this, but on the average I think they will be better off due to the decrease in confusion and misunderstandings that surrounded the old policy. The dishonest users who pay only when forced to by limitations placed upon them will now, perhaps, pay; an act which ought to be good both for their souls and for my pocketbook. I still wish there were some way to use Stick Software as a tool for teaching people how to act ethically, but I no longer think that simply trusting users to be honest achieves that goal.
I still believe in the try-before-you-buy vision of shareware, so Stick Software products will still be fully enabled prior to purchase (although Aquatint and Constrictor will probably watermark the images they create for unregistered users). And I hope that the registration scheme I've chosen is found by my users to be easy to use and understand, and doesn't get in people's way too much. But I also hope that it results in enough income that Stick Software becomes truly self-supporting. And I hope that by writing up my thoughts on this, I will perhaps give some food for thought to people who pirate software and don't pay their fees. People who do that are not merely guilty of theft; as the above illustrates, they also destroy trust and community spirit. The life of a shareware developer is not easy, and it is deeply disturbing to be unable to trust one's users. I hope all of this changes for the better some day.