A recent blog post at symfonynerds stated that the popularity of Drupal was hindering the success of PHP frameworks, especially symfony. It’s a very interesting perspective on the subject, but in my opinion, this is not the case.
Drupal calls itself “an open source content management platform” and this is a pretty accurate description of what it does. If some people make the mistake of comparing Drupal to other frameworks like Django and Rails, we can hardly blame Drupal.
If symfony and other PHP frameworks want to get better known it needs to come from within the community. Historically any successful framework, CMS or programming language has had a vocal community backing it up. This means the community wore the colors with pride and also took part contributing and evangelizing for the framework, either developing tutorials, contributing code and helping out in any way they can. Most importantly we need to start developing cool open source projects based on our frameworks. This is extremely important to make these frameworks more popular outside the groups that already know them and especially for beginner developers. By creating applications on top of our favorite frameworks, we will start to create a marketplace and demand for labor around them. Current developers use these frameworks to create custom and internal sites and applications that usually don’t get released to the public; this does not help the framework. If we want to give back to the project that has helped us so much by giving us a powerful tool, then we need to do something about it. Some people contribute to the core development of these projects; others write documentation, blog posts, tutorials, answer questions on IRC, forums and mailing lists. These are all very valid ways of giving back. But creating an open source project around a framework would also help the framework, a lot! Think about it.
The web is ripe with old PHP applications that need to be re-invented, CMS, blogging platforms, image galleries, etc. Creating one of these applications from scratch most of the time does not make sense, but if you provide something new built using your favorite framework and allowing to add custom functionality by following the same standards of the framework, you are offering a very valid value proposition.
Here are some cool open source projects based on popular frameworks that are worth checking out:
- Sympal – CMS (symfony)
- Apostrophe – CMS (symfony)
- qdPM – Project management (symfony)
- siwapp – Invoice generation – (symfony)
- veevid – Video sharing (symfony)
- Magento – eCommerce (Zend Framework)
These are projects that appear to be alive and have been active for quite some time. There are a bunch of other interesting projects that seem to have been left with broken links, outdated websites, etc.
As you can see, the list is not long and this is obviously not a good sign. But one thing is clear; we cannot blame Drupal for this. A simple search for “Rails open source projects” leads to a bunch of results to sites like http://www.opensourcerails.com/ and this article all generated by an active community. The same goes for Django.
So help your framework, start a cool open source project or join an existing one, I am sure this will help a lot.
Finally, after this long rant, I think we need to release something ourselves. Expect us to release our Livechat system as an open source platform in the near future. It’s actually quite cool as it interacts with GTalk and does a bunch of other fun stuff.
If you know of any other noteworthy open source software built on Zend Framework or Symfony frameworks, add them to the comments below.