At this point the development of phpBB 3.1 is pretty much at a stand still, and the new development strategy as introduced back in February 2010 is pretty much out of the window at this point of time. With the last feature being close to two years ago a feature release should be made sooner than later. Having this much of development time scares away community members (hay bb solution 'x' has a feature release every 'y' time and phpBB doesn't evolve. I'll be using 'x'), and makes it for contributors less interesting to contribute. As I wrote in our internal discussion
Erik Frèrejean wrote:One cause for the lack of external contributors is IMO the lack of releases. I personally lost interest in contributing code for 3.1 because I feel that I can spend my time better than writing code for a release that might be released somewhere in the future. I'm aware that this doesn't help the cause but I can't find the motivation to do so, and I'm not surprised if other team/community members have the same feeling.
having more regular feature releases with a relative small change set (the "new" strategy was based upon this concept), allows users to get new features more regularly and motivates contributors and developers to spend time working on new features because they know their efforts will be available to the community at a wide within the foreseeable future, sparking their interest to contribute of which the community at large greatly benefits.
With this in mind I want to propose the following changes to make sure that phpBB 3.1 gets finished sooner than later.
- Feature freeze! Officially there have been a feature freeze since july 2010, but according to various development team members this is more like an "RFC freeze". However 13 RFC's have been posted and some have been accepted as well after this freeze (nearly 25% of all 3.1 RFC's have been posted after the cut off date). To enforce this, all non-merged RFC topics will be moved to the 3.2 RFC forum to ensure that they reflect the correct feature release for which they are projected. Because some of those RFC's are actively being developed and this change comes pretty suddenly, there will be a transitional phase. Any 3.2 feature that is finished before the first beta should be moved forward and be merged into Ascraeus. Any feature missing this deadline will be postponed to Arsia.
- Holy hooks, making the phpBB core more hook able for easier MOD installation has been a priority for a long time. Unfortunately hooks are complicated and the hooks RFC basically is the one stalling new feature releases. The hooks RFC will be pushed back to Arsia, allowing a bigger time frame to correctly implement them without them blocking the whole development process. 3.1 will not be cut off of being more hookable than 3.0. The current core already has a hook system (yes it has limitations but it is quite handy if you work around some of the limitations), I've started to implement the requested hooks with the current system. Ticket
- Fully implement the new development cycle. At the day 3.1 is released the feature freeze for 3.2 should be announced, this probably should be something around 10 months. This feature freeze should be set in stone, features not finished on this date will be pushed back to 3.3. After the freeze there will be some time needed to finish up things an to go through the release cycle. All together this will result in a feature release being made roughly every 12/14 months, which is a very acceptable cycle. Doing so will ensure that changesets growing to big and development taking up more and more time and nobody seeing the result of the hard work. I think that this will increase developer/contributor activity (and motivate one. If I want feature 'x' to ship with the next release I'll be a lot more motivated to get things done when I know that I might miss the date), as well keeping users because as a user you know that new features will come at a somewhat regular pace. This hopefully will also increase the amount of feature requests/RFC because posting one will more likely result in the feature being included.
All together this will quite quickly cut off the current development cycle and may look like rushing a release out for the sake of having a release. I personally however feel that this is the only way to break through the status quo that currently keeps the progress of the project hostage.