Working alone on an open-source project that holds users’ data is high-stakes work. With Commons Caretakers help, James Smith turned one fuzzy cloud of database problems into two clear testing frameworks.
“One of the big problems with working on your own open-source project is that it’s just your brain.”
If you’ve ever maintained an open-source project on your own, you already know the feeling James Smith is describing.
James is the developer behind Manyfold, a self-hosted, federated application for managing and sharing 3D-print files. It’s a bit like running your own Thingiverse where the instances can talk to each other across the fediverse. It’s the kind of project the digital commons is built on: useful, opinionated, run by one person who cares deeply, and depended on by a community of users who trust him not to lose their stuff.
Which is exactly where the problem started.
The challenge
Self-hosted software lives in the wild. Manyfold runs on different operating systems, behind different reverse proxies, on top of different databases. Some users keep up with every release, while others jump from a version they installed two years ago straight to the latest. James, building and testing on his own machines, simply couldn’t test most of those combinations which resulted in bugs.
Every time he changed something in the database layer, there was a real chance some part of the user base would wake up to a broken instance after pulling the latest version. The bug reports would follow. So would the investigation. And one anxiety was always at the back of James’ mind…
“The potential for me losing somebody’s data is the most terrifying thing.”
Manyfold stores users’ files. Sometimes this could be years of curated 3D-print collections. So every database migration carried that risk, and as a solo maintainer James didn’t have a team to discuss it with.
Discovering Commons Caretakers
Manyfold is funded through the NGI Zero programme, which supports the development of open-source software, hardware, and standards across Europe. Partway through one of his grants, James saw that something new had been added to the support ecosystem around it: a group of contributors offering hands-on help with the things developers know aren’t their strong suit. Testing, accessibility, technical writing, and more.
He got in touch immediately and asked for help.
The process
Commons Caretakers connected with James with tester Julian to discuss his needs and quickly identified where they could help. And writing tests was an obvious starting po
For developers, this part is familiar. Half the route to fixing a problem is naming it. But James had been too deep in his own work to really see where the problems lay. Julian helped him with that.
“It was very much like, almost sort of rubber-ducking. Having somebody who’s an expert in these things — to just explain your problem to, and to ask questions back in a way that understands what’s going on.”
What had felt like one anxious haze turned out, under examination, to be two separate problems hiding behind each other.
One was a cross-database compatibility problem. This was where a change might work fine against one database, but quietly break against another.
The other was about version-skip migrations. When users skipped several releases and upgraded straight to the latest version, they were seeing issues with their installation.
Each was solved quickly with a dedicated testing framework. So once James could see the work as two well-defined tasks rather than one anxious haze, it all became clearer.
The outcome
Ask James about the results and the most striking thing is what he didn’t get: noise.
“I think the highest praise that I can give is that the users haven’t noticed.”
For James personally, the change shows up in his shipping pace and in the part of his brain that used to seize up before a release. The tests are there. If something breaks now, it’ll show up in CI before it reaches a user. He can move faster. He’s no longer afraid of releasing on a Friday.
For Manyfold’s users, the change shows up as business as usual. The data they trusted Manyfold with is still there after every update.
More than a deliverable
The engagement formally ended when the testing work was done, but James’s relationship with Julian didn’t. Julian still sends over blogs about the project when he spots them, makes introductions to other maintainers working on similar problems, and stays in touch.
For James, that’s what makes Commons Caretakers more than just a service catalogue. It’s a human organisation that actively wants to help. This brings the feeling of being part of a wider, connected world, which can be sorely missing for a solo dev.
His advice to people in a similar position is clear:
“If you need help with a project — if you need someone to bounce ideas off — I can’t recommend Commons Caretakers enough.”
The offer, in the end, is a simple one. Not a vendor; a multidisciplinary team you don’t have to hire.
Could Commons Caretakers help your project?
If you’re a maintainer of a free and open-source project, you don’t have to do everything yourself.
Commons Caretakers supports grantees of the NGI Zero programmes and the wider NGI ecosystem with practical, hands-on help in areas including testing, accessibility, technical writing, internationalisation, technical mentoring, and more.
Engagements typically start with a single conversation.
