I've been building something for the past few months and I've hit a decision I keep postponing: open the source, or keep it closed. I'd rather argue it out with people who have actually shipped something than keep going in circles by myself.
The short version of the product: a place where people review the companies they work or worked for, except there's no account in the usual sense. You log in with LNURL-Auth, your wallet signs a one-time challenge and the server only ever sees a public linking key. Writing a review costs one credit, and credits are bought with a small Lightning payment. Reading is free.
Here's where I'm stuck on.
The case for opening it: the entire pitch is "we don't know who you are." That's a claim about what the server does with your linking key, what ends up in the logs, how long session rows survive, whether payment records can be correlated back to a review. Asking people to take that on faith is exactly the thing this crowd is trained not to do. Open code is credible in a way marketing copy never is, it invites scrutiny of the auth flow, and the people I actually want using this already live in this ecosystem.
The case against starts with the fact that the promised benefit is that people read the code, and mostly they don't. The median open repo gets zero unsolicited review and zero security PRs. So the honest expectation is that I publish everything, the auth flow gets read by nobody in particular, and what I actually bought is the credibility of the gesture rather than the credibility of someone having looked.
The other half is that publishing isn't a button. It's sweeping the whole commit history for keys and connection strings, writing the setup documentation that doesn't exist today because I'm the only one who ever runs this, making the thing installable by a stranger, and from then on every refactor and every ugly shortcut I still have to take becomes something I explain in public, and writing with an audience is slower than writing alone. All of that time comes out of exactly where the product needs it now: the first thousand reviews, convincing the first person to write one. Both lists don't fit into one person's week, and the open source of a product that died for lack of content is worth nothing to anyone. I genuinely don't know whether I can afford the second job that opening it turns into.
So: which way would you go, and why? If you opened something in this space and regretted it, or didn't, I'd like to hear you.
If you haven't shipped it yet, no one has reason to care. If you never get customers, no one has reason to care. Even if you do get customers, 99.9% of people won't care.
Ship it. Get customers. You are fantasizing about succeeding by being concerned about what happens when you succeed and neglecting the much harder problems you'll need to solve to succeed.
Thanks, needed to hear that. You're right that I'm optimizing a decision that blocks nothing while the part that actually matters is getting it out and getting the first reviews written. Back to work.
I'll come back with something to show instead of something to debate.
I would open the proof, not necessarily the whole product.
Your credibility claim is narrower than “all our code is open”: LNURL-auth, payment, session and review data cannot be correlated beyond the limits you state. Make that boundary small enough that someone can realistically audit it.
A practical split:
The UI, ranking, moderation, operations tooling and the rest of the messy product can remain private until opening them solves a real problem. You can always widen the boundary later.
Also, you do not need to sanitize and publish your entire private history. Rotate secrets, audit the release tree, and start a clean public history. Transparency does not require preserving every accidental commit.
Fully open source would still prove only what the published code can do, not what production actually runs or what an operator does with logs. A narrow claim, a small auditable surface, explicit retention rules and one credible third-party review would give users more evidence per hour of your time than opening everything today.