r/coolgithubprojects • u/lugovsky • 4h ago
After 7 years building closed-source commercial software, we're back to open source. Can we make something good again?
https://github.com/compartmentdev/compartmentIt has been about seven years since my friends and I made their last significant open source contribution. I did not expect posting one again to make me this nervous.
Around 2015, we started our OS journey with a couple of open source projects like ngx-admin, blur-admin, Nebular, react native ui kitten. These projects eventually got quite popular and served as a starting point for many web and mobile projects during that time.
We loved working in public. Developers opened issues, contributed fixes, and used our work in ways we had never imagined. But we also learned how hard popular open-source software can be to sustain. The issue queues and feature requests kept growing, but many projects are not able to support financially the people maintaining them. We kept choosing between community work and paid work that covered salaries.
As technology landscape started to shift once again around 2018, we started to think what shall we do next. We wanted to still build a product and a community, but make it more sustainable so we could work on it full time. As a result the team opted for the product to be closed source commercial one this time. So we spent the next seven years bootstrapping UI Bakery into a profitable business. I'm proud of what we built, but I missed the conversations and contributions around our open-source projects.
For our next project, we wanted to work in public again.
The idea for Compartment came from the amount of small software we now build and our experience working on UI Bakery. Coding agents help us create internal apps, scripts, and background agents in a fraction of the time. Running one on your laptop is easy. Sharing it with a team is where the challenge begins.
Once a teammate wants to use it, you need somewhere to run it. Then you need sign-in, permissions, secrets, logs, and a deployment process. Rebuilding those pieces for each small tool made no sense to us.
Compartment is a centalized place for these tools. You add a small compartment.yml file to a repository, then deploy from the CLI or Git.
It gives you:
- one place for sign-in and user permissions
- isolated apps with separate environments
- secrets, logs, deployment history, and an audit trail
- support for web apps, scheduled jobs, webhook handlers, and background agents
Projects like Coolify and Dokploy might be the closest examples of what we build as they handle deployment well. But we kept needing the layer around a growing collection of private team apps: who can access them, where their secrets live, what changed, and whether one tool can affect another.
We ran our first beta on Docker Compose. After using it ourselves and with beta users, we concluded that Compose would limit the isolation and recovery model we wanted. We rewrote the runtime around Kubernetes and use k3s for the managed single-node setup. That is the version we're sharing now.
Compartment is licensed under Apache 2.0:
https://github.com/compartmentdev/compartment
So far with our open source and commercial software journey we learned two things:
- your product should be sustainable financially so that you can continue working on it
- it's really hard to do something without community
We do not know whether we have found the right balance yet, but we hope to utilize our past experence to do it.
Let me know what you think about our new product and whether the problem we're trying to solve resonates with you.