28
Jan
2009
 

Don’t treat your customers like thieves

by Marcus Zarra

Every once in a while I run across a situation that just amazes me. While this topic is not strictly about software development it is about the subject of the business of software.

Our customers give us money for something we have already written.

This is an important point to grasp. We write software once and sell it many times over with no production costs other than initial development. Unlike almost every other industry in the world we only have to write the software once! We do not have to produce something new every time a customer wants to purchase something from us.

Yes we need to maintain the code and provide updates to our customers. However we do not need to create something new out of whole cloth every time a customer wants to buy it. It is about as close to printing money as you are going to get — legally.

I am not saying this is easy! I would argue that software development is one of the most mentally challenging career choices out there.

Do not steal from your customers

Your customer has already given you money for your software that you wrote. Do not try and go back to that customer again unless you have written something significantly new. If your software has gone from v1.0 to v2.0 then absolutely charge them an upgrade fee. However, do not force your customers to purchase another license just because you do not like the way that they are using your software.

I own several Macintosh computers. Those who know me claim I buy Macs like other people buy lattés. That might be an exaggeration but I do tend to buy the new shiny. I normally have two machines running at once, sometimes I am using even more at the same time while I do software development and testing.

However, when I purchase a piece of software I expect to buy ONE license for my personal use. If my wife likes it she gets her own license. If my son likes it he also gets a license. I do not expect to, nor will I, purchase one license per machine that I am currently using. That is gouging your customers.

Do not pretend to be a lawyer

As you can guess, this blog post was prompted by a piece of software putting in a stealth change which blocked me from using it on two of my machines. I immediately contacted the author of the software and expressed my displeasure with this change. The author wrote me back and told me that I had been using their software illegally.

Guess what, you are not a lawyer. Neither am I. We also are not a government body. What that means is that we have no authority or ability to make something illegal. Violating a software license, whether it is a valid license or not, does not illegal make. Stabbing someone is illegal; there is a law against that. Purchasing software and using it outside of the scope of the EULA is not illegal; at most it is a civil disagreement. When talking to your customers do not claim that something is illegal. It makes you sound like a moron.

If you want to sound like a lawyer, either hire one to handle customer support or go to law school. Don’t use legalese to sound impressive or try and scare your customers. Scared customers do not give you more money.

Customers want to like you

You solved a problem for them. They like you. They want to be your friend and shower you with affection. However that can quickly be turned into hate. When you treat your customers poorly they will become your worst nightmare. They will tell their friends not to buy your software and perhaps even start writing nasty blog posts about your software.

Word of mouth is a powerful thing. Most people when they are happy tend to keep quiet about it. However when they are upset they want to share their frustration. Guess which kind of customer is going to be vociferous; the one you made happy or the one you screwed over?

Piracy

I learned long ago, never to wrestle with a pig. You get dirty, and besides, the pig likes it. –George Bernard Shaw

I learned long ago to never fight pirates. They enjoy it more than you do. From their point of view it is a challenge just to see if they can outsmart you. They enjoy it so much that they will do it for free! You, however, like to get paid for your work. No one is going to pay you for adding code to your software that is targeted at pirates. However you have a good chance of losing money if your customers get caught in your anti-piracy code and can’t use their software that they purchased.

Assume your customers are doing the right thing. Put in a serial number to keep your customers honest and then stop. Do not put in authorization checks to your server. Do not put in network checks on the license. Do not waste your time with junk that can cause problems for your customer if you made a programming mistake. Just like the lock on your front door is not going to stop a determined thief, your serial number is not going to stop a pirate. However both of them are going to stop an honest person from being tempted. That is your goal.

Spend that time making your software better and you will gain far more than you might lose to pirates. Your paying customers will be happier for it.

Conclusion

As with everything on this blog, this is the opinion of the author. But it is an opinion born out of experience and I practice what I preach. There are no network checks in my software. There is no authorization check to my server to stop a license from being used more than once.

Guess what happened with the software that prompted this article. I removed their software from my second machine, rolled back to the previous version on the remaining machine and I will be replacing it with their competitor’s software as soon as possible. They will not be seeing any more money from me. When someone asks my advice for a piece of software that solves that particular problem; guess who I am going to recommend.

I could have set up a rule to block their network check and continued to use their software. It would have been trivial and taken a lot less of my time than this article or writing the software author. However I have no interest in working with a developer who treats his customers like thieves.

Don’t treat me like a thief and I will give you money for your software. It is that simple.

Marcus Zarra

Marcus S. Zarra is a founding partner of MartianCraft, LLC. He has been developing Cocoa software since 2003, Java software since 1996, and has been in the industry since 1985. Currently Marcus is producing software for iOS and OS X. In addition to writing software, he assists other developers by blogging about development and supplying code samples on Cocoa Is My Girlfriend. Marcus is also the author of Core Data (2nd edition): Data Storage and Management for iOS, OS X, and iCloud and Co-Author of Core Animation: Simplified Animation Techniques for Mac and iPhone Development. You can find Marcus on Twitter, on App.net and on StackOverflow.

More Posts - Website

Follow Me:
Twitter

Comments

Bravo! That was a great post. I have spent the last 26 years in the desktop software business and I have always held to the 90-10 theory on software piracy. 90% of the people are honest and will pay you for your work. 10% aren’t and won’t and no matter what you try to do to thwart them, they’ll still never pay you. Put the time you would spend into thwarting them into making the software better for the 90% and you won’t regret it. Good for you!

Joseph Engo says:

Totally agreed, too many companies are failing miserably in the customer service department. I am not a thief and I don’t appreciate being accused of one.

I was talking to a sales guy for a RH who got very upset that we were using CentOS as a replacement for the expensive RH licenses. When we started out, the cost of a few licenses was ok … but as we expanded it wasn’t worth it anymore. This personally hit me hard because I am an open source developer. I explained to him how open source works and that more then 75% of the code used in RH was not the property of RH anyway. He went off on a tangent trying to convince me what I was doing was wrong and illegal. Even after forwarding him to the GPL, he still didn’t get it.

I had another experience with MySQL. I was looking to purchase the MySQL enterprise monitor. Sun wants you to purchase a support contract for EVERY single MySQL instance you have. Even dev and staging environments!

Keep in mind, this is monitoring software. I wanted to purchase the software, NOT the support contract. The example that was used by the sales person was, that what I wanted to do was equivalent to “purchasing 1 copy of Office and installing it on every machine”. This isn’t even remotely close to what I wanted to do. However, with this attitude and approach they got exactly $0.00

Now, I wouldn’t even think about using their (monitoring) software, I am searching for alternatives just out of spite.

I also have a big problem with companies that charge out the ass for “creative” software knowing that mostly large companies will be forced to pay the heavy prices. What solutions do home users have ? They can’t afford $2,000 for your product.

Any chance you will mention who this company or software is ? I’d like to know who to avoid if its a product I am using or plan to use.

Marcus Zarra says:

I am not going to mention the software company as I do not want to give them any more attention. I would rather not link to them directly from CIMGF. I would really hate to send them traffic after the way they treated a paying customer.

However, I am sure if you are creative enough searching around, say twitter, you could probably figure it out. If you do figure it out, please don’t post it here, I will just delete it.

Nice post. I released a shareware application many years ago and all it had was a checkbox in the preferences dialog that said “I Paid”. When people registered their copy, they got a little note telling them to just go check the box (and when they did, they were treated to a fun little audio clip of appreciation.) It worked out very well, and I got a lot of positive feedback about how nice this was compared to other shareware schemes. I also had a different price for senior citizens (half price), and was amazed how customers responded to that as well.

temporaryusername says:

typical of mac users to not want to pay for software. I’ve never met a mac user that didn’t view themselves as an entitled elitist too smart to pay for what they use. I seriously doubt that you are actually an employed programmer.

rebo says:

Great article, completely agree many software vendors are so hung up on combating the percentage of pirates who will never pay they just hurt they real customers.

I know you don’t want to give the crappy firm that caused this problem any publicity but their competitors product is so much better and the support from Justin is great.

Excellent post Marcus.I talked about my belief in the 90/10 rule last year in a post (http://kevinhoctor.blogspot.com/2008/02/taking-care-of-90-percent.html) and I still am amazed at how many software developers/companies fight that concept by trying to control theft with code.

The version Microsoft Office I have does it too and it drives me nuts. I have several licenses but happen to put the same code into two different computers. And it treats me like a thief. Nasty.

rebo says:

temporaryusername, actually mac users are much more likely to pay for their music ( and probably software) than their PC using counterparts.

warren416 says:

I never once bought shareware when I was a Windows user. Since switching to Mac, I have at least five hundred dollars on low-cost Mac commercial and shareware applications. Typical purchases are between $5 and $50, and the most expensive thing I bought was DiskWarrior which was a bit over $100 if I remember correctly, taxes and all. In that case, I get a physical DVD shipped to me as well.

The average Mac user appreciates well designed small-scale commercial and shareware applications, and I would wager that a higher percentage of Mac users will pay, than Windows users. The sense of entitlement, if it exists anywhere, is strongest on Windows. Windows itself is the most pirated operating system in the world. So if you didn’t buy Windows, Office, AutoCad, and every other thing, are you going to buy some little utility? No. Pirates tend to be all pirate all the time.

I have generally tried to maintain one paid license for everything I actually use. I don’t buy every version upgrade (for example for iLife and iWork), but I do try to stay legit for everything that I actually use.

I should really zap that one not-very-legal copy of PhotoSomethingOrOtherMumbleMumble that I have on my Mac…. It’s giving me bad karma, I can feel it.

Warren

mozketo says:

There’s such a fine line when it comes to acceptable (or better said, flexible) Digital Rights Management in software licenses. The developer/publisher has to decide if they’re trying to get an end-user to follow license agreements, or are they trying to stop piracy?

The general move at the moment is to go away from DRM which forcibly restricts (or forcibly enforces) licenses to a DRM model where the restriction is put back as the end-users hands. To try and explain myself better…

Example: iTunes Plus. No longer forced DRM. You can do with your media what you will. If you go over the 5 machine limit (that we once had), why would Apple/Record labels care? You’ve already spent the money on the media (they’ll get you again when FLAC is mainstream). Sure you can share with other BUT do you want your email address (watermark) out in the open Internet? The DRM is now in the hands of the consumer. This gives the user what they want, when they want it, and it’s (perhaps) enough to stop casual piracy.

Blog post scenario: Perhaps your not following the developers license agreement, perhaps you are. It’s a moot point. You’ve spent your cash, why does the developer care if you bought 1 license or a family pack? Is the fight for a few buck worth it? If we’re talking enterprise multi-thousand dollar type solutions, it might be a good idea. Home users? pah.

So how does a dev-house take an iTunes Plus approach?

Perhaps by using more than a serial code where the serial is bound to the users name or email address. What person wants to see their email address (paypal address?), name or credit card floating out in the Internets? It’s an honour system (like iTunes plus) and the DRM is in the hands of the user.

dteare says:

Great post Marcus.

I remember our original license system: a nice simple MD5 of the user’s email and a keyword. It was dead simple and easy to crack, but very reliable and hard to screw up. Sadly we had the bright idea to change it and ended up wasting a lot of time on it. I’m pretty happy with our new system now, but would happily give it up if I could have that wasted time back.

daniellord says:

I appreciate and agree with much you have to say except for one issue: stop calling software cheats PIRATES. Pirates rape, pillage, and murder laying waste to people’s property and lives–ruining them completely. A software thief might take a license for free but he does rape you and your dog, steal all your money, burn your home, and then murder you? No. He is not a pirate but a simple cheating thief. The RIAA and MPAA very carefully chose their name for copyright infringers in order to evoke the most emotion possible while elevating teh crime to a level of mayhem and murder–never mind the real perspective. It is, to put it simply, a white collar crime. The kind currnet bankers in the US have committed and gotten bailout funds for. I appreciate your desire to be compensated for your work–and you should be. It is a low kind who doesn’t pay you. He is a theif. But a pirate he is not. Please don’t contribute to their tainted campaign.

Marcus Zarra says:

daniellord,

The term software pirate far outdates anything the RIAA and MPAA have been doing recently. In fact copyright infringement has been referred to as piracy since the 1700s.

http://en.wikipedia.org/wiki/Pirated_software#Objections_to_the_term_.22piracy.22

The term is accurate and has nothing to do with either the RIAA nor the MPAA; nor does this article. Perhaps you would like to read the article you responded to?