Skip to main content

Bughuntday: yes, you can!

Last week Thursday the start was given to Zend Framework's Bughuntday and it turned out to be a huge success, as mentioned by Chief Architect Matthew Weier O' Phinney on Zend's DevZone website.

Over a hunderd bugs were squashed leading up to the release of Zend Framework 1.9.3.

What is Bughuntday ?
Bughuntday is actually a term to indicate that on a specific day (or days), lots of developers are focussing their attention to fix bugs, often reported by users in a bug tracking tool (like Jira, Mantis or Bugzilla).

Since lots of users have submitted issues and only a few developers have time to investigate them, extra help is always welcome to clear a backlog of reported issues.

So, each year a "Bughuntday" is scheduled to have many developers fix issues in a relative short timeframe.

You can help !
Fixing bugs for Zend Framework is a very good way to learn best coding practices or parts of the framework you're not familiar with.

Go over to the Zend Framework Issue Tracker and look for bugs that are still open.

If you already signed the Zend CLA, you're good to go. If you haven't done this, now is a good time to do so.

Get the latest revision from, which includes the library, unit tests, external libraries and documentation.

In case of emergency
If you're stuck, or you have created a patch to fix an issue, head over to on IRC (freenode) where you can ask for help.

The Zend Framework Bughuntday is held each third Thursday and Friday of the month and each month prizes are given to the top 3 fixers.

If your company uses Zend Framework, see if you cannot make it a company thing. The quality improvement of Zend Framework will be a great benefit for your company as well.


  1. It will be nice to have more and more developers participate in the bug hut events. Especially corporates.

  2. Well... I agree and honestly would like to take part in it one day.

    I`ve been using ZF for some time and really like it. I do know some components quite well and I guess I could help in some issues. However I`ve never used unit testing. Not just Zend_Test component. The whole PHPUnit thing is a big mistery for me. I`ve read that reported issues should contain tests as well. So here is a problem for me.

    Don`t know if the whole testing is a hard thing to understand but to be honest I`ve got too much work and in the same time I`m too lazy to learn PHPUnit. (or maybe haven`t fount good tut)

    I`d like to take part in BugHunt. So maybe it would be cool to learn people (like me, lazy bastards who want to help in solving issues but got some lacks in testing knowledge) how they can help? Blog post showing how to solve one issue on jira (I`ve never work with this tool).

    Or maybe there is something (tutorials or blog posts) which I missed?

    Thanks :)

  3. @sudheer.s

    Yes, more corporate involvement would be much appreciated, but in my experience I see that developers within companies do want to participate, but don't get the time from management, simply because management has no clue what open-source is all about.

  4. @Zielun

    PHP Unit testing is not really hard to learn, and once you get the hang of it, you are wondering how you could ever do without it.

    This said, maybe my Introduction to unit testing with phpunit might help you get started.

    If you're still in doubts, see me on irc (freenode) in channel #phpunit or #zftalk and we'll talk about it.

  5. As of this last event, BugHunt days are no longer a yearly event for Zend Framework team, but a monthly recurring event. See also Matthew's announcement:

  6. Yes, I can help but..
    I sent my CLA on Sep 10 and I'm still expecting here rolling my thumbs... :)

  7. @Giorgio

    If you have IRC, jump to #zftalk and (on freenode) to see if you can find someone from Zend that might speed things up for you.

    I know the whole CLA process takes lots of time, but it's an overhead needed to maintain the new-bsd license.

  8. Anonymous25/9/09 00:01

    I think someone needs to be filtering the reported bugs, I found one that appeared to be an easy fix, when I reviewed the code it looked like it had already been fixed.

    I found myself stuck wondering if this guy had any idea what he was doing and if this was even a bug.

    I downloaded 130MB of trunk so I could have the tests, looked through a bunch of bugs to see which ones I could help with (I couldn't find a "list all bugs" option).

    In the end I gave up and got back to work that gets me paid.

  9. @Anonymous

    Filtering reported bugs is also part of the whole Bughuntday experience. If you come across bugs that are not really bugs, you can modify it's status accordingly. Not every bug reporter has the required skill set to report bugs, but that's all part of (software) development. You can make an application fool-proof, just to discover that there are only worse fools"

    There's no such thing as list all bugs, but you can select open issues (topics where users had an issue using the framework) and you can even filter on specific components, so in my opinion you already have the tools to get you started.

    I'm sorry that you didn't had the excited experience we had with it, but I understand that it can be challenging sometimes.

    Good luck and maybe 'till next time.


Post a Comment

Popular posts from this blog

PHP 7 and Apache on macOS Sierra

I posted several talks about compiling PHP from source, but everyone was trying to convince me that a package manager like Homebrew was a more convenient way to install. The purpose of Homebrew is simple: a package manager for macOS that will allow you to set up and install common packages easily and allows you to update frequently using simple commands. I used a clean installation of macOS Sierra to ensure all steps could be recorded and tested. In most cases you already have done work on your Mac, so chances are you can skip a few steps in this tutorial. APACHE AND PHP WITH HOMEBREW I’ve made this according to the installation instructions given on GetGrav. The installation procedures These installation procedures will set up your macOS Sierra with PHP 7.1 and Apache 2.4. Install Xcode command line tools (if not done yet)xcode-select --install Install Homebrew/usr/bin/ruby -e "$(curl -fsSL" Set up for in…

Sessions in PHP 7.1 and Redis

In case you have missed it, PHP 7.1.0 has been released recently. Now you can’t wait to upgrade your servers to the latest and greatest PHP version ever. But hold that thought a second… With PHP 7 lots of things have changed underneath the hood. But these changed features can also put unexpected challenges on your path. Our challenge One of these challenges that we faced was getting PHP 7.1 to play nice storing sessions in our Redis storage. In order to store sessions in Redis, we needed to install the Redis PHP extension that not only provides PHP functions for Redis, but also installs the PHP session handler for Redis. Because we upgraded our servers to PHP 7.1, we were looking to use the latest provided version for this Redis extension: redis-3.1.0. Once installed, we bumped against a nasty problem. Warning: session_start(): Failed to read session data: redis (path: tcp:// Searching the internet for this error, we didn’t got many hits that could point us into a dire…

Speeding up database calls with PDO and iterators

When you review lots of code, you often wonder why things were written the way they were. Especially when making expensive calls to a database, I still see things that could and should be improved.
No framework development When working with a framework, mostly these database calls are optimized for the developer and abstract the complex logic to improve and optimize the retrieval and usage of data. But then developers need to build something without a framework and end up using the basics of PHP in a sub-optimal way.

$pdo = new \PDO( $config['db']['dsn'], $config['db']['username'], $config['db']['password'] ); $sql = 'SELECT * FROM `gen_contact` ORDER BY `contact_modified` DESC'; $stmt = $pdo->prepare($sql); $stmt->execute(); $data = $stmt->fetchAll(\PDO::FETCH_OBJ); echo 'Getting the contacts that changed the last 3 months' . PHP_EOL; foreach ($data as $row) { $dt = new \DateTime('2015-04-…