Hey phpBB community,
It has been a long time since I logged in here (I haven’t checked, but it must’ve been years). I’ve had great years here at phpBB back in the days of phpBB2 as a user, Support Team Member and Support Team Leader, and even though I have moved on since, phpBB and its community still have a special place in my heart.
When I first heard of the possibility of phpBB moving towards Symfony some weeks ago, my heart skipped a beat. This was great news! Of course, nothing is set in stone yet, but truely it would be a great move. Let me try to give you some reasons why it would be a good idea to rebuild phpBB on top of Symfony, and let try to offer some response to those with specific fears.
Don’t reinvent the wheel
Using an existing open source framework for any web application is a good idea. The framework will take a lot of work out of the hands of the developers, allowing the developers of phpBB to focus specifically on the forum functionality they want to implement. This will allow for better code (since they can focus just on the interesting stuff), less code to maintain (since the framework contains a lot of the generic functionality) and also a faster release (because less code has to be written). Most frameworks and specifically Symfony focus on implementing the best practices of (web) development, and promote the same for code written on top of Symfony in projects. Result: Better, more understandable and extendable code which runs faster. For those that don’t know a lot about technology: What this basically means for end-users: You will have a discussion forum that has little bugs, little security issues, that will allow you to have plugins/MODs without the need to edit specific files or the chance that an automatic installation fails because it can not correctly edit files.
Benefit from the existing Symfony community
Adopting Symfony as the basis for phpBB4 would mean you can tap into the power of the existing Symfony community. This has a lot of benefits. The most important one is that the basis of the phpBB4 code would be maintained by the Symfony community, not the phpBB4 developers. This is not meant as a stab towards the phpBB development team, because they’re doing an awesome job. This simply means that there is more time for the phpBB development team to focus on their code. The framework itself will be maintained elsewhere, and the phpBB development team can simply pull in new fixes and new features and immediately make use of them for phpBB. Obviously, this also means that phpBB developers can, if they want to, contribute things to Symfony (the benefit goes both ways 🙂 ).
Another benefit the phpBB community will get from using Symfony is the fact that the target audience will be much bigger all of a sudden. And since the majority of the Symfony community are developers, this means there is all of a sudden a huge group of developers available that might be interested in helping out with the development of phpBB itself or one of the many MODs. This will mean more help for the phpBB developers, both the official team and the community developers that contribute.
Opening up a new market
phpBB has been serving a huge market of online forums for all of its life. Whether it was a small local community forum or a huge million-user forum, phpBB was there. But one market has seen very little coverage by phpBB: The enterprise market. This is a market that has traditionally been for Java, .NET and similar languages but has recently been moving towards PHP more and more. So far, the market has been mostly for custom PHP framework development, especially Zend Framework, Symfony and such. And this is the market phpBB could step into. By having phpBB be based on such an enterprise-level framework, it will make it much easier for developers working with such a framework to integrate phpBB into their software. Now, the enterprise market values quality of quantity/speed usually, so this might make the quality of the phpBB code even better.
Extending phpBB with symfony code
Symfony has an extensive database of plugins, similar to phpBB MODs. If phpBB would adopt Symfony, then these plugins would all of a sudden available to users of phpBB. With a simple installation system this will make it very easy to start using this functionality.
Hard to learn?
I’ve seen mentions of people fearing Symfony is hard to learn. Symfony is known for its great documentation. Both for people new to Symfony and for people that already have some experience with Symfony. Also, Symfony 2, which would be the basis of phpBB4, is much easier to learn than symfony 1.*. Yes, for people not used to frameworks, it might take a bit of effort to learn. But these same people have taken the effort to learn the phpBB API. I would dare say that the Symfony API will be much easier to learn, and the documentation for it is better.
Distribution problems?
Distribution for Symfony is very easy. For symfony 1.*, there are several open source packages available that offer a symfony plugin (for usage in symfony projects) as well as a stand alone package. And with the newer versions of symfony 1.*, it is even possible to offer a simple installer. Symfony 2 will simpify this even more, as it will be even more flexible for the distribution of either plugins (called Bundles in Symfony 2) or stand alone packages. So there is no reason about the ease of the distribution.
Security
Symfony has only seen one or two security releases so far. Because Sensio, the company that is backing Symfony, is mostly delivering to the enterprise world, security is a big focus for their development. This means that the framework they use for their projects will have a huge focus for security issues. The releases I’ve mentioned so far were not even about security vulnerabilities inside the Symfony code itself, but about external libraries that are bundled with Symfony. Even if something might pop up, the Symfony team is very quick to respond to such issues and make a new release for it.
Concluding
I hope this offers enough information to you. If there are any more questions, I am more than happy to answer any of them, or point you to the answers if they have been given already somewhere else.
Full Disclosure
As mentioned before I used to be a part of the phpBB team as Support Team Member and Support Team Leader. At this moment, I am a member of the symfony team as the Symfony Community Manager.
Leave a Reply