en·ti·tle·ment /enˈtītlmənt/ Noun
The fact of having a right to something, or the amount to which a person has a right.
There has been a huge amount written this year about software pricing, availability and support, especially in light of the “race to the bottom” pricing and lack of trials and upgrade pricing in the Apple App Stores. Developers feel they are entitled to more money and respect for the effort they put in, customers feel entitled to free upgrades, multiple platforms and cheaper prices. Yet the discussion has quickly gotten off topic in the incessant white noise of name calling and the use of words like “greedy”, “double-dipping”, “unfair” and “angry”.
It’s time to clear the air, and present the true software entitlements for both sides, developers and customers. And maybe next time you see someone complaining about price or lack of platform support, send them here.
The customer is the person who purchases and uses the software. These are their post-purchase entitlements:
- The customer is entitled to get software that works as advertised. Forget “let the buyer beware”, if the software blurb declares that the software provides certain features, then the customer is entitled to get them on purchase. Not only should the software contain the features advertised, these features should also work as advertised, produce correct and expected results and not fail or crash. On the flip side, the customer is not entitled to undocumented features, the “I just assumed it would also have” or “missing” features. And clearly the developer is not entitled to change the blurb after release to hide or mislead what was sold.
- The customer is entitled to get software that runs on the documented platform. The application should run on the version(s) of the platform(s) included in the blurb. It is not expected to run on any other versions of that platform, or on any other platforms, nor is the customer entitled to have it do so. As such:
- The customer is not entitled to run the software on more than one platform, unless that is explicitly stated. For example, to run OmniFocus on my iPad and my Mac, or to run Excel on my Mac and on Windows, both require two separate purchases.
- The customer should not expect the software to run on future versions of the documented platform. Most developers and operating systems vendors do provide backwards compatibility for a few versions of platforms (enabling older software to run longer). But then things get deprecated. Since the developer has no idea what is going to change in the next iteration of the platform, they cannot guarantee or even promise that the software will function on it. The customer is not entitled to a free upgrade to make a product work on the next version of the platform. It is just fortunate for customers that most developers do issue free patch updates for this.
- The customer is entitled to know, up front, the total cost of the software. If the software requires additional purchases to function (external or in-app), or access to additional third party services, or is advertisement supported, or is subscription priced, it should be known before the customer purchases it. That way, the customer knows what they are getting in to and who they will be dealing with. If the product has multiple levels (a standard and a pro perhaps), the customer is entitled to know the limits and features of each at each price point. I further believe that a customer is entitled to an advertisement and nag free environment if they paid for the application.
- The customer is entitled to support. The customer is entitled to get after-sales services to solve software installation and usability problems, for as long as the software is in the support window (and the customer is entitled to a generously long support window). This means access to help and support documentation, access to a support line or email address and a quick response to any and all support requests.
- The customer is entitled to bug fix updates for supported software. With complexity comes cases where the software fails, we call these bugs. The customer is entitled to bug-free software, but since this is practically impossible, the customer is entitled to having the known bugs fixed and these patches deployed to their systems for currently supported software. If the software is old and out of support, this entitlement goes away.
- The customer is entitled to a refund soon after purchase. As with all other purchases, the customer is entitled to a refund if the software does not work for them. However the customer is not entitled to use the software after being refunded, or to request a refund after using the software for a significant amount of time. I personally think a 15 to 30 day refund period is acceptable.
- The customer is entitled to software that contains no malware, spyware or viruses. This seems an obvious entitlement, customer’s systems security should not violated by the software purchased. If the software does introduce third-party packages that may do other things (like that browser toolbar spyware or packages that crack open operating systems), this should be known up-front. Further, if the software shares any information with third-parties other than the developer, this too should be known upfront.
- The customer is entitled to continue to use the software even when the product is terminated. If the customer wishes to remain on an old platform and use software after support is terminated (or the product killed), they should be able to (unless it is subscription software). However, the customer is not entitled to support, bug-fix updates or any services on that product. However, if the product depends on a third-party service and that is terminated, the customer is not entitled to continued service or a refund.
Developers have the obligation to provide customer entitlements, but have their own entitlements too:
- The developer is entitled to charge a fair price. Software, especially good software, requires many months of developer time to craft and polish, as well as money for design, art, hosting and support. As with all businesses, the business is only worthwhile if the income of the business exceeds the expenses. In software, the income is license sales, the expenses are developers, support staff, designers, offices, health-care, legal, marketing and all the other usual business expenses. If the business cannot be profitable, there is no purpose in starting or continuing it. The developer is entitled to earn a living doing what they do, just as everyone else is. I have no idea how developers, never-mind the whole software industry, can survive at 99c a pop. If developers cannot earn a living income by making the products customers desire, they simply will not make them.
- The developer is entitled to charge for major updates. It takes even more months of effort to craft and graft additional features onto software, and the developer is entitled to be compensated for that too. One cannot reasonably expect all future features and support to be included in the initial license purchase, just as one cannot reasonably expect the builder of your house to add rooms, revamp the kitchen or redo the roof as part of the initial house price. I think it’s very nice that some developers offer upgrade discounts, but they do not have to.
- The developer is entitled to charge for multiple platforms. Different platforms require different code bases, each of which has to be designed, developed, tested and supported. Even iPhone and iPad applications, which seem on the surface to just be iOS, contain significantly different user interfaces that need to be designed and coded separately. If they do not, you get the Android tablet application problem where the majority of tablet applications there are just blown up versions of the phone user interfaces and are thus awful. The developer is entitled to be compensated for the time and effort involved in developing for multiple platforms. Once again, I think it’s nice that some developers release universal applications, but they do not have to.
- The developer is entitled to decide what features get added or removed in each version. The developer is entitled to decide what constitutes a feature that should be included in a paid update and what constitutes a bug fix that that should be included as a customer entitlement. Essentially, the developer has the final say as to what features do get developed, which get delayed, which never get developed and which get removed, yes folks, removed. The developer is entitled to manage the plan and scope of their application. Great developers, of course, listen to their customers first. If the customer does not like the new feature set or direction of the product, they are entitled to stay with the old, unsupported version.
- The developer is entitled to terminate unprofitable products. If the developer spends a massive amount of their time creating a product and cannot earn enough to continue to work on it or support it, they are entitled to terminate it. Just like my local bookstore was unprofitable, so it closed. In fact, the developer is entitled to stop working on a product if something else comes up or they lose interest, although that is quite unprofessional and it reflects badly on them. Remember, the customer entitlement is to use the purchased version of the product on the purchased-for platform and so the developer does not have to take it further.
- The developer is entitled to usage information from the product. This may be controversial, but I believe that the developer does have the entitlement to gain information from the customer as to how they use the product, but that this usage information be anonymized and never shared with others. Web application developers are entitled, for example, to use Google Analytics to see which features are accessed by which browser from which region so they can improve popular features, popular browser support and popular regional language versions. But the developer is not entitled to any of the customer’s data and may not share it with any third parties.
No Entitlement To
I have covered what the customer and developer are entitled to, but there are some things they are simply not entitled to either:
- The customer is not entitled to run the software on an unsupported platform and claim any entitlements above. If the customer tries to run the software on an unsupported or jailbroken platform, on an emulator or on an undocumented platform, they are not entitled to any of the above entitlements. Developers document what they know the software works on and cannot support and bug-fix software on any other platforms. Further, the customer is not entitled to issue a bad review because they tried to run it on an unsupported platform, that’s just rude.
- The customer is not entitled to use software without a license (and paying for it). Just as you are not entitled to make a phone call without paying for it, or fill up with gas without paying for it, the customer is not entitled to use software that is unlicensed, and if not free, that they have not paid for it. The press calls it piracy, but it’s really theft. Just as a customer is not entitled to walk into an AT&T store and steal an iPhone because it’s too expensive, the same applies to software. Of course, the software pirate is in no way entitled to any after-sales services and support from the developer. It’s rather sad but common for developers to receive emails from pirates stating that they would buy the product if a specified feature was added. I believe that’s called attempted extortion. And the reality is, they never do.
- The developer is not entitled to use or profit from the customer’s personal data in any way. This bears repeating, the developer can use analytic information (anonymous statistics on application usage) but may not use or sell the customer’s data under any circumstances. Period!
- Neither the developer nor the customer is entitled to abuse the other. Customers, if you purchased the software and there is a problem, contact the developer and discuss the issue, there is no need to go public and be abusive about it. Developers, if the customer has purchased your software, you are obligated to service and support them (or refund them), there is no need to go public and abuse them back. Much of the pain felt by both sides here is because the “trolls” go public and the conversation gets vitriolic instead of just talking to each-other.
So next time you see a tweet or review complaining about the price of software, the lack of features, the end-of-life of a software product, or see words like “unfair” or “greedy”, let them know what the true entitlements are, and ask them to correct their invalid statements.
If we all know what our entitlements are at the start, our expectations and relationships will be that much easier and smoother.