Well, you’re pretty much right. BUT.
I’ve been working, on and off, on a project called soscleaner since last December-ish. It’s a pretty straight-forward tool. It takes an existing sosreport and obfuscates data that people don’t typically like to release like hostnames and IP addresses. The novel part is that it maintains the relationships between obfuscated items and their counterparts. So a hostname or IP address is obfuscated with the same value in all of the files in an sosreport. It allows the person looking at the ‘scrubbed’ report to still perform meaningful troubleshooting.
It’s not a big enough problem to get a true company or engineer’s attention, but it’s too big for a hack script. So I decided to try and tackle it. And I have to say that the current iteration isn’t too bad. It doesn’t what it’s supposed to pretty reliably, and all of the artifacts to make it a ‘real program’ are in place. Artifacts like:
- issue tracking
- README and Licensing Decisions
- publishing binary packages (RPMs in this case, right now)
- publishing to language-specific repositories (PyPi in this case, since it’s a Python application)
- creating repositories (see RPM’s link)
- submitting it to a Linux distro (Fedora in this case, for now)
- writing unittests (a first for me)
- creating some sort of ‘homepage‘
- mailing lists
All of this has been an amazing learning experience, of course. But my biggest take away, easily, is that all of the things that wrap around the code to actually ‘publish’ an application is almost as hard as the coding itself. I am truly stunned, and I have a new appreciation now for the people who do it well every day.