Supporting and being active in open source can actually be so advantageous. When you join as software developer in an open source, you use your creativity on designing new extra codes for features on demand. When the process is done, you will be able to publish it to some communities for pre-tests. Sometimes the software will be improved afterward.
From the whole process above, you can learn that both programmer and users can work together in order to produce better software or application. Either official or non-official documentation regarding the software development is also being composed.
In some cases, a programmer might secure particular codes of a project and refuse to publish it. this way, he makes definition of the parameters without reasons or creating variable without clear standard used. As a result, when the project is handed over to another programmer, this new programmer will obviously face difficulties in recognizing the codes.