Open source software communities are complex structures where different interests, expectations and visions need to converge and find some kind of equilibrium. In this process, all stakeholders need to understand and comply with a minimal set of rules that guarantee that things happen to the benefit of the community as a whole and that efforts are invested in the most optimal way for that to happen.
I’m introducing this topic today because, in the last few weeks, I’m receiving complains from different Kurento users claiming that their Kurento-related questions and issues are not answered in the community channels and that this is slowing down their ability to integrate Kurento into their organizations. Of course, the Kurento core team would be happy to have the appropriate resources for providing full and detailed answers to all topics being discussed. Unfortunately, this is not the case, and, as happens in most open source software projects out there, we need to optimize how efforts are invested thinking on the benefit of the community as a whole and not on satisfying the specific needs of a specific user.
Having said this, it is also clear that complying with a minimum set of netiquette rules is a plus for having questions and issues answered. Most of these rules are common sense, but it may be worthy to state them in a more explicit way so that Kurento users are able to check if they are doing their best to have their issues and questions addressed. Here they go:
- Be courteous. Any kind of insult, threat or undervaluation of other’s efforts will only contribute to having your request ignored.
- Make your work. Asking questions such as “I want to create a system like Skype, please explain me the steps” probably make a little cat to die somewhere. Answering questions like that appropriately may require hundreds of pages and you can be certain that nobody in the community will be willing to do it. Don’t ask others to make your work. Make your designs and comment about specific proposals instead of asking for vague generic things.
- Be specific and precise. If your question just claims “I just did this or that and it doesn’t work”, chances of your request being completely ignored shall be high. If you think you have found a bug, your bug report, as a minimum, should provide the following: a detailed specification of what you were executing (e.g. the specific code snippet firing the bug), a detailed description of the execution environment (e.g. browser, operating system, KMS version, etc), a description of the problem (e.g. what type of abnormal effect you are seeing) and the relevant log generated by KMS, browser and, eventually, application server. Relevant log means relevant. Providing a 50M log where only 10 lines are of interest is not providing a relevant log.
- Read the documentation first. Requesting help on issues that are clearly addressed in the documentation is, in general, a bad practice.
- Check the mailing list first. Opening a new discussion thread on the mailing list dealing with a problem that has already been discussed in another thread will be probably perceived as slackness by the rest of the community. Avoid this and remember that Google is your friend.
- Beware of cross posting. In general, cross posting is not considered as a good practice. If for some reason you need to send the same request to different mailing lists, inform in all of them about that providing links to the corresponding threads in the other lists so that the rest of users can check where answers finaly arrived.
- Be constructive. Claims of the kind “this is bad designed” or “you should not be doing this think in this way” are not particularly useful. If you don’t like something, provide specific suggestions (or better code) showing how things should be improved.
- Maintain the focus. Kurento public mailing list have the objective of discussing Kurento-related issues. If you want to have information in relation to other different projects or to WebRTC generic questions use the corresponding mailing lists. Of course, spam shall be punished with immediate banning from the list.
- Use the appropriate channels. For discussing about Kurento, you can use the Kurento public mailing list or post to StackOverflow using the tags ‘kurento’ or ‘fiware-kurento’. The community does not use any other channel for providing support (e.g. Youtube posts, Twitter, etc.)
Complying with these rules shall contribute to improve the quality of the Kurento mailing list and shall be helpful for optimizing all Kurento stakeholders efforts.
Best and nice code.