Utilize this wiki to organize our application for Google's Summer of Code 2015. Our plan is to have an initial application draft ready Wednesday February 18th (provides 48 hours to review, finalize, and submit). Please edit this wiki and add your feedback. Reference our 2014 application wiki for similar questions @ https://groups.drupal.org/node/404768. GSoC org application URL @ http://www.google-melange.com/gsoc/org/application/submit/google/gsoc201...
=================================
Organization name: Drupal
Complete, formal name of the organization.
=================================
Description:
Drupal is an open source content management platform powering millions of websites and applications. It’s built, used, and supported by an active and diverse community of people around the world.
=================================
Tags: PHP, CMS, Database, Drupal 8, Symfony, Web Development, Web Programming, Web Application, Web Framework, SQL, Object Oriented Programming, NEEDMORETAGS
Comma separated list of organization tags. Each tag must be shorter than 30 characters.
=================================
Main license: GNU General Public License verison 2.0 (GPLv2)
The main license which is used by this organization.
=================================
Ideas list: https://groups.drupal.org/node/455978
The URL to a page with list of ideas for projects for this organization.This is the most important part of your application. You can read about ideas lists on the FAQs
=================================
Mailing list: https://groups.drupal.org/google-summer-code
Mailing list email address, URL to sign-up page, etc.
=================================
Organization website: https://drupal.org
Main website of the organization.
=================================
IRC Channel: Freenode @ #drupal-google
Link to a web page describing your organization's public IRC channel. Page should include server name, channel, and any specific policies or instructions. Do not use an irc:// URL.
=================================
Feed URL: https://www.drupal.org/planet/rss.xml
The URL should be a valid ATOM or RSS feed. Feed entries are shown on the organization home page in Melange.
=================================
Google+ URL: https://plus.google.com/113325464728592995596
URL to the Google+ page of the organization.
=================================
Twitter URL: https://twitter.com/drupal
URL of the Twitter page of the organization.
=================================
Blog page: https://drupal.org/planet
URL to the blog page of the organization.
=================================
Facebook URL: https://www.facebook.com/pages/Drupal/8427738891
URL to the Facebook page of the organization.
=================================
Veteran organization: Yes
Check this field if the organization has participated in a previous instance of the program.
=================================
PART 2 "Questionnaire"
=================================
new question
If you did not choose "veteran" in the checkbox, have you applied in the past? If so, for what year(s)?:
Drupal has applied to GSoC every year from 2005-2014 and was only NOT accepted in 2013.
=================================
new question
If you chose "veteran" in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year.
Drupal has participated in Google Summer of Code every year except 2014 and it has been an amazing journey of successes with challenges. We believe that spending time to properly document and provide support to enable new contributors is a major reason we continue to grow successfully as an open source organization. An assumption is the size of our community with vast resources provide qualities students enjoy selecting, working with, and continue contributing to long term. However, all projects experience challenges.
Summer of Code provides evidence that our documentation and processes allow anyone to contribute to Drupal. We continue to hear feedback from students reporting that our docs allowed them to start working faster compared to other organizations. Starting by contributing any type of code to Drupal such as a Twitter widget can be simple, but it is a bit more advanced to commit code into "Drupal core". Core is the "out of box" code shipped by default. Within our community it is considered a success when contributors of any age become a "core contributor" and we're proud to note that several of our students have accomplished this feat.
In our community, ultimate success is achieved by retaining students who continue contributing after the summer. A clear sign of success is watching students provide support to others, find Drupal related jobs, and eventually become "Drupal Rock Stars". A recent success story is Chandan Singh who started as a student, became a key mentor, and is now helping improve everything we do in GSoC. Plus we can't forget to mention Angela 'webchick' Byron who is now considered one of the "top Drupal people" and Janez 'slashrsm' Urevc who evolved from student to an organization administrator.
One of the biggest challenges within our community continues to be generic marketing of GSoC and GCI. Majority of people in our community are simply not familiar either program. Our most effective solution is to interact with Drupal attendees at GSoC/GCI sessions scheduled at Drupalcon conferences both here in USA and internationally. These GSoC/GCI sessions enable mentors to discuss tips for managing successful projects and students as well as drive recruitment and spread awareness of these programs.
An odd challenge within our own community was finding proper access to Drupal's official social media accounts. After several discussions, we finally connected with the "official Drupal social media team". Now we’re excited to promote GSoC/GCI via our official social media channels. On a related note, we have connected with several "big names in Drupal" (such as project founder Dries) to help promote our initiatives. Example of our improved social media power @ https://twitter.com/MattLechleider/status/565961684721106945
An unexpected and time consuming challenge was figuring out how to manage fiscal responsibility between our organization and Google. Important to note this was not related to Google, but an internal issue between org admins and our community's official association due to lack of documentation. The Drupal Association volunteered to help by accepting fiscal responsibility. Over time our org admins worked with the Drupal Association creating documentation of processes to properly manage payments in a timely manner.
Our biggest challenge related to projects is keeping open communication between everyone within our organization. Each project is encouraged to be managed within their preferred systems, but this makes it difficult for org admins to verify status of any project at any given time. In addition, we noticed certain students able to provide results from day one and other students seemed slow to start. A solution based on feedback from previous students is organizing a weekly "check-in meeting/hangout" with required attendance from all projects. Not only will this meeting allow for easier tracking of project progress, it'll enable students to interact with each other providing feedback with support ensuring the success of all projects.
New for this year our org admin will not be a mentor on any project. We hope to adapt this improvement in 2015 with goal of properly managing every project at a 100% success rate. It will be org admin's responsibility to operate the weekly check-in meeting. Org admin has ability to temporarily step into mentor role if student mentions lack of support during check-in meetings. Org admin will facilitate replacement mentors if needed at request of student.
We realized as an organization that accepting as many projects as possible is not a good idea. We didn't struggle in 2014 with our 13 slots, but we quickly realized additional projects would have been difficult to manage. Managing 10+ projects for an organization can be fairly time consuming. Because of this we spent lots of time planning quality ideas and prefer to accept a manageable amount of projects, plus dedicated our org admin's time to overseeing all projects.
Our goal is to achieve a 100% success rate every Summer of Code. If Drupal is going to accept any Summer of Code project, we're going to do our best to ensure success.
Following is the pass/fail rate for each year that we participated:
* 2014 - Accepted Projects: 13 Passed: 12 Failed: 1
* 2012 - Accepted Projects: 13 Passed: 12 Failed: 1
* 2011 - Accepted Projects: 15 Passed: 11 Failed: 4
* 2010 - Accepted Projects: 18 Passed: 18? Failed: 0
* 2009 - Accepted Projects: 18 Passed: 19 (bonus student from another org) Failed: 0
* 2008 - Accepted Projects: 21 Passed: 19 Failed: 2 (dropped @midterm)
* 2007 - Accepted Projects: 20 Passed: 18 Failed: 2
* 2006 - Accepted Projects: 14 Passed: 14 Failed: 0
* 2005 - Accepted Projects: 11 Passed: 11 Failed: 0
=================================
Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating?
One of Drupal's strongest assets is our community, and one of our community’s strongest assets is Google Summer of Code(GSoC). Over the past several years we have grown from a basic content management system(CMS) that barely anyone knew about, to one of the largest open source CMS projects in the world. During this time, Drupal has gained many of its greatest contributors from Summer of Code.
The newest version of Drupal(Drupal 8) is almost ready so it is the perfect time to start porting everything from Drupal 7 to Drupal 8. Hence, it is also the perfect time for students to start contributing to Drupal. Many GSoC project ideas are a chance to provide contributions to some of the most popular aspects of Drupal. On the other hand, there are some project ideas which aim at exploring the horizons which might not have been possible otherwise.
As an organization, we hope students become engaged in their contributions and see how important many of these features are to millions of people around the world. We also aim to retain most of the students after GSoC and for this specific reason, we ask students about their support plan of their project after GSoC is over. This means that each student specifies how much and for how long they plan to provide support for their project, which is one of the key points we use to select project applications.
=================================
How many potential mentors do you have for this year's program? What criteria did you use to select them?
20 mentors are documented in our idea page wiki. We're proud to note that many interested mentors are returning GSoC alumni. Our ideas page lists mentor profiles including their areas of expertise, GSoC/GCI experience, timezone, and languages spoken. In addition, not all mentors wanted to add profile information at this time. Plus we have several module maintainers of the proposed project ideas who have agreed to be co-mentors once a related project is actually accepted.
Mentor selection criteria:
* Quality of Project Idea
* Feasibility of Project Idea
* Years on Drupal.org Profile
* Contributions to Drupal
* GSoC/GCI Experience
* References and recommendations from GSoC/GCI alumni
* Level of Interest and Availability to Help
* Project/time management Skills
We contacted several of the top Drupal related service companies requesting participation. Luckily, majority of the companies responded positively by allowing employees to spend company time being a mentor. It is worth noting that several potential mentors are long time contributors in our community with plenty of experience that meet our criteria, but don't yet have a specific project in mind.
To educate the mentors about the workflow of GSoC, we've created a separate guide for the mentors @ http://drupalladder.org/ladder/b2db8973-3acc-461d-b0af-ef2d6b94dff0. We also encourage all our mentors to go through http://en.flossmanuals.net/GSoCMentoring/what-makes-a-good-mentor/ but the above mentioned resource contains information more specific to Drupal.
=================================
What is your plan for dealing with disappearing students?
Starting last year, we began using Drupal Ladder as a resource with documentation about GSoC workflow/processes. All the students are required to complete the student ladder @ http://drupalladder.org/ladder/47217ef7-9bf5-4c7f-926f-aeee247aac78 as part of their application process. This helps us weed out spam applications (and those students who are not serious about contributing to Drupal) and we strictly discard any applications where the students hasn't completed the ladder. We also have a guide for mentors @ http://drupalladder.org/ladder/b2db8973-3acc-461d-b0af-ef2d6b94dff0 which contains vital information such as how to manage students, methods of student communication, how often to communicate with students, and how to track student meetings/updates.
Example, it is requested that mentors initiate "virtual SCRUM" meetings lasting fifteen minutes twice each week on Google+. During SCRUM meetings three questions are answered: #1 What have you accomplished since last SCRUM? #2 What will you accomplish before next SCRUM? #3 What is preventing you from finishing question #2? This is great because students learn about Agile methodologies and time management utilizing fifteen minute calls saving everyone time. In addition, students are required to post project updates in Drupal’s GSoC group every two weeks during the project summarizing progress with any interesting notes @ https://groups.drupal.org/google-summer-code.
Starting this year, each week there will be a required meeting/hangout which will essentially be a SCRUM involving all students. Our organization administrator will not mentor any projects and will personally be responsible for conducting this meeting twice every week, in two different timezones, so that students from across the world are able to attend. If a student misses more than two meetings, they will be failed automatically. Most importantly these meetings will encourage students to interact with each another providing feedback and support. This idea of weekly meetings is actually based on feedback from alumni students. It is important to note that org admin will be flexible and fair with students regarding meeting outside of official scheduled times.
Maintaining updates with meetings is essential to the success of any project and will be considered in student evaluations. Example, if a student is disappearing around midterms and mentors have thoughts of failing the student, the number of missed SCRUMs, and weekly check-in meetings, and update posts will be utilized to build evidence. At the opposite end, a student that attends every single meeting on time with quality update posts, but continues to struggle with the project may lead one to wonder if the project was too difficult or an absent mentor is to blame.
Finally, it will be clearly communicated that mentors should not be hesitant to discuss students who are not making progress. If a student is truly struggling, org admins will step in to reanalyze scope of the project attempting to save it. If mentor and/or student wait too long to bring up lack of progress, as a last resort, org admins will fail a student only after providing multiple chances for the student to redeem themselves.
=================================
What is your plan for dealing with disappearing mentors?
Dealing with disappearing mentors will be dealt with on many levels. Prior to projects being officially accepted with a student, mentors are required to provide personal contact information such as full name, home/mobile phone, and Google+/Skype. Plus, all mentors are required to provide any known dates with timeline for holidays/vacations/trips. SCRUM meetings twice each week are requested of mentor/student requiring mentors to document attendance of all meetings and verify project update posts every two weeks. It will be clear to see which mentor is not updating check-in sheet and Drupal’s org admins will discuss issues internally if/when it arises. In the event a mentor actually disappears, we have a few backup alumni mentors willing to help if needed.
From another point of view, selecting qualified candidates with required experience from the start always helps minimize gaps of unscheduled availability. This year it was fairly easy to find interested mentors with quality ideas and superb qualifications. Our assumption is that GSoc 2015 and the release of Drupal 8 made this a bit easier on us. Either way, we're very excited to select very quality mentors, many of whom are GSoC alumni.
In any case, we want to detect the absence of a mentor as early as possible so that the student does not suffer from that. We encourage the students to bring up any issues they might have with the mentors either in the weekly all-hands meeting or to the organization administrators personally so that we can assign a backup mentor to that project as quick as possible. Discovering absent mentors as early as possible is one reason we decided our org admin will not mentor any projects and check-in during the required weekly meeting/hangout with all projects.
Our Core Mentor Group comprises of mentors from 3 different continents and hence 3 different timezones. This combined with the fact that all three mostly always available on IRC will help the students get in touch with the Core Mentor Group as soon as they encounter any issue.
* Matthew Lechleider aka Slurpee (GSoC Mentor 2012, GCI/GSoC Org Admin 2014-2015)
* Janez Urevc aka slashrsm (GSoC Student 2011, GCI/GSoC Mentor & Backup Org Admin 2014-2015)
* Chandan SIngh aka cs_shadow (GSoC Student 2014 and GCI/GSoC Backup Org Admin 2015).
=================================
What steps will you take to encourage students to interact with your project's community before and during the program?
To ease the on-boarding process of the students, we've created a 'Getting Started Guide for GSoC Students' @ https://www.drupal.org/node/2415225. Although, we also have a more comprehensive guide for new contributors @ https://www.drupal.org/getting-involved-guide, we've designed this guide so that it is not too overwhelming for new students. That being said, we've also ensured that the guide contains all the information and resources required by the student to start contributing to Drupal. It contains help on important topics such as using issue queue/IRC/git, setting up development environment and contacting the mentors.
Step #1 is always to register an account on drupal.org. Drupal.org is our community hub complete with resources. It is crucial for students to learn "d.o formalities" before starting work on any project. Step #2 for students is to complete the "GSoC Student Ladder" at http://drupalladder.org/ladder/47217ef7-9bf5-4c7f-926f-aeee247aac78. The ladder includes various lessons helping a student get up to speed with basic coding requirements to start a GSoC project. Students will be encouraged to utilize lessons learned to help fix bugs in issue queues while planning project allowing real open source contribution prior to GSoC coding period.
Drupal is a big fan of communicating in web posts with comments on drupal.org and in realtime on IRC. A nice feature of Drupal.org is that each user has a "contact page" that can be enabled/disabled. Every mentor listed on ideas page is available for questions at their drupal.org contact page and students are encouraged to reach out. Plus mentors hangout in #drupal-google on a regular basis answering questions from potential students. Drupal is known for our open community and welcoming new members.
We also have a program called 'Core Mentoring' (also known as Core office hours) which aims at mentoring inspiring, enabling, and encouraging new core contributors. More details about Core Mentoring @ https://www.drupal.org/core-office-hours. We encourage all students to take part in Core Mentoring and although its not a requirement, we prefer students who have taken part in Core Mentoring and worked on a core issue. Office hours focus on the core tools, process, and community to make it easier for new contributors to get involved. It can be difficult to know where and how to start contributing or what it will take to get a specific issue fixed and this is where office hours come into the picture. Mentors triage the issue queue before hand and select issues which would be suitable for a new contributor and assign the issues based on the skills and experience of the participant. We believe that participating in the core issue queue is a nice way for the students to get started.
Communication during GSoC is key to student success in the program. Allowing students to openly ask questions and providing experience based resources from mentors will enable contributions back to our community with minimal confusion. Students are encouraged to keep IRC open throughout GSoC and add mentor(s) to Google+ prior to start of coding. During the coding period, mentors and students are encouraged to "meet virtually" twice per week. IRC is great for everything except hearing someone's voice. We feel that it is crucial for mentors to have an actual voice conversation with students at least twice per week (video is decision of student/mentor). Plus students are required to post project updates every two weeks at groups.drupal.org/google-summer-code informing our community of progress. We also encourage the students to register their personal blogs at Planet Drupal (https://www.drupal.org/planet/), which aggreagates feed from various sources and adding by adding his/her blog to the Planet, student can share their work with the entire community.
New in 2015 and based on feedback from previous students we decided to organize a weekly "check-in meeting/hangout". Attendance is required at each of the weekly meetings and missing more than two meetings will result in a project failure. Each weekly meeting takes place twice in two timezones enabling students two chances each week to participate. Not only will this meeting allow for easier tracking of project progress, it'll enable students to interact with each other providing feedback with support ensuring the success of all projects. Weekly meetings are organized by org admins.
=================================
What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?
Students are encouraged to continue supporting Drupal well past the conclusion of GSoC in any way possible and luckily Drupal has plenty of ways to have fun. Throughout GSoC students will learn about various initiatives, specific types of functionality, Drupal related events, and more. Students are advised to find and attend Drupal related events/meetups in their local area at early stages of GSoC. Attending events and talking about Drupal in real life is a great way to help students jump into the deep end of Drupal.
Encouragement comes as results of rockstar contributor success stories who started in GSoC/GCI and hearing about how awesome it is to work with Drupal full time. By end of GSoC project, student will understand working with Drupal is not a job, but a lifestyle. Not to mention having Drupal on a CV/resume is one of the top skills requested by many tech recruiters and job providers. During the mentoring process, it is clear to see the student is starting to understand how open source contributions work and that many companies support these efforts by hiring developers with credentials such as GSoC experience. Any successful GSoC student should have no problem finding an internship when the summer is over.
We encourage students to see the rewards of contributing to open source and that it can actually be fun. Why waste spare time browsing Facebook when you can review the drupal.org issue queue for issues to fix while learning how to code?
We have been discussing the idea of providing successful GSoC students one free ticket to any Drupalcon of their choice. Drupalcons take place all over the world, but chances are a Drupalcon will eventually take place in a students region, and we plan to encourage the student to attend hoping they see first hand the power of our community.
=================================
Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.
No
=================================
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.
No.
=================================
Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application?
=================================
Comments
GSoC 2015 Application Submitted!
Drupal has officially submitted our Google Summer of Code 2015 application into Melange. Google will announce accepted organizations March 2nd 19:00 UTC.
Drupal accepted into GSoC 2015
Proud to announce that Drupal was accepted back into Google's Summer of Code in 2015.