Thursday, April 19, 2012 - 14:09
Written by
For years, I've wanted to give back to the open source communities I'm a part of.  Often I'm told, "Write code."  More than any other project I've seen, CiviCRM has created alternative ways of contributing back.  At the code sprint, I met people brand new to CiviCRM contribute meaningfully by proposing (and critiquing) workflows for new features, create how-to screencasts, and more.

But I'm a techie, not a non-profit employee.  I want to make a technical contribution.  I know the fundamentals of programming, but have little experience. When Lobo sent me a personal e-mail inviting me to the code sprint, I told him I didn't think I'd be useful.  Lobo's response was, "Come anyway."

So I went to the idyllic Woolman School, and for six days, I was surrounded by many of the world's CiviCRM programming experts.  Everyone else knew CiviCRM's code, I didn't.  Everyone else had features to add, or projects to hack on - I had a general desire to "help out" while learning the code.  Yashodha from the core team sat me down and explained the code fundamentals.  Core team members Kurund, Dave, and Lobo answered my questions, no matter how basic.  As always, I was amazed and grateful for how welcoming the CiviCRM community is.

So armed with my newfound knowledge, I began to close bugs.  In four days, I'd modified a total of five lines of code - maybe a couple hours' work for a core team member.  However, those five lines represented four bugs fixed, and CiviCRM is a little bit better for those changes.  I spent more time learning the concepts and installing new tools than I did coding, but by the time I left I was working much faster than when I'd started.  Most importantly, I'm better prepared to give back to the community, both in the forums and by submitting fixes year-round - and today I submitted my first post-sprint patch to CiviCRM.
Filed under


And 4 bugs fixed could represent 2 days saved for 2 developers or 4 hours saved for 4 end users in 4 organisations - or possibly 1 hour saved for 25 end users, or maybe 2 hours saved for 200 end users.

Well done!

Jon - what a great blog post. Thanks for sharing your experience and in that way encouraging others to take the leap.

Great post Jon. As an implementer with aspirations to get into the code (Michal might remember his time nursing me through a 2 day developer training event in London last summer) I'm greatly heartened by your words. I'm working with partners here in Yorkshire to try to put together some training that can help people like me, with just a little knowledge of coding, and skill us up in a CiviCRM-specific way, so that we can do more and also make a more effective contribution to the project.

Beautiful post Jon. Of course many "major" contributors today also started off wondering "what's going around here?" :)

Thank you for your help.



Thanx for such a great post. I think you made a great point of highlighting that:

  • CiviCRM first and foremost has an incredibly passionate community
  • Everyone has skills that they can contribute to help make improve the project
  • The power of the crowd is amazing. Together the group can do wonderful things

I think all of us in the community need to always think about and figure out how to make the community more open, inviting and friendlier to everyone. Around the corner are the next generation of prolific contributors and we need to draw them in and get them involved