About a month ago, I decided to participate in the NancyFx open-source project. I downloaded the code, read the documentation, and set up a few demos to experience the framework for myself. It was very interesting, but when I knew enough and was ready to start contributing code, I was no longer motivated. I felt no connection with the items that were on the issues and to-do list.
Reflecting on why I lost interest, I recall someone’s remark that an essential criterion in choosing an open-source project to contribute to was the value it represented for the person. Perhaps, I failed to launch with NancyFx because I did not have to use it on a daily basis and would not enjoy any return for my effort.
I wanted to join an open-source project, to begin with, because I felt that I was consuming too much and was not giving back enough. But, in hindsight, I see several occasions when I have contributed to open-source.
I implemented support for MSTest 2005 in MbUnit when it only supported MSTest 2008; I submitted custom controls to wxWindows; I wrote articles for, submitted bug reports to, and participated in discussions for JPOX; I was very active on the RIFE mailing list; and, I initiated an open-source project to implement an artificial neural network in PHP.
All these contributions started from something that I needed but that would also be useful to the community. Giving back these small bits felt natural. On the other hand, what happened in my attempt to join NancyFx was that I was forcing it onto myself.
I guess what I am trying to say is that nobody should feel compelled to give back to open-source. Just using the software produced by the community, I suppose, is an acknowledgment and appreciation of their effort. When the time comes for you to contribute something, it will just happen naturally.