Hi, I’m developing a plugin in Python, and I’m thinking about selling it in the future, could anyone tell me how the process works to put a duration license on the plugin, if I’m going to rent this tool?
I don’t have experience in trying to protect scripts written in Python so I assume they’ll be compiled somehow first and somehow wrapped or encrypted.
So far as the “Should this copy run when asked?”
you have two major options:
- find a copy protection system (there are plenty out there, free and commercial) and implement it just like any other software
- Implement McNeel’s Cloud Zoo (same as Rhino uses minus a few features that are Rhino only)
You could also combine the Cloud Zoo with additional protection.
They have sample source code published for both ends (plugin and your server) of how to use the Cloud Zoo.
To run a trial version within the Cloud Zoo in which you grant membership in a test team via their McNeel account, a zero code solution is possible (last tested Nov 2023). That might be a good way to get some test users and experience before actually having your payment and other infrastructure set up.
The technically simplest, but high support overhead per user, way to manage a rental would be to track license purchase and expiration in a spreadsheet and grant or revoke membership in a user group as applicable.
I could start out spitting out links if I knew more specifically what you’re trying to do. There are good resources at developer.rhino3d.com and the mcneel account at github. I’ve also written a few sets of notes on development aspects of the cloud zoo as I went through implementation.
Thanks for the help, I’ll look into it.