Originally Posted by Mrs Beanbag
Open source might be very good for certain projects that would benefit from widespread collaboration.
That's one aspect of open source, but not the main one IMHO. Especially in our community, where big projects are the exception and you seldom need lots of contributions from outsiders.
Open source is about sharing, IMHO - that's why I prefer the term "free software". You give something away to help others: Reading other people's code is the best way to improve your own techniques, other people might have a use for some clever routines you wrote...
phx released the sources of his finished game project. He doesn't benefit from this directly - but others certainly do, given how there are several threads on here where people are trying to understand what he did or using his code in their own projects. phx, on the other hand, might benefit indirectly from the general mindset of sharing stuff with others - e.g. he's running BSD as his main operating system (IIRC).
But sometimes the author is tempted to think of the software as "my baby!" Well i know that feeling.
I understand the reluctance, we all grew up with home computers where "free software" means "cracked software" - i.e. software always was someone's property, and others were out to steal it.
But in my experience, it doesn't work like that. It's not becoming less of "your baby" by open sourcing it, because people don't just pirate open source code. Somebody might port it to a different platform (less likely in the case of an ASM project, of course), or use parts of it in his own project while properly crediting you. What else could happen?
A real problem bedroom coders might encounter is academically trained professionals badmouthing their code, the way they name variables or how they interact with the OS. I did witness a coder or two getting annoyed with less polite feedback.