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

Comments

gravatar Ivo: The arguments you mention are sound, and promote the use of a framework by an application such as phpBB. However, the arguments are fairly generic. Replace Symfony by Zend Framework or another framework, and the arguments are equally valid. So what are your arguments to choose Symfony over Zend Framework?

The 'enterprise' argument is one that always particularly interests me. Since you mention sensio as a company catering to the enterprise, I looked up their current client list. It mostly consists of product sites for manufacturers it seems. I have yet to see banks, insurance companies or other business application developers adopt Symfony. Given phpbb's adoption rate, there are probably more enterprises using phpbb, is it not?
ZF has always had the advantage of having the Zend brand name, which makes it easier to penetrate enterprise environments, as it's a more 'due diligence friendly' company.
February 22, 2010
gravatar pst repair: When I first heard of the PHP/symfony 'unification' I was pretty bummed. Using an existing framework lacked the progressive strategy I like to see in web applications.

I put most of my projects on the back burner over the last year as I was swamped at my design job, but have reacquainted myself with symfony, and have changed my tune.

A big help has been taking part in practical symfony. The learning curve was actually at a higher degree than I had hoped, but I'm all the better for it.

I'm not willing to say that symfony will over take a recognizable ZF, but I think there is plenty of room for it in the web application sphere.
April 12, 2011
gravatar local info: interesting post...!phpBB team do good effort and her work is having much importance and useful for all users.
thanks for update and explain in detail.
May 10, 2011
gravatar homes for sale vancouver: yes it's true.i agree with you.this news is really biggest for me that phpBB is considering moving to Symfony 2.i like your post you do good effort to make it more valuable.
thanks for sharing.
July 7, 2011
gravatar Craigslist Tennessee: last week some good news are announced about the new version of phpBB.this open letter is so good and some good points are explained in it.thanks for sharing such a nice post.
October 26, 2011
gravatar lqeksck: interesting post...!phpBB team do good effort and her work is having much importance and useful for all users.
thanks for update and explain in detail.
8-O
December 23, 2011
gravatar discount uggs boots: I am typically to running a blog and i really respect your content. The article has really peaks my interest. :|
February 1, 2012
gravatar michael kors handbags: Really very nice Good article! Thank you so much for sharing this post.

February 2, 2012

Php5_zce_logo

Upcoming events

I will be speaking 06-02-2012: D-Day
I will be speaking 17-02-2012: Techademy Trainingday February
I will be speaking 23-02-2012: Zend Webinar: Git for Subversion Users

Tags

1337 2008 2010 2011 4developers access modifiers accessibility AdaLovelaceDay09 advent agavi agile alfred amsterdam apache api apple article articles atk atkMetaNode audioscrobbler 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 clear cms cologne common sense communities community components conference conferences contest continuous integration contribute contribution crisis css custom d-day datetime DbFinderPlugin decorator decorators deployment devdays development directoryindex docblox doctrine documentation download dpc dpc09 dpc10 dpc11 DPC2008 dreamhost drupal dv7 eclipse ed editors efficiency enterprise errors event events expertise ezcomponents facebook finland flickr fork framework frameworks freelance freeze frontend fun game games geoip germany getting real git github 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 indy ingewikkeld integration international php conference internet interview ipad IPC ipc ipc08 ipc10 ipc11se iterm2 javascript jenkins jenkins-php job job openings jobeet john peel joomla joomladays kiva kubuntu launcher launchy left on the web libraries library lighttpd lime linktuesday linux live london loudblog m2ts mac magazines malware mambo marjolein mediterra meeting meme meta methodology micro-financing microframework microsoft migration movie music mysql namespace namespaces netbeans netherlands newsfire nllgg nos odmarco open source opinion ORM osx paradiso paris partnership pavilion pear pecl performance personal pfc10 pfc11 pfcongres pfcongrez pfz photo php php5.3 phpabstract phpazure phpBB phpbb phpbelgium phpbenelux phpbnl10 phpday phpdoc phpdocumentor phpgg phpitalia phpnw phpnw08 phpnw11 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 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 symfonycamp symfonyday symfonylive symfonyUnderControlPlugin talk talks 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 - 2012 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