Delayed Release for Indies
Delayed release is a proven business model for developers of open source software. There are three basic steps:
As you work on your project, divide your work into two categories: always-open work that you will release immediately, and delayed-release work that you will hold back, to release later.
Develop and release the always-open parts of your work as normal. Choose either a permissive or a copyleft open source license.
Distribute your delayed-release work to paying customers only for a period of time.
Once the delayed-release period has passed, release your delayed-release work in the open.
Delayed release of code has a long history, going back at least as far as Ghostscript. It continues today through companies like MariaDB, via their Business Source License.
Delayed release of other work, like security advisories, is also widespread. hapi.js does this as a Patreon perk.
You can make your work available under a permissive open source software license, like The MIT License or The Apache License, Version 2.0.
Making your work available for free increases its changes or widespread adoption and feedback.
Maintaining and explaining the allocation of work between always-open and delayed-release.