I open-sourced a small parser because I kept rebuilding the same thing for client projects. I expected a few stars. What I got was a handful of thoughtful bug reports, a contributor who used it in a different industry, and several conversations with people who eventually tried the hosted product.
Open source did not create a business on its own. It did give people a way to inspect the work and decide whether they trusted how I approached it.
Share the part that helps people try the idea
A useful open-source piece might be a library, template, CLI, example project, or integration. It should be valuable even if the person never buys anything. If the free component is just a teaser that breaks unless someone pays, people will figure that out fast.
Think about what your customers need to verify. A developer tool may benefit from a public SDK or a transparent example. A reporting product may publish its file format or sample data. A workflow app may share a checklist. You can be generous without releasing every piece of your business.
Draw a boundary you can explain
Some founders open source the client library and charge for managed hosting. Others publish examples but keep the service and support paid. Some projects are fully community-run. Any of those choices can work if the boundary is understandable and you are clear about the license.
Before shipping, ask what obligations come with the license, how people can contribute, and whether you can maintain the project. Put the basics in a README: what it does, what it doesn't do, how to install it, how to report a bug, and how long you expect to support it.
Make contribution feel welcoming
Someone opening an issue is spending time to help. Be kind, set expectations, and say what information makes a report useful. If you don't have capacity to review a pull request, tell the contributor instead of letting it sit without context. A small, clear contribution guide can save both sides from guessing.
Don't promise a response time you can't keep. A solo maintainer has vacations, client deadlines, and the occasional “why is production doing that” day. A pinned note explaining that the project is maintained when time allows is more honest than silence.
Let trust lead to a fair offer
When users ask for hosted features, setup help, or reliability guarantees, you can offer a paid option. Explain the difference clearly: what is free to self-host, what the hosted plan includes, and what support costs extra. Do not make the free version worse on purpose just to create pressure.
The people who report issues are not automatically leads. Some just want to help. Thank them and ask before adding them to a mailing list or sending a sales message. If a user asks for help that takes real time, it's okay to offer paid support—but say so before doing the work.
Track the work behind the stars
Stars are a signal of interest, not revenue or product-market fit. Look at successful installs, return contributors, issues that reveal a repeated customer job, hosted conversions, and support burden. Notice whether your public component attracts the same people you want to serve.
If a package becomes popular but nobody wants the commercial layer, you still learned something valuable. Maybe the audience is different, the paid offer is unclear, or the open-source component is the entire product. Decide intentionally instead of treating popularity as a promise of future money.
Start with a sustainable contribution
Pick one small artifact you can maintain. Document it well enough that somebody else can get value without a personal call. Set a support boundary and review it after a month. If the project grows, consider funding, sponsors, paid support, or a hosted companion—but don't borrow a business model just because another repo has one.
Open source works best when the free contribution is real and the paid offer solves a separate, understandable need. Share the thing you can stand behind, respect contributors, and leave space in the calendar to maintain what you publish.
Plan for the work that arrives with adoption
Before a repository gets attention, decide how people can report a vulnerability, where questions belong, and what kind of contribution you can review. Add a simple license that matches your intent and document setup steps you actually tested. Don't put secrets, customer data, or private keys in example files. A small, clear project is easier to trust than a large repo with a flashy README and no maintenance plan.
Set expectations about response time. If you are building nights and weekends, say so. You can close stale issues, label requests, and invite community members to help without promising every contribution will ship. Be kind in review comments; someone else's first contribution may be the reason they stay involved.
Most of all, notice whether open source supports the business you want. It might build credibility, improve a core dependency, or bring thoughtful users. It may also create a support load that needs boundaries. Sharing code can open a door, but a sustainable project still needs a reason and a maintainer.
how did you decide what part to open source vs keep paid?
the maintainer time point is real. github stars do not pay the cloud bill unfortunately