1. 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 ~8,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 itself, CiviCRM understands that forging and growing strong relationships with constituents is about more than collecting and tracking constituent data - it is 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. Unlike proprietary software, 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 20 languages including: Chinese (Taiwan/China), Dutch, English (Australia/Canada/UK/US), French (France/Canada), German, Italian, Japanese, Russian, Spanish, and Swedish.

  2. Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?

    Like many open source projects, CiviCRM relies heavily on a small group of people to do most of the work.  We are always looking to grow that number.  Participating in Google Summer of Code would allow us to do both further engage developers and organization site admins already using CiviCRM as mentors and co-mentors as well as introduce to students to CiviCRM development.  Our hope is also that some of the student projects will result in functionality organizations using CiviCRM want without adding as much to the workload of the existing contributors as if they developed the functionality themselves.

    We are also hoping students bring new ideas to the project and challenge the existing contributors to reevaluate assumptions and consider new approaches to solutions.
  3. Has your organization participated in past Google Summer of Codes? (yes/no)

  4. If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.
  5. If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?

  6. What Open Source Initiative approved license(s) does your project use?

  7. What is the URL for your Ideas list? **This is the most important part of your proposal. Please make sure we can access it and it is complete when you submit this proposal. “Placeholder” or inaccessible ideas pages will be grounds for an automatic rejection for participation in Google Summer of Code2014.**

    Google Summer of Code - 2014

  8. What is the main development mailing list for your organization?

  9. What is the main IRC channel for your organization?

    #civicrm on irc.freenode.net 
  10. Who will be your backup organization administrator?

    Xavier Dutoit

  11. What criteria did you use to select the mentors? Please be as specific as possible.

    All primary mentors are developers who have:
    - contributed to CiviCRM core
    - developed CiviCRM native extensions
    - CiviCRM related Drupal modules
    - CiviCRM related WordPress plugins
    - CiviCRM related Joomla components

    Co-mentors are developers or site admins from organizations using CiviCRM.
  12. What is your plan for dealing with disappearing students? Please be as specific as possible.

    Kevin Reynen will be one of CiviCRM's GSoC Organization Administrators.  He has participated in GSoC as a unofficial mentor w/ the Creative Commons module for Drupal project in 2011 and the official mentor of the Drupal Media Derivatives API project in 2012.  Both projects were completed successfully.  Kevin applied approaches to working with his GSoC students that he has used teaching web development in the classroom and online for Bradley University, Minneapolis College of Art and Design, and University of Nevada Reno.  As an Organizational Administrator, Kevin will ensure that all CiviCRM mentors will be using a similar approach to engage with their students which include:

    - Any students working on CiviCRM related projects for GSoC are connected and given each others contact information to establish a cohort
    - All students are expected to log into #civicrm on irc.freenode.net at least once a week
    - All students participating in a development focussed project will be expected to complete Civix training from Tim Otten (IS THIS OK W/ TIM?)
    - All students participating in a development of CiviCRM extensions will be given access to a repo within https://github.com/civicrm and expected to commit their Civix framework within 2 weeks of starting the project (IS THIS OK W/ LOBO?)
    - 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)
    - Students are encouraged to discuss issues with their mentor's expectations (being overwhelmed, confused, frustrated etc) with their 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 ( Kevin Reynen 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.
    - All student work will be committed to public repository and/or deployed on public testing site
    - Weekly checkins are required via email or ~Skype (mentor and student should connect using Skype or other real time audio/video solution twice a month)
    - 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, etc in a conference session style presentation explaining what they will be delivering during the second half of the term.

  13. What is your plan for dealing with disappearing mentors? Please be as specific 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.
  14. What steps will you take to encourage students to interact with your project's community before, during and after the program?

    Students will be required to use #civicrm on irc.freenode.net and blog on civicrm.org.  In addition to their mentor, students will be working w/ staff from an organization using CiviCRM who will provide feedback on their project from a real world perspective.  Key CiviCRM contributors will be aware 
  15. Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

    Free Software Foundation?
    Create Commons?
  16. 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. 
  17. What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

    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.