It's worth pointing out that open source doesn't have to be an all or nothing deal. If it was desired (and that's a big if) the devs could open source the non-controversial parts of the code, and leave the controversial bits (ie. anything that people could exploit by reading) closed source. They could even say "we won't expose any of our code, but we still use these ____ modules of the original (open source) EQEmulator code; by all means fix stuff in them and send the fixes to the EQEmulator maintainers".
This would have the benefit of ... well of not having most of the downsides people mentioned, while still leaving the possibility of "free" bug-fixes and code improvements from random contributors. And, that would include contributions of unit tests. As I'm sure all the developers here know: A) you can never have enough unit tests, and B) they are one of the only things you can really do to prevent random bugs.
I admit though, there is one valid downside that has mentioned about open source: you do need a "community manager" of some sort to accept patches and deal with the inevitable "why U no like me code?!?" fallout from rejected patches.
P.S. As I said before, none of this should be misconstrued as pressure on the devs to do anything they don't want to do with their code.
|