An Open Letter To The phpBB Community

The past week was the week of Symfony Live 2010 in Paris. One of the people there was Nils Adermann, the new Lead Developer of the phpBB project. The biggest news was that phpBB is considering moving to Symfony 2 as the basis of their new version of phpBB: phpBB4. As a result of this conference, Nils Adermann posted an RFC for this. This is my response, which I post here as an open letter to the phpBB community as well as in the thread where the RFC is being discussed.

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.

Add comment

Php5_zce_logo

Tags

1337 2008 2010 2011 4developers access modifiers accessibility AdaLovelaceDay09 advent agavi agile alfred amsterdam amsterdamphp apache api apple article articles atk atkMetaNode audioscrobbler autoloading automation azure backwards compatibility barcelona barcodes bash bbc bbq beatstad belgium best practices bittorrent blogging blogs boards of canada book books bughuntday bundle caching cake cal evans calendar career cat cerf certificate cfp cilex clear cms cologne common sense communities community components composer conference conferences contest continuous integration contribute contribution crisis css curl custom d-day data migration datetime DbFinderPlugin decorator decorators deployment deps devdays development directoryindex directoryiterator docblox doctrine doctrine2 documentation download dpc dpc09 dpc10 dpc11 DPC2008 dreamhost drupal dv7 eclipse ed editors efficiency enterprise errors event events expertise ezcomponents facebook filter-branch filteriterator finland flickr fork framework frameworks free ticket freelance freeze frontend fun game games geoip germany getting real git github globiterator gnome-do google google calendar googletalk graceful degradation hack hackers hidden gem hiphop howto hp HR html http i386 ibuildings icann ide ideasofmarch idm imovie inclusivity indy ingewikkeld integration international php conference internet interview ipad IPC ipc ipc08 ipc10 ipc11se iterators iterm2 javascript jenkins jenkins-php job job openings jobeet john peel joomla joomladays kiva kubuntu launcher launchy left on the web libcurl libraries library lighttpd lime linktuesday linux live london loudblog m2ts mac magazines malware mambo manchester marjolein mediterra meeting meme meta methodology micro-financing microframework microsoft migration movie music mysql namespace namespaces netbeans netherlands newsfire nllgg northeastphp nos odmarco open source opinion ORM osx paradiso paris partnership pavilion pear pecl performance personal pfc10 pfc11 pfcongres pfcongrez pfz pfz.nl photo php PHP php5.3 phpabstract phpazure phpBB phpbb phpbelgium phpbenelux phpbnl10 phpday phpdoc phpdocumentor phpgg phpitalia phpnw phpnw08 phpnw11 phpnw12 phpstorm phptek phptek09 phpuk2009 phpUnderControl phpunit php|architect php|tek podcast politics portability postcrossing presentation presentations private projects protected prototype PSR-0 public python qa qr codes re2c recruiting refactoring review rewrite ruby on rails san francisco schedule scifi script security sensio seven things sexism sfdaycgn sflive2011 shell scripting silex simplexml slides smfony software sogeti solar sound speakers spl ssh standard standards star trek static steer strings stylesheets subversion symfony symfony live symfony2 Symfony2 symfonycamp symfonyday symfonylive symfonyUnderControlPlugin talk talks tech techademy technology techportal tek09 telecommuting terratec terrorism testfest testing textmate textpattern the right tool timeout tips tld todo tomas tools training twig uncon unet usability usergroup validation vhost video vim vinyl virus warp webinar weblogging webservices wiki windows winphp women wordpress work workshop world world of warcraft wpi writing wunderlist xml xpath xsd yara year youtube zc11 ZCE zemanta zend zend framework zend server zend studio zendcon Zend_Form zite
© 2004 - 2013 Stefan Koopmanschap + Powered by Symfony, photos powered by Flickr, links powered by Delicious, Shanghai smilies by Iconbuffet. Feeds: rss / atom. Left on the Web v4.4.0.1