The world of computer science and programming is growing, there is no doubt. The people in this community are connected by their passion and knowledge. As a result of this, the open source community is also growing at an exponential rate. It has become a great tool for many programmers.
After one has been staring at hundreds of lines of code for an extended period of time, their ability to find mistakes will have likely declined. Sometimes, all it takes is another set of eyes who can spot the misspelt variable or function. Other times, one may simply not know how to implement something due to lack of knowledge. This is where open source comes into play. However, there are ways in which one can maximize their use of open source in terms of how to ask a question.
There are many people in the open source community who are very smart, and are perfectly capable of answering a variety of questions. However, they can be picky as to which questions are “worthy” of their time and knowledge. To thee people, there is such a thing as a bad question. People who ask these bad questions run the risk of being referred to as a luser (another term for loser). To increase one’s chances of having their question answered, follow these basic guidelines.
The first thing a question should have is a good title. When posting to open source, the title will be the first impression. It needs to grab attention, but also represent what it is being asked. If the title is vague, less people will click the link. Even if the question in the best way, it will not be given a chance. Also, the title should never include “Help Me” or any similar phrase. It can imply desperateness.
A question should be specific. Anyone who looks at the question should have all the details they need to answer it. If there is an error that occurs, be precise as to what type of error. It should be as easy as possible for a person to answer the question. If someone were to read the question and finds there is not a sufficient amount of information given, they will likely move on to the next question, or they have to ask for more details before being able to provide an answer. Base line: The more specific the question, the more likely it will be answered.
A question should also show one’s willingness to learn. A person should never write a question and expect to be given step by step directions on how to solve the problem. They should show initiative. Include what has been tried to solve the problem before posting the question. Make it evident that using open source was not the first option. This also falls into the category of being specific. Be specific with what has been tried. Including possible solutions that have been thought of is helpful. Sometimes the only thing that is needed is a pointer in the right direction.
When posting a question to an open source, it is important to use the proper tags. It allows the right people to find the question, and provides more detail such as what programming language is being used. Using more tags can be good, as long as they are all relevant. However, avoid using an unrelated tag because it is misleading.
An example of a properly posed question can be found on StackOverFlow here. First, it has a good title which explains exactly what the author is trying to figure out. In the post, the author clearly stated the details and organized it. They listed the two requirements, the constraint, the problem, and the question. They were very specific in all the above aspects, providing everything needed to answer his question. The code was also included for analysis. Because of his specificness and the amount of detail, someone was able to quickly answer his question.
An example of a badly posed question can also be found on StackOverFlow here. Starting with the title, it is very vague; ‘Understanding “randomness”’. The author is asking the difference between two uses of the random function. He asks “which is more random?” which is also very vague. He states that he cannot get his head around it, but does not explain what about it he does not understand. Many replies included “What do you mean by ‘more random,’” which is what should be avoided. The author had to edit his original post to try and be more specific. It appears that the post received many responses before finally getting the desired answer. If the author had been more specific as to what he wanted to know and what he did not understand, the question could have likely been answered much faster in a more efficient manner.
Open source is a wonderful tool available to programmers, new and old alike. Knowing how to ask a question is crucial to maximizing the experience of open source. As stated previously, there is such a thing as a bad question. Posing a question properly will make it easier for both the author and the readers to make the most of this growing community.