About a month ago I was promoted to phpBB’s lead developer position. When I was given that role I was asked to present to the management team what my plans for phpBB are. But since they concern all of you, the phpBB community, I believe they belong here as well.
We are currently in the process of releasing phpBB 3.0.7, a smaller bug fix release of Olympus. After that development will split into multiple branches. Meik has already explained our new versioning system in a previous announcement. What this means is that after 3.0.7 is released we will start working on two branches: Ascraeus – the future phpBB 3.1, and Rhea – the future phpBB4. At the same time we will continue maintanance releases of Olympus.
Over the last few weeks we have made a few important decisions, that we believe can positively impact phpBB development. These include changes to development infrastructure as well as our development model. I will briefly outline these changes here, more details will be posted on the blog or as an announcement soon.
All of these changes have three main goals:
- All of you, phpBB’s community, have to be more involved in development
- We want to develop and release new features faster
- The software quality needs to be improved
Moving from Subversion to Git
In order to be able to better deal with greater community involvement as well as developing in multiple branches simultaneously, we have decided to switch to a new version control system.
Git is a free & open source, distributed version control system designed with speed and efficiency in mind, making it ideal for community collaboration. We hope to get a lot of patches and code contributions from the community so we need a way to handle these patches. A distributed version control system solves a lot of these problems. It is easier for users to fork the project make changes to it, and push those changes back into phpBB. It should also make the collaborative development of MODs and projects built on top of phpBB much easier to maintain since updating the underlying phpBB version is much easier than before. Git also makes it easier for us to track code authorship because Git differentiates between commiter and author.
phpBB “Ascraeus” 3.1
As many of you might remember Olympus originated as phpBB version 2.2, a feature release of the 2.x branch. The amount of features and resulting architecture changes was too ambitious, leading to very long winded development and the eventual realisation that not much of phpBB2 was left at all. Subsequently phpBB2.2 was renamed to phpBB3. To avoid any such issues with phpBB “Ascraeus” 3.1, there is going to be a feature freeze date. Any feature that has not been commited once this deadline is reached will have to be pushed back to 3.2. This date is going to be the 31st of May 2010. There will still be time between the feature freeze and the first beta release for finishing up the commited features, so as usual it’s done when it’s done.
In the spirit of phpBB4’s open development everybody will also be able to submit patches for phpBB3.1 development. Detailed instructions will soon be published. Additionally we plan to allow people to suggest new features, preferably in a detailed form so the implementation will be straight forward for contributors. The feature tracking system should eventually support some notion of voting on features. Popular features will be more likely to be implemented. But whether a feature really gets implemented depends largely on finding an interested contributor, there will be no guarantees based on popularity in the voting system.
phpBB “Rhea” 4.0
I wish to establish phpBB4 as a state of the art extensible object oriented PHP application. An application that will no longer be seen as a black sheep by experienced PHP developers, but instead will use a modern PHP framework and provide reusable libraries to other PHP developers. From being a good citizen of the PHP community we can gain a lot:
- We can attract more experienced PHP developers to contribute to phpBB.
- We reduce the amount of work we spend on backend details that other people have already solved, freeing up contributors for developing innovative features
- Higher code quality, thus less time spent on tedious bugfixing
- Faster development, giving us more time for cool new functionality
- We can attract users who would previously have written their own simpler forum systems using the framework of their choice
The RFC on choosing Symfony 2 as the underlying framework for phpBB4 can be found on the wiki. I believe building phpBB4 on top of Symfony 2 would be an excellent choice for phpBB. It would allow the development team to focus on building a bulletin board, using a framework built by framework experts. Other developers using Symfony 2 as a platform might become interested in contributing to phpBB.
phpBB4 is going to use the GPLv3, rather than phpBB3’s GPLv2. While we have no problem with people using phpBB3 code in GPLv3 code, we will make use of the new proxy instance in GPLv3 to make such decisions about future versions of the GPL easier without having to use the “or any later version” clause.
More developer meetings
The first larger phpBB meeting took place in London about one and a half years ago. Its main purpose was to give people a chance to get to know each other. Based on that experience the phpBB Development and Management Teams have met for a few days of discussions and coding last summer. I believe that regular meetings of this kind greatly improve communication and help keeping the project on track. To improve community participation in development future meetings should be open to all contributors rather than just development team members.
Please discuss this blog post on the forums.