Skip to main content

Selling Software

Everything you need to know about selling your software online
Selling software

When it comes to selling digital products, software is an entirely unique beast. Over the last 6 years we’ve seen many of our users succeed with selling software products, and learned a few things ourselves.

Recently we published a brief summary of the 12 most popular digital products to sell online. In this and other upcoming posts, we’re diving even deeper into each of those different product types.

It should come as no surprise that myself and everyone else at Easy Digital Downloads has a passion for creating and selling software. It’s what we do. In fact, this entire business exists because years ago, a young fellow from Kansas made some software in his spare time and then wanted a better way to sell it. Today, we’re a growing team focused on selling our own software and helping others sell theirs.

Is creating a software product something you are thinking about? Here’s what you should know first:


Unlike eBooks, software varies greatly when it comes to pricing. There are software products costing many thousands of dollars, and there are countless applications available for no cost at all. However, when looking within specific segments of the software industry, some standardization does exist.

Mobile apps

Mobile apps are very similar to eBooks in that free apps are common and pricing is typically very low. The majority of mobile apps are sold on marketplaces which strongly influence the pricing decisions. Customers have been well trained to expect either free or only a few dollars for most apps. However, many apps are generating significant revenue through the use of in-app purchases instead of, or in addition to, an up-front cost.

WordPress-specific software

WordPress has become a proven platform for extending with commercial products, particularly plugins and themes. A theme provides a layout and visual aesthetic to a WordPress site, and plugins introduce new functionality. Our business is based on selling WordPress plugins, and many of our customers do so as well, so this is a practice we are intimately familiar with and also strongly believe in. When it comes to pricing, WordPress themes, when sold commercially, are most commonly priced between $19 and $99. Plugins vary a lot more with many starting at as little as $9, especially simple plugins on large marketplaces. Higher-priced, individual plugins can cost as much as several hundred dollars.

Desktop software

Desktop software is a broad category and as such, pricing varies quite a lot. Many free programs exist, as do low-cost, standalone products or upgraded premium versions of free apps. There are also many desktop applications with their own ecosystem of free and paid add-ons, very similar to how WordPress works. On the high end, there are popular consumer programs which cost in the low thousands, but business software, especially for enterprise level customers, is really where prices tend to jump with no clear ceiling.

Web-based software

Web-based apps are also rising in popularity, and for good reason. They are still fundamentally software like all the rest except they are not distributed. I’ll cover distribution later but that is the primary differentiator for apps run solely within a web browser. Web apps, broadly speaking, can be found at virtually any price. Usually sold on a subscription based model, they tend to appeal to sellers as long term earners, provided enough value can be continuously delivered to retain customers. Many web-based apps are offered with both free and paid plans. Paid plans can be as little as a few dollars per month up to thousands.

In general, if your software is serving businesses (B2B) you can reasonably expect to charge more than if your software targets consumers (B2C). In fact many software sellers provide variations on their software with the simpler version being labeled “personal” or “individual” while the more robust version is called “business” or “professional”. Businesses are significantly more likely to have an expectation to pay for your product and also to have bigger budgets available.

Important lesson: For our business, we’ve learned to appreciate the fact that pricing will need to change over time. We have made adjustments to our prices and pricing models numerous times over the years and will continue to do so. When making pricing decisions, remember that you don’t need to be deciding how to price your products from now to the end of time. Focus only on what prices and models make sense now and recognize that you will be changing it down the road.

Also, for more actionable tips regarding pricing, check out our other post about pricing digital products.

Ongoing revenue

Software is highly conducive to recurring models. This is because all programs are susceptible to bugs and have opportunities for improvement. These ongoing changes mean customers who’ve obtained a software product will likely need to receive updates to the application from the provider at a later date if they continue using it. This continuous cycle of iterations and updates lends itself to repeatable transactions between user and developer. Charging customers repeatedly for software which is being improved makes sense and is mostly commonplace. Exceptions do exist when code-based products are distributed “as is”, for example most HTML templates are sold for a one time price.

In the past, I’ve witnessed firsthand many businesses start up without fully appreciating the importance of charging customers on a recurring basis, and ultimately either change their model or cease operations as a result. This is because the user base continues to grow but revenues don’t so a critical mass of customers is reached and the business begins to break down. Establishing some kind of recurring model is important for most software based businesses.

As an illustration of this need, imagine selling an app for $100 and getting 100 customers per year. Each year, you’d be earning $10,000 and adding 100 more customers. You may be able to run your business just fine in year one when you only have 100 customers to support. But after year five you’ll have 500 customers while still only earning $10,000. You want to hire more help but you can’t. If your customers were paying routinely, revenue would increase each year and you’d be able to scale up your resources.

Without recurring revenue, it’s conceivable that we would no longer be in business. It is that important for businesses like ours which offers some support and ongoing updates for customers. This is not as crucial for businesses which do not offer any ongoing support or updates. If your business provides any kind of ongoing service whatsoever, consider recurring revenue a requirement. If not, consider it anyway!


In the good old days, software was typically distributed on physical disks such as floppies and CD-ROMs. That practice is pretty much behind us and almost all software is now downloaded from the web. While this means that my kids probably won’t experience the thrill of unwrapping the latest version of Madden for PC on Christmas morning like I did fifteen years ago, it does mean the experience of finding → purchasing → downloading → installing → using a product is much faster and easier today.

If you have a software product and wish to distribute it, there are numerous options available, each with their own pros and cons. Here are a few choices:

  • Host the code in a public repository. If you’re not planning to sell the software to paying customers, you can create a repository on sites like or It may sound implausible but there are many cases in which this makes business sense, for example when charging customers for services based around software like installing or configuring. Or when the distributed software includes upsells to other products like a pro version or complimentary products sold elsewhere.
  • Sell on a marketplace. Dedicated marketplaces exist for all kinds of software. Mobile platforms have dedicated app stores and everything from Python scripts to video game mods to web browser extensions to screensavers and just about anything else you can think of likely can be sold on a relevant online marketplace. If you are not interested in building your own brand, managing your relationship with your customers, and doing a lot of your own marketing, marketplaces are an easy, convenient way to enter the market and get your product in the hands of customers.
  • Sell on your own site. For maximum control and flexibility, creating your own eCommerce site is the way to go. You’ll avoid paying commissions to a marketplace and will have the freedom to experiment with your pricing, market your offering any way you want, engage customers directly, and establish yourself as a recognized brand.
  • Sell directly to enterprise customers. If this is your first foray into commercial software, it’s unlikely that you will be targeting large scale businesses but it is worth noting that other distribution channels do exist. Some software cannot be added to a virtual cart and downloaded online. Some of the more complex proprietary software involves sales reps, live demos, and many more zeros on the price tag. If you pursue selling software to hospitals and banks you may encounter an expectation for high prices, personal interactions, and hands on integration projects.

Selling distributed software also means that it is necessary to really understand how customers will be using it and in what kinds of environments. For example, Jeff Gould from WP Migrate DB Pro has this to say about selling WordPress plugins:

You have very little control over the environment that your code will eventually run in. WordPress is deployed on all sorts of different hosting providers that might land your code on a IIS server running PHP 5.3 and a 10-year old release of MySQL or a Caddy server running PHP 7.2 and the latest release of MariaDB. This means that you have to code for the lowest common denominator while trying to provide a good, stable experience across the board.Jeff Gould

We have made the decision to self-distribute our software for a number of reasons. First of which is the fact that enabling this is exactly what our software does! But apart from that, it makes it possible for us to:

  • Build our own brand
  • Engage our customers directly without a third party in-between
  • Keep all the money we earn instead of paying commissions to a third party
  • Have full control over the experience our customers have
  • Avoid the risk of our business suffering because of the rules enforced or actions taken by a third party
  • Maintain full responsibility for our customers’ satisfaction.

If those factors are important to you, self-distribution might be way to go. If not, there are definitely other viable options.

Other considerations


In the vast majority of cases, support for a software product will be an important factor. Even very simple products will inevitably have occasional pre-sale questions from customers and the occasional user who tries to install it somewhere or some way that you never anticipated. Rigorous testing, intuitive interfaces, and thorough documentation can reduce support requests but they can never be truly eliminated entirely. If you have customers, you will have support tickets.

If you’re interested in this topic, we recently wrote another post about why support is important and how to do it well.


Before putting your software in the hands of other people, it is important to decide what you want to allow users to do with it. Can they use it forever? Can they modify it? Can they share it with others? Can they resell it? It’s a good idea to read about the differences between proprietary and open source licenses. Deciding how permissive or restrictive to be with your licensing terms can be difficult. However, many segments of the software industry have some standards which can guide you, so start by looking at related applications already in existence.

We’ve chosen to license all of our software under the General Public License (GPL) which is the same license that WordPress uses. Since our products are built on top of WordPress and because we strongly believe in open source, this is an obvious choice. If you’re selling open source software you might consider the GPL but other licenses like MIT and Apache are common too.

User verification

Anything digital can be pirated and redistributed without your authorization. For this reason, it is usually necessary to implement some means of verifying that customers are legitimate before assisting them with support requests or allowing them to access updated versions of your product. Issuing license keys to users at the time of purchase is a common solution. Licenses can also come with limitations such as the number of installations.

If you offer any ongoing support and updates for your customers, you’ll need to verify somehow that they have legitimately obtained your product before spending your valuable time assisting them. This can be as simple as asking them to provide some proof of purchase like a payment receipt or it can be more sophisticated and automatic like a license key system. When our customers seek technical support from us, they are required to provide their license key first. Our ticketing system then checks the key and shows our support staff an indication of whether the customer is valid or not.


Software is a big industry. Many of the decisions made when building a software business will be influenced by the standards and expectations within the relevant segment of the industry. Student grading desktop software for elementary schools will likely require a different model than brain puzzle games for iPads. Anti-virus software will need a different approach to data analysis web apps for eCommerce stores, or flight simulation programs for jet pilots. Study your market before choosing how to structure your business and sell your products. But don’t be afraid to shake things up! Sometimes bucking the status quo can be a way to differentiate yourself and discover even better opportunities.

Are you selling software? What advice or questions do you have based on your own experiences? Leave a comment below!

Illustration by Jessica Johnston.

About Kyle

WordPress plugin developer, meetup and WordCamp organizer, guitar player and beer enthusiast from Jackson, Michigan.



  1. Kyle

    An interesting piece. The one thing we need (but as yet cannot afford a developer to create) is to have “conditional” sales of products. We sell fonts under varying licenses (print, web, ePub, Mobile App…..) for a variable number and type of user. It is impossible to have a “product” for every conceivable combination where we would like to offer bulk discounts for certain category of product under certain conditions.

    1. Kyle

      Thanks for the input Malcolm. What you’ve described does sound a little tricky but not impossible. There are a variety of ways to tackle it. Off the top of my head you could just create a bunch of variations on your products (could be tedious though). Or you could create a lot of different products which then have fewer variations. For example the print version of a font could be a different product than the web version and each would only have variations for “type of user” and number of licenses. Or, as you said, some custom code could be written to make the price adjustments automatic for some globally defined variation options.

  2. Kyle

    Nice overview. Having just seen your session about marketing for WordPress plugins with Brian on I would definitely add a few notes about marketing.

    There are some channels that work more or less from the start, but sooner or later we developers need to become actively involved in promoting our products and talk to people 😉

    Been there, done that, still doing it.

    1. Kyle

      You are so right Thomas! I actually considered including a section on the topic of marketing software as well. It was a tough call. In the end, I couldn’t find a way to include anything truly valuable without adding another thousand words at least to an already lengthy post. Plus the focus of this series is more about getting started than it is about ongoing needs like marketing, advertising, administration, support, etc. We will definitely be considering addressing more topics like that in the future though.

  3. Kyle

    tackle it. Off the top of my head you could just create a bunch of variations on your products (could be tedious though). Or you could create a lot of different products which then have fewer variations. For example the print version of a font could

  4. Kyle
    1. Kyle

      Most often, yes there is. Almost all software requires ongoing updates to ensure compatibility with whichever systems it works with and to patch security vulnerabilities as well as adding new enhancements. For this reason, users of the software must have some way to get the latest versions.

  5. Kyle

    How can one sell third-party software on their specialized webstore? is it through affiliation only? there’s a great demand for B2B software products where I live

    1. Kyle
  6. Kyle

    Im trying to find a solution that will let me sell access to a webpage and return a temporary url for that page after payment is made. Its a virtual Jukebox system I put together and it doesn’t function running through WordPress, but it will kick the user out once they have completed their selection – any ideas on what I can use to sell access to the page?

    1. Kyle
  7. Kyle

    Will the software licensing work with C++ that lacks the .NET libraries needed for the C# example?

    I have a C++ application that I would like to license through your plugin.

    1. Kyle

Leave a Reply

Your email address will not be published. Required fields are marked *