Most of us at some time will have used open-source software. We understand that the work carried out to develop the software may have been carried out by numerous individuals volunteering their time. As I sat at my desk the other day I wondered what motivates people to donate their time and skills in this way. Here is what I came up with, perhaps you have other suggestions.
Gaining Experience and Recognition
When starting as a developer it is a vicious circle. You apply for a job and you are told that you do not have the track record they are looking for. But then, of course, how do you get experience unless you get the opportunity to work on projects. The solution is the Open Source Project.
When you contribute to an open-source project, you will get an immediate response from other contributors. They will send you feedback, which will help you improve your skills. Your name will start to be known among your peers. You are breaking that vicious circle.
Gaining New Skills & Perspective
You may have previously looked at the open-source code on an application and picked up on how certain functions work through reading the code. However, believe me, when you first decide to contribute yourself, a whole new dimension opens. It is very much like the difference between reading and writing. You may be able to read a book and offer a level of criticism from a reader’s perspective. However, if you have ever tried writing a book, you will understand the complexities of authorship from a new angle.
When contributing to an open-source project for the first time you will very soon realize a great many steps involved that may never have occurred to you before. The act of pulling apart the existing software and examining it, so that you can add your contribution will force you to a far deeper understanding of the application than just reading the code will do.
As a new developer, working with others, having confidence in your abilities is essential so that you can promote the changes you have worked on. Feeling in awe of the more experienced developers is holding back your career. By working on open-source projects, you abe building experience and understanding that you can contribute useful ideas. The project will help you to gain confidence in your abilities.
The experience of contributing to an open-source project. When you first consider taking part in a project, you will have self-doubts and may see yourself as less worthy than existing contributors, this can be quite a hurdle to overcome. You will be asking yourself “Can I” actually do this? Once you have successfully taken part and added your contribution, your whole thought process will change and now you will be telling yourself “I can” do this.
It is ultimately down to a switch of attitude. At first-sight, donating hours of work toa project for free would seem to be giving away something. Not an attractive idea. But the reality is that by taking part in a project to are gaining so much more than you ever give.