GSoC 2019 Student Proposal Guidelines
A project proposal is what you will be judged upon. So, as a general recommendation, write a clear proposal on what you plan to do, what your project is and what it is not, etc. Several websites now contain hints and other useful information on writing up such proposals.
While phpBB does not require a specific format or information in proposals, proposals are evaluated roughly in two dimensions:
- What is the scope of the project?
- Is the submitter likely to finish the project in the allotted time?
Requirement
This year we require all students who submit a proposal to have at least one pull request with a minimum of 10 lines of changed code. The pull request doesn't have to merged, but it should show that you have a good understanding of the code and our Git workflow.
Technical
Your proposal should include enough technical details that the mentors can visualize the entire project and roughly estimate how long it would take you to complete. Here are some specific points that you should address in your application:
- Explain the problem that you want to solve.
- Explain the benefits that solving this problem will bring to users or phpBB.
- Break down your project into component parts. Make a list of the parts.
- Which parts depend on other parts? Which can be worked on concurrently?
- Which parts are essential to your proposal?
- Which parts can be omitted if development takes longer than you expect?
- Develop a rough timeline. It should account for design, development and testing of each component part. Be sure to build in time to adjust the code based on reviews, and to fix bugs found in testing.
Personal
The second part of evaluation looks at the likelihood of you completing the project you wish to attempt. Your proposal should match your experience level. Be honest; most software projects are late and over budget, and it is guaranteed that during GSoC you will encounter issues you did not think of while writing your application. If in doubt, be conservative: a smaller project that gets finished is better than a more ambitious project that is abandoned.
You can include the following information in your proposal:
- Who are you? What are you studying?
- What experience relevant to your proposal do you have?
- Why are you the right person to implement your proposal?
- Have you used phpBB?
- Have you modified phpBB?
- Have you submitted any pull requests to phpBB, and have any of them been accepted?
- How many hours are you going to work on this a week? 10? 20? 30? 40?
- Do you have other commitments that we should know about? Examples of this are student jobs, internships, university overlapping with the 3 months of Google Summer of Code.
- What is your username on GitHub, phpbb.com, Discord and IRC?
- What time zone are you in?
- Are you comfortable working with a mentor who is several time zones away? Have you worked in this style before?
- How will you track your work?
- What is your native language?
- Where do you live, and can we assign a mentor who is local to you so you can meet in a coffee shop for lunch?
Review
After you have written your proposal, you should get it reviewed. Do not rely on the phpBB mentors to do it for you via the web interface: they will only send back a proposal if they find it lacking. Instead, ask a colleague or a developer to do it for you.
You can also request public review on area51, on the phpBB Discord, or in the #phpbb-dev IRC channel if you wish to make your proposal public.
Final Checks
- Is your proposal detailed?
- Does your proposal include a timeline?
- Have you submitted a pull request to phpBB with at least 10 changed lines of code?