← All work
Fractional CTO · Architecture

One codebase that could be open-source and a business at once

An organization wanted to build in the open and build a company at the same time. I refactored the monolith into a services architecture that let community-facing code live in public repositories while the trade-secret pieces stayed private — so they could grow the business and the community on the same foundation.

Client
Open-source software org
Role
Fractional CTO
Year
2023
Duration
7 months
Architecture · public / private split
In short
  • Split a monolith into services so open-source, community-facing code could live in public repos while trade-secret logic stayed private.
  • Gave the team an architecture that scaled the business and the community at the same time — without leaking IP into the open.
  • Development cycles got 13% faster, bugs dropped 27%, and the team shipped business value about 2x faster.

The brief

One tangled codebase was trying to do two jobs at once: be an open-source project people could contribute to, and be a business with proprietary advantages worth protecting. Those goals were fighting each other.

Everything was coupled together, so the team couldn't open the community-facing parts without exposing trade secrets — and couldn't move quickly on either front. They needed an architecture where both things could be true at the same time: open where openness built community, closed where secrecy protected the business.

Approach

I mapped the codebase against a single question — what has to be public to build community, and what has to be private to protect the business — and refactored along that line.

  • Drew the boundary first: classified every part of the system as community-facing or trade-secret before moving any code.
  • Refactored the monolith into services split along that boundary, so public and private code could evolve independently.
  • Set up packaging and CI/CD so open-source components could be published and consumed by the private app — without secrets ever crossing into public repos.
  • Established the governance and contribution model that let outside contributors participate safely.

What I delivered

Draft — confirm or adjustThese are the deliverables as I'd describe them from what you told me. Tell me which to keep, cut, or reword and I'll lock it in.
  • A services architecture splitting the monolith along the public / private (open-source vs trade-secret) boundary.
  • Public open-source repositories with licensing, contribution guidelines, and CI for outside contributors.
  • Private repositories for trade-secret services, with secrets management keeping proprietary code and keys out of public code.
  • A package-publishing pipeline so open-source components could be versioned and consumed by the private application.
  • CI/CD spanning the public and private boundary, with role-based access controls.
  • Contributor and internal onboarding docs for both sides of the codebase.

Outcomes

  • Community-facing code shipped in the open while trade secrets stayed protected.
  • 13% faster development cycles and 27% fewer bugs after the refactor.
  • Business value delivered about 2x faster — with room to grow the company and the community together.
13%
Faster dev cycles
27%
Fewer bugs
~2x
Faster value delivery

Stack & methods

MicroservicesOpen-source architectureCI/CDSecrets managementRBACPackage publishingRepo strategy

Building in the open and building a business at once?

I've drawn the line between what to open and what to protect, and built the architecture that keeps both safe. Let's talk about yours.

Book a 30-min discovery call See more work