Most solo developers pick a database based on tutorials and familiarity rather than licensing. That works fine until you ship a product, land a client, or start thinking about monetization — and then someone asks what database you used and what license it runs under. Getting ahead of that question saves headaches later.
The Fully Free Options: PostgreSQL and SQLite
PostgreSQL uses the PostgreSQL License, a permissive open-source license similar to MIT or BSD. The short version: you can use PostgreSQL in any project, commercial or not, without fees, attribution requirements beyond keeping the license notice, or restrictions on how you distribute your application. It is one of the most genuinely free database licenses available.
SQLite goes even further. It is released into the public domain, with a small caveat: the authors request (but do not legally require) that you consider a small blessing or acknowledgment. SQLite is used in virtually every smartphone, browser, and embedded system on the planet. For solo developers building desktop apps, mobile apps, or applications that need a lightweight embedded database, SQLite has no licensing barriers whatsoever.
Both of these are the safe choices when you want to be absolutely certain your database choice will never create a licensing issue at any scale of your project.
MySQL: Community Edition vs Commercial Licenses
MySQL is where things get nuanced. Oracle owns MySQL and offers it under two different licenses: the GPL v2 open-source license and a commercial license.
The Community Edition under GPL v2 is free to use, but the GPL has a significant implication: if you distribute software that includes MySQL (embedded, linked, or bundled), your software may need to be released under GPL-compatible terms as well. For web applications where MySQL runs as a separate server process, this is generally not an issue — a web app talking to a MySQL server is not "distributing" MySQL in the GPL sense. For applications that embed or bundle MySQL directly, the GPL terms apply more strictly.
Oracle's commercial MySQL licenses remove the GPL restriction and provide support contracts. Pricing varies by edition (Standard, Enterprise, Cluster) and is typically negotiated directly with Oracle. For a solo developer building a SaaS application where MySQL is a backend service rather than a bundled component, the Community Edition under GPL is almost always the appropriate choice.
MongoDB: The SSPL Shift and What It Means
MongoDB changed its license in 2018 from AGPL to the Server Side Public License (SSPL). This was controversial and worth understanding.
The SSPL requires that if you run MongoDB as a service and offer it to others (that is, if you are building a MongoDB-as-a-service product), you must open-source the entire stack used to offer that service — not just your modifications to MongoDB itself. For solo developers building applications that use MongoDB as their own backend database, the SSPL does not typically create issues. For someone building a cloud database service to sell MongoDB access to others, the SSPL is restrictive by design.
The practical implication for most solo developers: if you are building your own app with MongoDB as its database, you are fine. If you are building infrastructure to sell MongoDB hosting to third parties, the SSPL matters. MongoDB Atlas, MongoDB's cloud service, is a commercial product with separate pricing starting free at 512 MB and scaling from there.
Resources like License Day are valuable when you are navigating these distinctions, since the nuances between GPL, SSPL, and commercial licenses have real implications as projects grow.
FAQ
Does using MySQL in a web app require my application to be open source?
Generally no, for web applications. When MySQL runs as a separate server process and your application communicates with it over a network connection, you are not distributing MySQL as part of your software. The GPL trigger for application code applies mainly to cases where MySQL is embedded or bundled inside the distributed application itself.
Can I use PostgreSQL in a commercial product without paying Oracle or any other vendor?
PostgreSQL has no Oracle or commercial vendor ownership. It is maintained by the PostgreSQL Global Development Group, a nonprofit community. There are no licensing fees for any commercial use of PostgreSQL.
What is the safest database choice for a solo developer unsure about licensing?
PostgreSQL for server-side databases and SQLite for embedded or local databases are the safest choices from a licensing perspective. Both have maximally permissive licenses with no commercial restrictions or ambiguous distribution clauses.
Conclusion
For solo developers, PostgreSQL and SQLite are the worry-free choices with no licensing strings attached. MySQL Community Edition works well for web applications where MySQL is a separate service, with attention to GPL implications if you ever bundle it. MongoDB's SSPL is fine for building your own applications but restrictive if you plan to offer database hosting as a service. Knowing these distinctions early means you will never need to refactor your data layer because of a licensing surprise later.
Related Articles
- Why Your Office 365 Subscription Cost Keeps Increasing (and What to Do About It)
- How to Transfer a Microsoft Account-Linked Office License to a Family Member
- Auto-Renewal Settings: How to Stop Surprise Charges on Software Subscriptions