Yep. 10 seconds on google led to this little guide:
Do a search for WordPress plugin licensing and you'll see plenty of results. 👍💪
I would say it depends on how you want to enforce licensing.
You almost certainly need a licensing “server” for the plugin to talk to. Theres a paid wordpress plugin called WPdigipro that will help manage this type of thing. Basically you set up a wordpress site with this plugin for your installed plugins to talk to.
Heres a more complicated example that essentially builds a mini API in your plugin to talk to and validate a license.
In my experience a “validate license” option to talk to an API i built to verify authenticity of an “upgraded” user works. But in my scenario an upgrade includes additional services.
Instead of building an API in your plugin you could make use of WP cron and WP remote get functions to talk to external servers.
Maybe others have better or simpler ideas, but if you want to ensure compliance and authenticity of purchases I wouldnt cut corners personally.
So you are saying that people make WordPress compatible tools, and then license them using non GPL terms? So... they are breaking the implicit contract that they agreed to in the first place?
GPL gives the right for a user to redistribute a work that was made by another, that was also distributed under the GPL.
Check this out, as I think this explains pretty well how it works.