When building and maintaing OSS-es, I like to get paid. I really like the idea of having the software be completely free, essentially no paywalled features for personal use (or for NPOs), but making commercial and government organizations pay for it, possibly with a few extra enterprise features like SSO.<p>I'm wondering how I would license this. I really have no clue on licensing, I use MIT for nearly everything. I've seen some people mention dual-licensing, but I'm not sure how that works.<p>TL;DR: What kind of licensing to use so that personal and NPOs don't pay, but commercial and governments do pay (per user).
If you <i>required</i> commercial/government users to pay, then you'd necessarily fail to meet the Open Source Definition, so it'd be impossible. The next best thing is indeed dual licensing. Choose a license that companies are irrationally afraid of, like the AGPLv3, and release your code for free to the public under that license. The dual licensing part is you say something to the effect of "if you don't like the AGPLv3, then you can pay for a different license instead". The FSF calls this "selling exceptions" and is completely fine with it.
Video on "Free and Open Source Licenses: MIT vs GPL Explained" might help.
<a href="https://news.ycombinator.com/item?id=39532268">https://news.ycombinator.com/item?id=39532268</a><p>table comparison of difference licenses : <a href="https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses" rel="nofollow">https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...</a>
Have a look at the MongoDB license (SSPL) as an example of an almost open source license which doesn't really impact personal use, but impacts big service providers who would be required to release the entirety of their source code. You can provide a proprietary alternative for those.<p>If you dual-license you will require a contributor agreement that any contributor grants you the right to relicense their contributions.
Publish it without an explicit license, djb-style. Include a note that explains your intent about free personal use, and states that that organizations that wish for more legal certainty are welcome to contact you for an individual license.
<i>some people mention dual-licensing, but I'm not sure how that works.</i><p>That's because it doesn't. A license is only good as its enforcement,
which in your case is nil.
offering services, such as expertise, hosting, pushing features on-demand that the company want(and pay), doing plug-in on-demand, API limited access, promotion of a company on the website(as opensource is good PR).