- Something is wrong with the system (tuner, log viewer, loader, firmware, designed board, other utils, docs etc)
- You're doing it wrong (wiring, configuration, installation, technique, understanding, prototyping hw, etc)
In the second case, if we hear about it, we can advise you on how to correct what you're doing to get a better result. If we don't hear about it, you continue on your wayward path to destruction/sadness unhindered.
Clear in both cases, it's in your own best interests to let us know about stuff that you notice or are having problems with.
So, how to go about letting us know, who needs to know, how to tell them?
Firstly, there are several types of communication:
- Asynchronous, you put your information somewhere, and we find it in our own time, and respond if necessary (forum, email, issue tracker, etc)
- Synchronous, you engage some of us, connect to us, and require 1:1 attention to communicate with (phone, skype, irc, msn, aim, gtalk, etc)
- Public, you share what you know with the widest possible audience, anyone might help you, not just the person who you think should (forum, issue tracker, irc, etc)
- Private, you choose someone to ask/tell, and, by default, only they see it. They then need to refer you to the correct place or respond (email, phone, skype, msn, aim, gtalk, irc pm, etc)
So, who needs to know?
The answer is: Everyone!
The community needs to know, such that everyone can absorb the information, and such that the support load is spread as thinly as possible. This rules out private communications for the most part because they are, quite literally, damaging to the project. In the event that you end up having a private discussion about some project related issue you should publish a summary, or the transcript, afterward.
At the very least, though: I need to know!
Because I'm the hub and only person with a solid overview of every single aspect of the project. Only I can guarantee that the best use is made of that information and correctly direct people to where they need to go. Does that mean that only I need to know, NO, absolutely not. What it does mean, though, is that should you do the worst possible thing, and have a private conversation about something project related, and then not summarise/pubilsh it generally, you should at the VERY LEAST let me know!
But Fred, you have private conversations all the time!?
This is true! :-o And I DON'T F***ING LIKE IT! That out of the way, it's sometimes necessary, and it's generally of maximum benefit to everyone. Why?
- Someone might have something that is private to them to share with me, or vice versa, yes, I have a private life too. (I promise! :-p)
- In the case of me transferring knowledge to another developer (and occasionally vice versa) it's often simply better:
b) They end up with a MUCH better understanding
c) There is MUCH less strain on my very-sore wrists
d) It's MUCH smoother because tonal information can't be transferred over text (less offended/upset people)
So, as much as this sounds horrible, it's a case of do as I say, not as I do :-/
But Fred, isn't all of this completely obvious and normal and a total non-issue?
Sadly no, and it's taken me a while to realise why, too. The problem is that the project naturally attracts geeky people. How is this a problem? Geeky people mostly tend to have social issues of some sort or other, myself included. These social issues tend to manifest themselves in shyness, coyness, quietness, lack of confidence, excess sensitivity, insecurity, etc. This is a great shame, because many of these people are some of the best people you'll know. But:
- They tend to not open their mouths
- They tend to get offended a little too easily
- They tend to not like confrontation, even if technical
- They tend to prefer private discussion over public
If I described you above you've got a simple choice, either grow as a person and come out of your shell, or retract further into it and lose out. I see both happening from time to time. Instantly I can think of two examples of each. I urge you, though, confront it, and actively try to make a change for the better, not only will it help the project grow, it'll enrich your life.
In closing: Open Your Mouths, For Your Own Good!