Oh that's a burning question for me. I'm finishing a C lib that - if all goes well - will be very useful.
I worked hard on it and now I don't know how to license it.
I'm okay with non-profit OSS projects to use it freely, but I need others to pay for it. How ? How do you express such a dual license ? And how do you ensure for-profit users reward you ?
GPLv3 with a commercial exception. Corporate suits don't like the GPL, so if they buy a commercial licence they support the project without having to redistribute (You can also offer support)
I think AGPL is the much more effective open source license if your intention is to have corporations too afraid to use it under the open license and to negotiate a commercial exception license.
Plenty of companies will use GPL code, especially for hosted software.
Notably, the FSF recommends against[1] modifying the GPL. And, you'd want to hire a lawyer to go over whatever scheme you're thinking of.
It's easier to draft a separate license agreement if you're the sole copyright holder.
If you're not the sole rights holder, if your project contains other GPL code, you'll need permission from the authors to license under terms other than the GPL. That would include patches from other authors, unless they sign the rights over to you.
I worked hard on it and now I don't know how to license it.
I'm okay with non-profit OSS projects to use it freely, but I need others to pay for it. How ? How do you express such a dual license ? And how do you ensure for-profit users reward you ?
That's not the part I prefer in this project...