DEV Community

Matthew D. Miller
Matthew D. Miller

Posted on

Monetizing Open Source on Proprietary Platforms

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 guess if the projects become popular enough and there really is demand for a Windows and/or Mac version, I could just wait for Windows and Mac developers to come along and submit pull requests adding build instructions for those platforms to the README and any necessary code changes. I've never developed a cross-platform desktop app, but I've worked enough with getting JavaScript to work in different browsers to know at least some code changes will be likely.

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?

Top comments (3)

andrewbrown profile image
Andrew Brown 🇨🇦

I wonder if this what I was hearing about AWS DocumentDB where they worked around the licensing and didn't use MongoDB source code and just built their own database that was compatible. So changing the licensing did not have the affect that MongoDB wanted.

The original article suggests that asian loud providers were abusing the licensing which may have been the reason for prompted the switch. Thats new information for me.

helad11 profile image

Hey, My name is Elad. I'm the CMO at
We are creating a licensing and billing platform for open-source developers.
We launched yesterday our pre-registration website and the platform should be ready in the beginning on November,
I would love to hear your thoughts about our mission and to see if it's a platform that you would use.
You can check it out here:

antho1404 profile image

Hi, nice article and really interesting and complex topic this monetization of open source project. I'm quite interested in this subject and just launched a website to try to collect all the different solutions available that developers can use to monetize their code.

Feel free to have a look and more importantly to contribute (there is a shared spreadsheet) and try to make this "dream" of open-source sustainability actually accessible.