Reading between the lines here, it looks like you're all just sling code as fast as you can to meet deadlines and what not. Where as the OSS community generally deals with deadlines a little differently than commercial organizations. There seems to be a little more flexibility in OSS timelines. It can make working with outside people difficult, because you've got problems to solve as opposed to focusing on cleanup, refactoring, and documentation. I'd imagine that a large amount of your communications are offline and in real-space etc. One of the ways we've tried to deal with the internal/external problem is to put someone in charge of it, and only it. Their job is to run around, and figure out WTF is going on, and to make sure that patches and information hit the street faster, without making your over-stressed deep-coders have to worry about it. I'm not saying this is an ideal solution, but might be some food for thought.