Posted by hisamafahri 6 hours ago
What also needs to be shipped quickly and numerously? Oh, I remember, unsolicited commercial email...
It was a project that started innocently enough, but its domain is unbelievably complex. Recovering MIPS relocation spots from a Ghidra database sounds like an easy enough task, until you're confronted with behemoth functions that span thousands of instructions and undocumented psABI extensions that produces edge cases from Hell.
But then, someone contributed a PoC COFF exporter to go along with the PoC x86 ISA analyzer and after that the Windows video game decompilation picked it up, spreading by word of mouth. I've spent a ridiculously long time fixing bugs and learning about MSVC on-the-fly (quipping "there are lies, damned lies and the Microsoft Portable Executable and Common Object File Format Specification." on the decomp.me Discord server at one point). Then other architectures started creeping up in PRs, first x86_64 and later PowerPC. It's a bottomless pit of toolchains and platforms minutiae that demand perfection to pull off and would drive anyone stark raving mad.
It was bad enough that I let it sit for months at a time, only for someone to message me and fall back into it, then discover it got even more popular while I was away. I also somehow got invited to present a poster about it at ACM CCS 2025 in Taiwan, an absolutely insane story (how many hobbyists are invited to present something at a world-class academic conference on cyber-security?) that while very enlightening also physically wiped me out.
Copilot saved this project and I really mean it. Preparing artifacts, writing tests, performing investigations and large-scale refactorings: hours of grueling, soul-crushing menial work that I no longer have to subject myself to. Features that looked impossible like generating debugging symbols became within reach. The ironclad regression test suite happened to provide the perfect feedback loop. I still review the code and design, but I no longer burn myself out on this madness.
You don't want to open source it? Don't. You want to open source it but not build a community? Don't build a community. You don't even have to answer to requests.
You don't even have to disable the PR on your forge.
You don't even have to explain clearly in the README how you envision it and show any kind of commitment.
You do you, open sourcing is already nice.
It's sad, when projects are abandoned and a whole bunch of users would be willing to (partially) maintain it, but the key holder implicitly or explicitly decided that nobody else should have access.
Forks are not he same: It's very hard to get enough traction with existing users and the discoverability is terrible.
A fork solves that. And potential maintainers willing to work together on a fork can open an issue and talk about it. The reality being that more often than not, people think that they are willing to keep maintaining it, but in practice they just won't.