Open source has a monetization problem, but solving it is a sensitive issue. There was quite a stir over MongoDB changing their licensing. There was an uproar over Caddy charging for commercial use for binaries while this is something explicitly allowed by the Free Software Foundation: "The word 'free' has two legitimate general meanings; it can refer either to freedom or to price. When we speak of 'free software', we're talking about freedom, not price. (Think of 'free speech', not 'free beer'.)"
One interesting licensing model I've seen is that of jOOQ, a Java ORM. You can use the open source edition with open source databases (like PostgreSQL, MariaDB, and SQLite) but for proprietary databases (such as Oracle and SQL Server) you'll need one of the paid editions. In a way, this make sense: The developer has free access to develop against and test the ORM with open source databases, but the proprietary databases would require the developer have (sometimes costly) licenses for those databases.
I'm working on a couple projects in my spare time. Like all good hobbyist projects, they scratch an itch I have. I'm developing them first and foremost for myself, to solve problems I have. There may be other people out there with the same problems. If the projects pan out, I plan to upload them to GitHub under an open source license so they might benefit from them as well.
I develop on and solely use Linux, so I'm developing these projects first for Linux. What if Windows and Mac users could benefit from them as well? I don't currently have any way to test them on Windows or Mac. Even a used Mac mini is not cheap. Windows wouldn't require the purchase of any additional hardware since I could run it in VirtualBox, but unless I download a pirated copy (which I don't intend to do), I assume a Windows license would cost me something. I don't have any other use for Windows or Mac, so it would seem reasonable to charge for the Windows and Mac versions.
I wouldn't push any of the code necessary to make them compatible with Windows and Mac to the public repo, but that wouldn't stop someone else submitting a pull request or just forking the project. Unless the projects do become popular, I'm unlikely to recoup my investment in the Mac hardware and Windows licensing.
I could instead offer paid consulting or support related to the software, but both of these options seem like way too much work to me. I already have a full-time job and a part-time ministry position. The whole point of these projects is something fun in my spare time, but who doesn't dream of making a little money off their side projects? Any time spent consulting or providing support would take away from what little spare time I have to work on the projects anyway. Selling Windows and Mac versions of the software would be a more passive source of extra income.
Would I be better off just keeping the projects hobbyist projects? If others want to contribute Windows and Mac compatibility, so be it. If not, no sweat. Even though Windows and Mac are themselves proprietary platforms, would charging for my software on those platforms go against the spirit of open source? Is offering compatibility with proprietary platforms only in a paid edition a legitimate way to monetize open source?
Python: a large and terrifying snake OR the third most popular programming language. This week, Python (the language, not the snek) aficionado Nina Zakharenko joins us for Five Things that you didn’t know that Python can do