Google Summer of Code 2019
What is Google Summer of Code?
Google Summer of Code is an annual program in which Google awards stipends to students participating in coding projects for free and open source software projects. Its goal is to get students involved in and familiar with the open source community. phpBB is fully committed to the spirit of open source and aims to provide students with the most immersive experience during the summer. Read more about the program at the Google Summer of Code site.
The Google Summer of Code site is a great resource for all information on how GSoC works, the timeline of this years program, and other helpful links like student and mentor manuals as well as answers to frequently answered questions. Please make sure to check first whether you are eligible under the Google Summer of Code terms before applying.
Information for students
While not all students necessarily take the same steps while getting involved in projects they are interested in, we do recommend following these steps as a guideline on how to start your involvement with the phpBB team and its community for Google Summer of Code.
- Read Google's student guide
- Start participating and continue to be involved
Come up with a project you are interested in:
- List of ideas
- Existing phpBB Ideas, RFC topics and discussion topics on Area51
- Propose an entirely new idea
If you decided to apply to phpBB, or are seriously considering it, you should try to fix a small issue to familiarize yourself with the development process. To be accepted as student you are required to have submitted at least one pull request with a minimum of 10 lines of changed code.
- Join the Area51 discussion forum
- Join our #development Discord channel or our IRC channel #phpbb-dev on Freenode. This is where real time development discussions happen.
- Find a small issue to fix. You can try this list of easy to fix issues, search the tracker yourself or ask on Discord or IRC what you can fix.
- Create a GitHub account and fork the phpBB repository. See Git for further information about phpBB repositories or ask on Discord or IRC.
- Make the changes necessary to fix the issue. Be sure to create a bug branch and follow our coding guidelines and commit message rules.
- Create a pull request on GitHub and fill out the pull request template. Pull requests with correctly filled out templates will be linked to from JIRA, our tracker.
- Request review of your changes on Discord or IRC.
After you fix a bug and submit a pull request, it is always a good idea to stick around and continue being involved with the project. The recommended way of doing that is being on Discord in #development or IRC in #phpbb-dev and periodically checking and perhaps posting on Area51 forums. This gives phpBB team members an opportunity to talk to you about the changes you submitted in your pull request(s), as well as about your GSoC application. You will gain a better understanding of how phpBB development happens and will be more prepared for a productive and successful summer. Historically speaking, applicants that were active on Discord or IRC and started getting involved with the project prior to their application tended to submit better proposals and were therefore more likely to be selected.
Community Bonding Period
The community bonding period is the first phase after you're accepted as a student in the Google Summer of Code. Hang around Discord or IRC and the forums to get to know better the phpBB community, the phpBB team members, and your mentors for Google Summer of Code. This initial phase helps with getting to know each other and growing more accustomed to the communication via forum posts and Discord or IRC. It can and should also be used to
- get feedback on your proposal
- further discuss and clarify your ideas for the project
- set up your development environment
- prepare yourself and your project plan for the months that lie ahead of you, e.g. prepare a clear schedule, milestones, etc.
Once you have laid out a clear schedule during the Community Bonding Period, communication between you and your mentor is vital to the success of your project. This can be via Discord, IRC, e-mail, or any other communication method that you and your mentor agree upon. Daily check-ins are recommended and there should be no more than two days between check-ins with your mentor. These should be kept short: a short e-mail or a message or two on IRC should be enough for these check-ins. This should be used to keep your mentor informed about:
- what you're working on
- what you might need help with
- how the current progress is
- what issues you have encountered
- what is going well or not so well
- possible changes to a planned implementation or similar
Of course you can and should ask for feedback or code review whenever deemed necessary.
You should also have weekly or biweekly goals to keep your project on track. If you think that your initial estimate was incorrect or your project plan needs some adjustments after the first weeks, discuss the possible changes with your mentor. Ask sooner than later to ensure your projects success over the course of the summer.
Information for mentors
At phpBB we encourage current team members to volunteer as mentors. If you are not or no longer a team member and think you'd be a good mentor, feel free to send a message to gsoc[AT]phpbb[DOT]com.
These are all the people affiliated with phpBB who are assisting with the program as (backup) mentors or (backup) org admins. Their Discord & IRC Nicks are listed and you can find them on freenode in #phpbb-dev. They can help you with anything related to the ideas they are mentoring or general GSoC queries.
- Marc Alexander
Discord / IRC: Marc // Email: marc[AT]phpbb[DOT]com // Timezone: UTC +1
- Derk Ruitenbeek
Discord / IRC: Derky // Email: derky[AT]phpbb[DOT]com // Timezone: UTC +1
- Yuriy Rusko
Discord / IRC: Marshalrusty OR YuriyRusko // Email: operations[AT]phpbb[DOT]com // Timezone: UTC -5
- Marc Alexander
Discord / IRC: Marc // Email: marc[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- Máté Bartus
Discord / IRC: CHItA // Email: chita[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- Rubén Calvo
Discord / IRC: rubencm // Email: rubencm[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- David Colón
Discord / IRC: DavidIQ // Email: davidiq[AT]phpbb[DOT]com // Timezone: UTC -5// Focus: phpBB Extensions
- Tristan Darricau
Discord / IRC: nicofuma // Email: nicofuma[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- Matt Friedman
Discord / IRC: VSE // Email: vse[AT]phpbb[DOT]com // Timezone: UTC -8 // Focus: phpBB Extensions
- Jonas Katins
Discord / IRC: kasimi // Email: kasimi[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: phpBB Extensions
- Michael Miday
Discord / IRC: hanakin // Email: hanakin[AT]phpbb[DOT]com // Timezone: UTC -5 // Focus: Core Ideas
- Derk Ruitenbeek
Discord / IRC: Derky // Email: derky[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- Christian Schnegelberger
Discord / IRC: Crizzo // Email: crizzo[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: phpBB Extensions
- Jakub Senko
Discord / IRC: Senky // Email: senky[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: Core Ideas
- Paul Sohier
Discord / IRC: paul999 // Email: paul[AT]phpbb[DOT]com // Timezone: UTC +1 // Focus: phpBB Extensions