Comments

Nice idea for a challenge. I'd quite enjoy writing the code and would probably start with a simple UDP listener in each app, doing a broadcast at startup. I wonder if Windows Firewall would be my first problem...

I dont think it makes a bit of a difference in real world scenarios whether or not you choose a licensing framework. History has shown, time and time again, if your app is popular enough and there is demand, it will be broken.

Yes, the point of licensing is to get honest people to pay. My point is, whether you 1) roll your own, 2) put in a time-nag, or 3) go with a high-grade licensing framework, in the real world it doesn’t matter, because (in the end, as you indicated) honest people pay. So it doesn’t make a difference. IMHO.

Here is a simple example. You license per user. This means that you don't care if they use the software of their laptop and on their desktop, as long as it is the same user.

But if you have two different users sharing the same key, that is a reason to flag & stop them.

Again, it is not a matter of stopping hackers, it is letting the honest people know that an honest mistake was done.

Or maybe they have 5 concurrent licenses, and they started to use 6 concurrent instances.

That is why you want to go with a licensing framework, because they already have this scenarios, and presumably they spend some time thinking about how to solve them, rather than you having to take the burden of maintaining code that is important, but isn't part of the core business value that you actually would like to deliver.

It’s not hard to implement that a scenario. In fact, I’ve done something very similar to your licensing scenario with one of my products DepositWiz and I’ve rolled my own licensing framework. Do honest people still pay? Yes. Is there anything wrong with rolling my own? No. Is it hard to maintain? No.

If you can afford the cost of using a commercial licensing framework, then go for it, but if you can’t, then there is absolutely nothing wrong with rolling your own. This is my point. You seem to indicate that there is.

The only difference is a trade-off between: Cost and Convenience.

Whether or not you roll your own [that fits your needs] or use a commercial licensing framework [that fits your needs] doesn’t affect an honest person’s free will decision to emit payment.

There is a difference between licensing framework (component, one time cost) and a payment provider (service, running cost).

I think that it makes a lot of sense to optimize the payment processing part, after you are making money. But that is beside the point, what we are talking about here is licensing components, not payment providers.