You can certainly charge for supplying an App if the customer is happy to pay (it is your time they are paying for). The ongoing IP becomes a bit of a debate as you need to give them control of the app once it is installed in their Tenant and the code is Open Source and available to them. There will be other opinions on the second but, but my approach is more pragmatic.
Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.
In complete agreement with Warren 🙂 I do this myself and you typically charge for time as Warren mentioned. In my case we sometimes Charge for a One-Off install but more often we have charged for that and ongoing support or maintenance. I also like how Warren mentioned the second part which is often overlooked. More often than not when you deliver it to them they can edit and use it as they see fit afterwards.
I have however heard of cases where people make it intentionally difficult to edit the app or where the app does http requests to servers to validate the app is an approved install but that really overcomplicates things and I am personally not a big fan of it but it isn't unheard of. You are better off just charging for time spent. If Warren's Post helped answer your question make sure to Accept him as the solution 🙂
If you appreciated my comments/responses please be sure to Like/Kudo them it really does make me smile 🙂 ! Link to the Power Platform Professionals United Kingdom User Group: