Every time I make a project, I get a sort of DM, email, or comment, which goes like: “Repo link?”, “Is this on GitHub?”, or the classic “Open source when??”
I get it. The dev community thrives on sharing. But if you look at my GitLab profile, you’ll see Tiny Taskbot, my File Organiser, and maybe a few other bits and pieces… but you won’t see my greatest projects.
People think I’m being stingy, or that I hate open source (which I don’t), but there’s a method to the madness. Here is why most of my work stays under lock and key…
1. The “Google” Logic (Granular Control)
Let’s be real: Google doesn’t host the source code for Search or Gmail on a public repo just because the UI looks nice (thanks M3E!).
When a project is truly excellent, when it’s high-performing or solves a specific problem perfectly – keeping it private is about granular control.
When you open-source something, you aren’t just sharing code; you’re often inviting a chaotic committee of opinions, feature requests, and forks.
Sometimes, I want a project to stay exactly what I envisioned it to be, without the pressure of making it “universal” for everyone else’s edge cases.
I do not want to spend my day closing PRs that have no logical meaning… “Oh, your CSS has 1 extra space”, or “Here, I changed the <h1> to a <h2> for no reason at all”... I’m not hating on these people, just to reiterate, but… It’s not worth calling out tiny problems.
2. The Mechanic’s Philosophy
I view my old or “stale” code a bit like a project car.
If I have a script that’s looking a bit ugly or I’ve moved on to a newer version, that is when I’m likely to release it into the wild. Why? Because it’s like a mechanic giving you a car that needs work.
You wouldn’t go to the mechanic every day to fix a minor problem you can fix yourself.
By releasing the “stale” stuff, I’m giving people a foundation to tinker with. It’s a learning tool. You get to get your hands dirty, fix the “ugly” parts, and learn how it works under the hood. It’s more rewarding for the user and less of a maintenance headache for me.
3. The Quality Filter
I have high standards for what I put my name on publicly. If a project is “excellent,” I might be keeping it private because it’s a competitive advantage (think Train Times) or a personal tool I’m still refining.
If it’s public, I want it to be helpful, like my file organiser. If it’s private, it’s usually because it’s either:
- Too precious to let the internet break it.
- Too “secret sauce” to give away for free.
So, what’s next?
I’m actually working on a new open-source project right now that I think you guys will actually find useful…
I can’t share much information yet, but keep taking a look here at my blog; I’ll post updates.
Until then, keep tinkering with the projects I have put out there. Just don’t expect the keys to the entire kingdom just because the CSS looks pretty.
