Skip to end of metadata
Go to start of metadata

Describe your organization

CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations which is used by ~9,000 organizations.  CiviCRM is the CRM of several Google Summer of Code mentoring organizations from previous years including CERN, Creative Commons, Drupal Association, and Electronic Frontier Foundation.  Organizations using CiviCRM manage donations, mass mailings (postal and email), event registration, and membership payments of more than 100 million contacts.  

As a non profit committed to the public good, CiviCRM understands that forging and growing strong relationships with constituents is about more than collecting and tracking constituent data - it's about sustaining relationships with supporters over time. To this end, CiviCRM has created a robust web-based, open source, highly customizable CRM to meet organizations’ highest expectations right out-of-the box. Each new release of this open source software reflects the very real needs of its users as enhancements are continually given back to the community.

CiviCRM is localized in over 60 languages including: Chinese (Taiwan/China), Dutch, English (Australia/Canada/UK/US), French (France/Canada), German, Italian, Japanese, Russian, Spanish, and Swedish.

 
Last year was the first time we participated to GSoC as an organisation. We had 6 projects, 5 were successful: two (CiviMail improvements and AB testing) are now in core, one (Civisualize) is available as an extension and still actively maintained by the student and others in the community, one (the Drupal 8 integration) will form the basis of our integration once D8 is nearer release and one (Bootstrap) proved the feasibility but would need more work that hasn't yet materialised.
One of the 6 projects failed, mostly because the student found a job and left soon after the mid term review.
Our participation was a success: beside bringing new features, it helped us better understand the challenges for new developers to join the project, both from a technical level and as members of the community. During the summit, we discussed these issues and have improved our process for GSoC 2015.
One of the challenges was the student selection: gauging student capacity and motivation, project potential benefits and importance for our users, and then aligning this with the interests of the mentors to ensure success. We plan to tighten the student selection and make ranking more systematic.
The other challenge was how to welcome and keep the students involved with the community. Here again, the summit helped us understand and exchange experiences about how other organisations handled similar challenges.

 
Like many open source projects, CiviCRM relies heavily on a relatively small group of contributors to do much of the work, and we are always looking to grow that number.  Participating in Google Summer of Code allows us to both further engage developers and organization site admins already using CiviCRM as mentors and co-mentors, as well as introduce students to CiviCRM development.  Based on our experiences last year, we fully expect that many of the student projects will result in vital new functionality for the organizations using CiviCRM. We have found that the opportunity to positively impact the work of thousands of civic sector organizations around the world is a compelling experience for our students.

We also have seen that these students can bring new ideas to the project, challenging the existing community of contributors to reevaluate assumptions and consider new approaches to solutions.

Another benefit we gained last year was strengthening our relationship with other open source projects that were incorporated in our GSoC projects. For instance, we had a maintainer of the JS Visualisation framework who was a co-mentor for a project, and our GSoC student contributed back improvements to JS Visualisation.

 
18 mentors have committed so far for 2015 (and we  are in discussion with another 11). All of the 18 committed mentors have been involved with CiviCRM for years including 5 mentors from last year:
  • Contributing to CiviCRM core
  • Developing CiviCRM native extensions
  • Developing CiviCRM related Drupal modules
  • Developing CiviCRM related WordPress plugins 
  • Developing CiviCRM related Joomla components 
  • Writing and improving end-user and developer documentation
  • Administering large / complex CiviCRM installations within an organisation

We have met all of them face to face and they have been proven reliable members of the community who delivered on their commitments.

 

While attending the GSoC summit, we discussed this issue with numbers of mentors and admins. The best strategy seems to be to avoid enrolling those that are more "flaky". For this year GSoC, we will make the "recruitment process" more stringent and qualify their competences and motivation better. Before accepting them we will:
  • give them a task to prove they can use our development tools (i.e. install from git, update and do a Pull Request, write a unit test)
  • ask them to commit to working full time on the project for the duration of the GSoC, and agree on the process for evaluation and regular check-ins
  • have a one to one skype meeting with the student and the potential mentor
  • ask them to participate in the community (eg. post in the forum, join on IRC)
During the community bonding period and the summer, we will:
  • connect any student working on GSoC project by providing them with each others contact information and providing them a mailing list in order to establish a cohort
  • all students are expected to log into #civicrm on irc.freenode.net AT LEAST once a week and encourage them to be online most of the time they work on the project
  • require a daily "scrum meeting" in a forum thread reserved for their project to provide brief updates of what they have achieved the day before, the goal for the day and if they have any outstanding issues/roadblocks they require assistance with
- All students participating in a development-focused project will be expected to have their development environment ready during the preparation phase (ie. before their project start). civicrm-buildkit will help them this year to be ready to contribute more quickly.

- All students participating in development of CiviCRM extensions will be given access to a repo on github and expected to commit their Civix framework within 2 weeks of starting the project .

- Students working on core improvements will be expected to fork core into their own Github repo and file a basic Pull Request within 2 weeks of starting their project.

In addition to their mentor, students will be paired with a co-mentor from an organization using CiviCRM (Free Software Foundation, Leukaemia & Lymphoma Research, etc) or someone that has development experience but newer to the community.

 Students are encouraged to discuss issues with their mentor (being overwhelmed, confused, frustrated etc), cohort, co-mentors, or other members of the CiviCRM community.  Everyone involved in GSoC will know they can bring issues to CiviCRM's Organizational Administrators ( Emily Frazier or Xavier Dutoit).  The Organizational Administrators will work with the mentor to resolve the issues and find another mentor from within the community if necessary. The Organizational Administrators will also keep up-to-date on student forum posts and check in with mentors on progress.

- All student work will be committed to public repository and/or deployed on a public testing site.

- Weekly check-ins are required via email or ~Skype (mentor and student should connect using Skype or other real time audio/video solution twice a month or more often when necessary, ie a student who is struggling may require weekly or sometimes daily check ins at the discretion of the mentor).

- Students should blog about their progress monthly on civicrm.org.

- All students should publicize their blog post on #civicrm on irc.freenode.net and ask for feedback from the community in IRC.

- Before be given a passing Midterm evaluation, students must create a screencast of their project (in whatever state it is in) requesting community feedback beyond that of their mentor, co-mentor, and cohort.  In some cases there may not be a UI to demo at that point.  In that case, the student should present any wireframes, mock ups, diagrams, schemas, documentation etc in a conference session style presentation explaining what they will be delivering during the second half of the term.

We realize that it may not be possible to completely avoid disappearing students, but we are confident that the improved process will allow us to identify and address issues as soon as possible.

To qualify as a CiviCRM mentor, the individual must be an active member of the CiviCRM community.  This should minimize the chance of a mentor just disappearing due to a lack of interest or other priorities.
If a medical or family emergency prevented the mentor from continuing their participation, students will have been paired with a co-mentor from an organization using CiviCRM.  Depending on the projects and at what point in the term the mentor disappeared, the co-mentor may be able to take over as the primary mentor.  If not, CiviCRM has a pool of potential mentors that will likely exceed the number of slots CiviCRM would be allocated and the Organization Administrators would assign another mentor.
 
Being able to interact with the community before the start is part of the evaluation criteria. Based on our experience last year, we will ask the mentors to encourage students to engage in open discussions in the forum; even if it is likely to be a mentor/student based discussion, it is beneficial to the community for the project progress to be posted publicly.

Students will be required to use #civicrm on irc.freenode.net and blog on civicrm.org as well as provide daily updates to their particular forum thread on CiviCRM's user forum to give an accurate ongoing representation of their progress.  In addition to their mentor, students will be working with staff from an organization using CiviCRM who will provide feedback on their project from a real world perspective (and real anonymous data if needed).  Key CiviCRM contributors will be aware of the projects for Google Summer of Code and take an ongoing interest in the status and success of the work, thereby engaging students in projects that share similar facets to their own contributions and helping to hold students accountable.

We have already have had some students contacting us, and we are asking them to discuss and introduce themselves in the dedicated forum.

 
We have seen that the students that who remained involved from last year are the ones that had discussions with several members of the community, that got positive feedback and that saw that their work was used by real users in a real organisation. We have already started to ask end users in our meetings with the community and in the forum to join the discussions and provide feedback to the students before and during the program.

Since all projects will be paired with an organization interested in potentially using that project, the hope is that the potential for having their code used by organizations like Creative Commons, Electronic Frontier Foundation, and Free Software Foundation to further those organizations' missions will motivate students to continue to support and improve their project and continue to contribute to the CiviCRM project in other ways. 

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. 

intentionally left empty.

Labels
  • None

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.