Development Wiki


From phpBB Development Wiki

Revision as of 13:32, 20 March 2012 by Oleg (Talk | contribs)

This page is based on the KDE project's page [1].

phpBB is participating in Google Summer of Code 2012. These are instructions for student who would like to apply for a project with phpBB.

General Instructions

All participants should take a look at the Summer of Code Program Wiki every now and then to be informed about updates and advices. It is also important to read the Summer of Code FAQ, as it contains useful information. Pay special attention to the Eligibility section of the FAQ.

Development Information

phpBB's development is discussed on the Area51 development discussion board. Anyone can post RFCs for changes and new features there and discuss them. Bugs are reported on the ticket tracker and the code is versioned using git on GitHub. The phpBB repository is located at

phpBB's current stable version is 3.0 and we occasionally release a 3.0.x release with bugfixes. Most development work is currently focusing on 3.1, a feature release, which we hope to release soon. It's already quite far progressed, and we don't accept new features for it anymore. 3.2 is the next planned feature release. Many people have posted RFCs for new ideas that still need discussion and have yet to be implemented. If you participate in Google Summer of Code your project will most likely end up in 3.2. Lastly phpBB 4.0 is an idea for a rewrite based on the Symfony2 framework. No actual code has been written for 4.0, it's still in the planning phase.

Recommended Steps

  • Read Google's instructions for participating
  • Come up with a project you're interested in
    • Take a look at the list of ideas
    • Peruse existing RFC topics [here] and [[2]]
    • Propose an entirely new idea
  • Write a first draft proposal and get someone to review it for you
  • Submit it using Google's web interface

Coming up with an interesting idea is probably the most difficult part of all. It should be something interesting for phpBB, for open source in general and forum users in particular and for you. It also has to be something you can realistically achieve in the time available to you.

Finding out what the most pressing issues are is a good start. You should join the Area51 development discussion forum and check out our IRC channel #phpbb-dev on FreeNode: you can make acquaintance with developers and your potential mentor, as well as start learning the codebase. We recommend strongly doing that and we will look favourably on applications from students who have started to act like open source developers. If you're up to it you should try and fix a minor bug from the ticket tracker to get an idea of how the code contribution process works.

Start Participating

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.

  • Join the Area51 development discussion forum.
  • Join 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 open trivial issues, search the tracker yourself or ask on IRC what you can fix.
  • Create a [GitHub] account and fork [phpBB 3] repository. See Git for further information about phpBB repositories.
  • Make the changes necessary to fix the issue. Be sure to create a feature branch and follow our coding guidelines and commit message rules.
  • Create a pull request on github.
  • Update the ticket with your pull request url.
  • Request review of your changes on IRC.

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.

phpBB does not require a specific format or specific list of information but here are some specific points that you should address in your application:

  • Who are you? What are you studying?
  • What exactly do you intend to do? What will not be done?
  • Why are you the right person for this task?
  • To what extent are you familiar with the part of the software you're proposing to work with? Have you used it? Have you read the source? Have you modified the source?
  • 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? If so, please suggest a way to compensate if it will take much time away from Summer of Code.
  • Are you comfortable working independently under a supervisor or mentor who is several thousand miles away, not to mention 12 time zones away? How will you work with your mentor to track your work? Have you worked in this style before?
  • If your native language is not English, are you comfortable working closely with a supervisor whose native language is English? What is your native language, as that may help us find a mentor who has the same 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?

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.