James Kemp asked the question on Twitter what others were using for software licensing solutions on their WooCommerce sites for their products. Although the poll didn’t really define between those who chose a specific out-of-the box option vs. building their own solution, Anh Tran and Phil Webster replied, both having built their own.
This was the impetus of the conversation and leads to a lot of insights for others you are at this point in making a similar decision.
- The context of the tweet that started the discussion
- Out-of-the-box solutions or writing your own
- The time it takes to customize your own solution
- Locking into a system or running with what’s available
- What suggestions for starting out with a licensing solution
- Leaving data, migrating data
- The most important features in a licensing software management system
Episode Transcript
Robbie: Hello, and welcome to Do the Woo. I am Robbie Adair.
Today we are doing a little bit of a hybrid between a biz chat and a round table, because we have got three guests on with us. Robert is my co-host today. But what we are talking about, I would say, it is going to be of interest to a lot of business owners out there, that work with WooCommerce and products that they sell with Woo.
So Robert, you want to introduce our guests today?
Robert: Oh, gosh. There are so many. I don’t know if we have enough time for the new Bob-WP-Do-the-Woo-biz-table-chat-athon.
We have a number of folks on board today, and this actually all started because of James throwing out a tweet. So we have James Kemp, Phil Webster and Anh Tran, and I am going to let them do good introductions of themselves, because I will mess it up. Let’s start with James, the instigator of all this.
James: Yeah, I am James Kemp. As you said, I run IconicWP.com and also Orderable.com. We make WooCommerce plugins and we are part of Stellar WP.
Robert: Thank you. And Phil?
Phil: Hi, I am Phil Webster. I am the creator of wpBlockBuddy, which is a new WordPress plugin, trying to help make using the block editor better for agencies and freelancers. I also am a developer on WP Migrate.
Robert: And it is so new that it is still soft launching?
Phil: Yeah. I currently have a private beta list. So if anyone would like to get on that, they can sign up at wpBlockBuddy.com.
Robert: Awesome. And Anh?
Anh: So hi. I am Anh. I am the author of metabox, developer tools for creating custom views, setting space, and also using with block. I recently launched my second plugin, WPslimseo, which is a lightweight SEO plugin for WordPress.
The context of the tweet that started the discussion
Robbie: Awesome. Well, thank you guys. We really appreciate you taking time out of your day to join us here for this discussion. And as Robert said, this all came about because James put a survey up on Twitter, asking what is your preferred software licensing solution for WooCommerce?
What is your preferred software licensing solution for #WooCommerce?— James Kemp (@jamesckemp) June 20, 2022
Now we gave four options on there, software add-on. LicenseServer.io. WPSoftwareLicense.com. And something else. And amazingly, something else had 62%. It was the major answer there, for most people. So I think that is quite interesting, as well as, I know two of the guys on this call, they actually have done the something else and developed their own.
So we wanted to chat about that and why people make the decision that they do, for managing their licenses? And James, I am going to start with you, just because you put the question out there. So you must be, actually, in the process of doing this and exploring possibilities. Is that why you put that out on Twitter?
James: Yeah, exactly that. I think it is worth of noting, as well, that something else is probably skewed slightly because people will click that, just to see what the answers are.
So I would say not necessarily everyone that clicks something else, actually uses something else. Most people you clicked, they probably don’t even use anything. So it is worth noting that. But it is an overwhelmingly larger number than the rest. But yeah, we use a couple of things. So for our Iconic products, we use Freemius, and we have used them for five years now. So we have been with them since even their early days.
Now, for people getting started with building products, they are really good, because they offer everything. They are merchant of record as well. So you don’t have to worry about taxes and things like that. That, as you know, like a small time developer, you don’t really have time to be concerning yourself about paying taxes in Europe and just filing taxes wherever you sell your products. So Freemius, at that point, is a great choice.
But since Iconic was acquired by Liquid Web last year, there’s been talk around all of the brands within Stellar, which is Liquid Web’s umbrella company that runs all of the product brands that they have acquired, about consolidating our licensing into a single system that we can all use.
And the interim, for me, is to basically move everything to WooCommerce, with a short term licensing solution until the Liquid Web one is ready. So yeah, I put the feelers out to see what people are using. On Orderable.com, which is one of our other products, we use WPSoftwareLicense.com, which my review would be, it does the job.
Out-of-the-box solutions or writing your own
Robbie: Okay. All right. And so now, Anh, you are already using your own solution, correct? Now, did you try other solutions for the licensing, managing them? Or did you just decide right off the bat, you were going to write your own?
Anh: I started metabox quite a long time ago. And when I first sold my premium extension for metabox, it was in 2014. And, at that time, only Easy Digital Downloads and WooCommerce were the solutions. And I really like how Easy Digital Downloads helped us to manage all of the downloads and sell the digital products.
But I still feel that EDD is complicated to me. So I wrote a very similar plugin, just for managing my products, and sold it. And because another problem for me, is that I am living in Vietnam and I can’t use Stripe or other payment systems, to process the credit cards. My only choice was PayPal at that time. And I discovered also Gumroad, at that time, that can help us to manage credit cards. So I tried to write a similar version of Easy Digital Downloads at that time, but connected to PayPal and Gumroad to manage all the payments. And during the time, it worked well for several years for us, but that system doesn’t have a recurring payment.
So two or three years ago, three years ago, I think I have to update it, rewrite it from scratch, and switch to another payment system, which is FastSpring, which supports recurring payments. And now I have my own licensing system.
Robbie: Awesome. Is that something that you are thinking about, possibly packaging up and selling as its own standalone plugin?
Anh: I thought about that, but managing the system for my products, I updated it frequently and added some things specific for my case. So I haven’t opened it yet.
Robbie: You customized it too much now, at this point, huh?
Anh: Yeah. That’s right.
Robbie: Awesome. Okay. And so now, Phil, you are just getting started, as Robert pointed out. So you are in the alpha stage, basically, of letting people test out yours. And so have you already come up with your solution for managing licenses?
Phil: Yeah, I am in the process of working on it. What I currently am doing is using WooCommerce, plus the subscriptions add-on, and then I have created just a little bit of extra, to create license keys. And then just a little bit of logic to check that, to see if they have an active subscription. So it’s basically just like an extension of the subscription, or just slightly modifying what you can buy out of the box, with what the subscriptions add-on.
Robert: Actually, I am curious, maybe this can go out to actually everyone, is what does that development resource time look like, to actually build your own versus some kind of SaaS route or existing solution route?
James: I would say, at this point in time, it depends on your needs, really. I would say there’s going to be a base that everyone can use. I would not consider, these days, starting from absolute scratch, building out a licensing solution, because the basics are there for everyone.
Similar to using the EDD system that you can use, you can just build on top of that. And you don’t necessarily have to then go through and modify the actual solution. You can extend it by creating your own solution alongside it. So I do think I would not even consider starting from scratch these days, unless you have some very specific needs, which I would imagine most WordPress products don’t have.
For me, the base needs from a licensing solution, are the ability to automatically update the plugin, the ability to issue license keys, the ability for your plugin to communicate back to the license server, to validate the license keys. And for me, specifically, the ability to created bundled licenses. So you can have one license key for multiple products. Now the bundling thing is something that doesn’t exist very well in the current solutions that I have tested, anyway. So that is the kind of thing that you might want to extend on top of something that already exists.
Robbie: And now James, you said, unless you really need custom solutions, and which I think the example that Ahn gave us, was he’s in Vietnam. So he definitely needed, if nothing else, we are talking to payment systems. He needed to have some different solutions there.
The time it takes to customize your own solution
So I guess there are times when people see that, even though it may take longer, and Anh, you can answer this, how much longer it took you to customize your own, versus just trying to customize on top, create a plugin on top of, or sidecar to another plugin? Did you try that first? Or did you just decide to do your own?
Anh: For me, I tried Easy Digital Downloads first. At that time commerce subscription was not created. So EDD seems to be the only choice, but it requires a lot of extensions to sell licensing, like software updates, payment gateway, some things like that.
And I just started and I needed to save money. So I chose to write it, but very, very small plugins, just to manage downloads. And for managing all the systems, I chose to use Gumroad, which is very simple, like just put a link on the website and click and it handles everything else. And all I needed to write is just a webhook to receive the notifications from Gumroad, after people buy a plugin. So they can download the files like that. Like the effort, at that time, was, I think, just one month to complete the plugin.
So three years ago, I took a look at many solutions at that time, three years was already exist, and I need some, still, one-time payments, recurring payments, also bundles. I don’t know, I can’t remember everything, but more efficient, a lot. So it took me a lot longer and I had to list them all and develop step-by-step. And it took me around four months to complete.
Robbie: Awesome. So really, you first venture into it, in the next one. You probably spent five, we’ll say five to six months on development, which is a significant chunk of time.
So Phil, you decided to go with some preexisting pieces, Woo and Woo subscriptions, and then build alongside of that. What was your customization time period like for that?
Phil: It was really quite quick. It didn’t take much time at all, I would say. Maybe 20 hours, at most, to do that. I am not finished yet, but it definitely works. So there was writing the logic on the plugin side, like on the wpBlockBuddy side, to send those requests to the API, which was very easy to create because it’s just adding another WP REST API endpoint, which is fairly easy these days, thanks to the REST API being so easy to extend.
And then creating a simple logic on the WooCommerce side, to check if the subscription is valid or not, based on that user’s, the key that we generate, for the license key. So that process is all pretty simple. I think the subscriptions add-one takes care of most of the hard logic. And the reason I decided to go that route, instead of one of the other solutions, is I wanted to give myself enough flexibility in the future, that if I decide that there is going to be a cloud portion or turn this into a sort of a SaaS, that transition would then be easier, because I am not tied into a third party solution as much. And with Woo, it’s so extensible compared to other options I looked at. It’s just like, there’s just so many options available, that I feel like I am setting myself up for flexibility in the future.
Robbie: I would have to agree. I mean, working with all kinds of e-commerce, Woo is a very extendable and just a customizable solution out there, for our clients as well.
Thanks to our Pod Friends LearnDash and GoDaddy Pro
Robbie: So now, James, so Stellar, are they building their own solution or are they customizing something that’s already out there? Or can you even tell us that?
James: I don’t know if I can tell you, but I will anyway. Yeah, I think something that Phil kind of, and Anh, to be fair, both hinted at is that the payment side and the licensing side of things are separate entities, in the case of Woo commerce and EDD, whereas with something like Freemius, everything is contained in one package.
So like Phil was saying, having the subscriptions and the actual payments processed through something like WooCommerce, and having the licensing as a separate part of that, means that you could then change it up in the future. So you could switch out the WooCommerce side of things and just integrate that into something else. And that leads me into using a licensing solution in the interim, until this Liquid Web solution is ready. So the theory is that, because it’s all based on WooCommerce, we should be able to switch it without causing a load of issues, whereas switching from Freemius to something, is a big headache. Like we are essentially going to leave everyone who’s on Freemius now, still on Freemius and just accept new customers on whatever solution we end up with.
But yeah, the Liquid Web solution is being built internally by one of the teams. I am not sure. It is very early stages, so I am not sure how far along it is, but it is heavily based around what the Events Calendar do currently. But yeah, basically, it is going to make it easier for us to cross connect brands, in terms of figuring out if someone has bought two products from the same brand and that kind of thing.
Robbie: I was about to ask to, are we going to start seeing some bundling happening between the Stellar companies’ offerings?
James: Probably, yeah. I mean, Kadence is a great example of… Bundling Kadence with LearnDash or the Events Calendar is the perfect example of why they would want to build that system.
Locking into a system or running with what’s available
Robert: Curious about that. I mean, you mentioned a perfect issue around migration and how big of a factor should that be, for someone coming into a new licensing program? Should they be worried about being locked into something, where they can’t easily shift subscriptions around? Or just run with whatever is most readily available?
James: It should definitely be a consideration. I mean, for me, the key thing I was looking for, when I chose Freemius, was that they were going to handle taxes. Like I don’t really care about anything else. But at this point, that choice has made this situation a bit more difficult though. Though I wouldn’t say it was the end of the world, but it is kind of a tossup between whether you want to deal with the tax man or whether you want to deal with migration. There are pros and cons to both, I guess.
Robert: Yeah. Thanks.
Phil: For me, it was being able to go… Even if everything went bad, I would still have my customers in Stripe, was my thought. So if I am using WooCommerce with Stripe, I could then use something else with Stripe and not have to worry about that migration, at least from like, how do I get into this next payment system? Or how do I use this next licensing system? Which is why I, after looking at everything, I was like, all right, let’s just do this in Woo. So that I had that flexibility, at least I perceived.
James: And the other things consider, if you choose like Freemius, for example, you have also got the commission that they take to take onboard. There is a certain threshold, where you might as well hire someone full-time to handle your taxes and do all that for you. And you would still be getting profit above that.
Robert: Yeah. I was wondering when that was going to kick in, in the conversation, as you know, that piece of the pie that starts disappearing and how much of a factor that is. And obviously you can, matter of factly, look at it and say, “That’s the take,” or versus actual in-house and development.
Anh: Just one more thing about the migration is that when you sell your business, that migration uses from one platform to another is a big thing to consider, because most of the sellers will cancel users on the previous platform and ask them to switch on another platform. And sometimes they lost the drawing in of customers because of that.
Robbie: I totally agree with that. And I will say you three, as guests, might be slanting this conversation slightly, because you all have the capabilities, in-house, of writing your own custom solutions.
What suggestions for starting out with a licensing solution
So if we are talking to someone out there, that is starting a business, either they are slim line or they don’t have the time to do it. Maybe they have a plugin they have written, but it does a certain thing. It doesn’t mean that they can go and write the customizations needed for a licensing management system. And so would you still suggest then, to people starting out, to start with versus something like Freemius, like you said, where it’s all e-commerce and license management together, would you suggest they go with a WooCommerce and then maybe one of these other add-ons, like License Over IO or WPSoftwareLicense.com? And get themselves set up that way, originally, so that they are more flexible to move, as Phil pointed out? He feels he’s flexible because he did Woo as part of his solution.
James: I would say it depends on their goals. Like if they are doing a plug-in as a little side project, then I would suggest going with Freemius, because you have got none of the headaches. You are not really bothered if you end up creating a massive business out of it and selling it later down the line. If you are setting up a product with the goal to have that product be your business, then I would probably consider going the WooCom route.
Anh: Yeah. I agree with James, that using only one solution like Freemius is a great way to start the business, even though using Freemius requires some customization to embed the Freemius SDK into the product. So it still requires some customization, at least to do the job using other solutions, like Woo or EDD, requires some problems with that handling, like James already told about, which is maybe a headache after the sale. So I think it is a big problem learned using only one solution like Freemius at first. So I think Freemius or a seamless solution is still the best way to go.
Phil: I mean, if you went to go really simple, you could just sell on WooCommerce as a digital download, at first, without any licensing logic at all. And then, add that in later. And your customers would just have to manually update every time you came. But if you are going with the most simple version.
Anh: Yeah. That’s what I started at first, but that doesn’t look like a licensing system that we are talking about. I mean like, selling downloads.
Robert: It’s the anti-licensing system.
Anh: Yeah. If people go with selling downloads, there are many solutions that already exist, like Gumroad, Petal, or even FastSpring. They all offer you everything, that you just create the download, upload, find, and give people just one link and they can sell.
Leaving data, migrating data
Robbie: And so now, James, you mentioned when you were talking about when you are moving to Woo with a different solution, while you are waiting on the Stellar solution that will work with Woo, but you said that all the people that you had in Freemius, you are leaving them there. You are not migrating. So you are leaving that data there. You are not going to try and migrate. Is it because it’s just too difficult?
James: The biggest concern, in migrating those users, is the subscriptions belong to Freemius. So if we were to migrate those people, we would lose all of the active subscriptions. So when it comes to the following year, or just thereafter, you would not have any automatic renewals. You would have to somehow convince people to somehow check out again, in your new system, to reactivate their subscription. And I would expect you would lose probably north of 70% of those active subscriptions, which doesn’t seem worth the headache for me.
So we are just going to let those subscriptions be there and expire naturally. So we’ll still support both systems, but the new sales will be coming through WooCommerce.
Robert: So you just said something very important, in my mind, James, that Freemius owns those subscriptions. It’s not even just having a complexity in migration. Someone else actually owns those subscriptions. And that’s, from our democratizing everything in WordPress, open source, WooCommerce world, that might actually surprise some people that they don’t have more control over that. Not even just for like, “I want bundles,” or any anything weird like that, but that actual property of the subscription is not even really in your control.
James: Yeah. I mean, they are pretty good with giving you secondary access through them to that data if you need it. But ultimately, the majority of that data is in either Stripe or PayPal, those are the gateways they use. And with both systems, I believe you cannot transfer an active subscription to another account. So whatever happens, those subscriptions are always going to be in Freemius’ account.
The most important features in a licensing software management system
Robbie: So what would you say, if someone were going to build their own licensing system, like you guys have done and are working on, what would you say are the most important features that you have in this licensing software management system?
Phil: I think we have sort of covered it the beginning, but the ability to have the updates up here, in the WordPress dashboard, I think is the most, probably the most important aspect of this, so that your users can just update, like they would any other plugin.
Other than that, is you have to add some way for the keys to be managed. So the user has to have a way of accessing the key in their dashboard somewhere and not just like in the email you send them initially. So you have to come up with a system for that. From the admin side, you probably are going to need a way for admins to create and reset keys and attribute those keys to different users.
Robbie: And what do you think about also when domains are required in there, so that the license is actually tied to a domain in the system or domains, if you have multiple domains in your licensing?
Phil: If you are going to do that, you will have to have some way of keeping track of that. So I mean, you can automatically do that with the requests that are sent by and keeping track of which domains send a request to your API. That was actually going to be the next thing I was going to add. So I am putting all this data in custom tables, so that it is easy to manage. So I was going to add a domains table to associate keys with a domain. So then you could also list that in the user’s dashboard, which domains have active license on them. That seems to be a way that we offer different packages in WordPress a lot, is by being available on X number of sites. So if you can’t keep track of that, then it’s hard to enforce that license part.
Robbie: Yes. My biggest pet peeve though, guys, I just have to put it out there, is I hate whenever I go on, I don’t mind paying for a license for a single domain. I do not have a problem with that. What I have a problem with, though, is when they won’t also let me put it on my staging site. Like, I think you should automatically get your domain plus a staging domain. So just putting that out there, just so you know, put that in your mind when you are building these systems, that if people have a site, they probably have a staging site and they need to run that plugin on there as well.
James: Yeah, I agree with that. Freemius handled that pretty well, actually. They have an allowed list of common staging site names for all the big hosts, but also things like staging dot, dev dot, any local domain, and all of them don’t count towards the activation limit. It is definitely an important thing to cater for. And the other thing, to add to what Phil was saying, that you would need to consider is how to actually tie that license key back to a subscription or a product, if you sell more than one product, which we do.
Anh: Yeah, for me, I created a feature that allows agencies to create their own licenses on our system. So they can use one license for this client and one license for another client and all of the license can be checked by domain, so they can prevent client’s from using that license key for another website. And another thing I think is very important, is that to be able to sell bundles of products, similar to what James just said, but just leave one license key for multiple products in that bundle. So when people use that license key, one they use with any products inside the bundle, they still can update as usual.
Robbie: All right. Well, we really appreciate you guys coming on today and talking about this topic. Thanks for starting the topic, James, on Twitter, but it was very interesting. And I don’t think this is something that is actually discussed amongst you guys very much, the extension developers out there. I just don’t think that they are talking about this as much. Maybe they should be.
So I appreciate you coming on. If you don’t mind, really quickly, I’d just like to go back through and let you guys say how best for people to learn about your product or reach you. James, we will start with you.
James: Yeah. So I am on Twitter as @jamesckemp. You can find our plug-ins at IconicWP.com and Orderable.com.
Anh: People, you can find me on Twitter, @rilwis. And my products are at metabox.io and Wpslimseo.com.
Phil: I am on Twitter, @phil_webs, and you can check out wpBlockBuddy at wpBlockBuddy.com.
Robert: We need to just have these licensing discussions at like a big WordCamp. I think there’d be a really interesting biz dev topic for anything from agency owners to plug-in developers, because there is a lot of nuance to it. And I mean, I think we kind of scratched the surface. This is almost like intro to some of the licensing issues people have, but it would be interesting to see full workflows and thought process and business logic around the multiple different types of solutions out there.
Robbie: Oh, absolutely. All right. Well, sounds like we might have some other topics that will come out of this show. So thanks everyone, thanks for joining us today. And don’t forget to catch the next episode of Do the Woo.








Leave a Reply