Why did it take Bugzilla 9 years to get from version 2.0 to 3.0?

May 10, 2007 by justdave
Filed under: Bugzilla 

Bugzilla 3.0 was released last night!

I was too tired last night to post anything, and I’d be remiss if I didn’t post something today. :) All the good information is on the release announcement on bugzilla.org.

It was almost 9 years ago when Bugzilla 2.0 was released. We made a big deal about that in the release announcement, and since then I’ve seen the question asked “Why did it take 9 years to get from version 2.0 to version 3.0?”

Well, one of the little known secrets (some of the old-timers might remember this) is there was another attempt to create Bugzilla 3.0 several years ago. The original idea was to start over from scratch, and design with a completely object-oriented back-end in mind, with complete separation between the program logic, and the user presentation, allowing many different types of front-ends to potentially talk to the back end. You can see the remnants of this project in LXR. Many people knew of this project at the time, and since Hixie had already taken the version 3 number, we didn’t want to confuse anyone, so the existing codebase continued to evolve adding numbers to the minor version component of 2.x, even though several of the 2.x releases had fairly major new features in them.

Bugzilla has been using the even/odd version numbering scheme, where released versions always have an even minor version number, and development versions always have an odd number. So since 2.0 came out, we’ve had 2.2, 2.4, 2.6, 2.8, 2.10, 2.12, 2.14, 2.16, 2.18, 2.20, and 2.22 using the 2.x versioning scheme. Almost every one of these had major feature improvements. Something else that happened along the way: The vast majority of the design goals from Hixie’s Bugzilla 3 proposal got met along the way, by iterative development of the existing codebase. Bugzilla now uses a templating system for any output going to end-users (be that email or HTML pages, or XML, CSV, RSS, etc). The majority of the back-end code has been refactored into a comprehensive set of Perl modules that do all the dirty work of interacting with the database. The vast majority of the “sloppy code” was rewritten by necessity over the last 5 years in order to make Bugzilla work in Apache’s mod_perl.

So this last summer, some of us realized that Bugzilla really had progressed a long ways, and was certainly deserving of a major version bump. A bunch of us sat down at one of our Bugzilla team meetings and put together a roadmap for what it would take to make us all agree to call it Bugzilla 3.0. By this point, the original Bugzilla 3 project spearheaded by Hixie had long ago died off, and hardly anyone remembered it, so we decided there was no need to worry about confusion (otherwise we would have called this Bugzilla 4.0 instead :) ).

It’s been discussed elsewhere, but very few open source developers ever want to do complete rewrites. Everyone likes scratching their own itch, and usually that’s one or two features they’re missing, and it’s much easier to make changes to existing code than it is to write something completely new from scratch. This little adventure to obtain Bugzilla 3.0 is a good example of that. Hixie’s design for Bugzilla 3 that was posted 6 years ago last week was really pretty good. But very few people joined him to work on it, and the folks that were working on it eventually didn’t have time for it and it died. But most folks understood it was the right way to go, and the Bugzilla 2 codebase eventually evolved into that in little tiny pieces over the course of 5 to 6 years.

Comments

3 Responses to “Why did it take Bugzilla 9 years to get from version 2.0 to 3.0?”

  1. meren on May 15th, 2007 6:30 am

    “(…) and it’s much easier to make changes to existing code than it is to write something completely new from scratch. This little adventure to obtain Bugzilla 3.0 is a good example of that.”

    What?

    Come on, at the end it’s just a _bug_tracking_system_. Why did it take 9 years to switch to 3 if it was so easy to add new features to 2 instead of writing it from scratch?

    Okey, developers did a great job, thanks to all of them, sincerely. But please, Bugzilla, as an example, is only good at showing how bad desing can create a big pain in developers’ and users’ ars. 9 years. Even without a basic XMLRPC support..

  2. justdave on May 15th, 2007 11:26 am

    The current Bugzilla 3 is the Bugzilla 2 codebase (well, evolved from it) with features added to it. That was the point. The section you quoted was referring to the original attempt at Bugzilla 3 six years ago.

  3. Words — Jonathan Cheyer » Blog Archive » Managing Bugzilla Spam on August 4th, 2007 1:02 am

    [...] practically no support for handling spam in the 2007 world. (Version 3.0 just came out in May 2007, nine years after version 2.0 came out.) ¶ At Solid, we’ve been using Bugzilla to track bugs for our [...]

Feel free to leave a comment...
and oh, if you want a pic to show with your comment, go get a gravatar!





  • feed Bugzilla in the News and Blogs

    • Bugzilla Monday, 11 May 2009, 9:01 am
      Without doubt, this is the cheapest, and from the off-the-shelf tools I have seen, Bugzilla need not hang its head in shame for being shareware. See the link: http://www.bugzilla.org/about/
    • Fixing HCI Bugs in Bugzilla Thursday, 30 April 2009, 1:53 am
      Guy Pyrzak led a bunch of Carnegie-Mellon students in conducting some HCI research on Bugzilla, and they came up with extensive and detailed results. I have been working on filing bugs in response to. […]
    • illiterat: BugZilla feature of the year -- recent (commented) history Wednesday, 29 April 2009, 3:38 pm
      Something I've wanted for a long time is "show me the BugZilla tickets which I've looked at "recently" (last day, week, etc.). Like almost everyone else I speak to I get by saving all my bugzilla emai. […]
    • Bugzilla on Catalyst Tuesday, 28 April 2009, 1:23 pm
      One of the talks I submitted for this year's YAPC::NA is on converting legacy CGI and mod_perl applications to run on Catalyst instead, focusing on ways to get Catalyst in between existing code and th. […]
    • Bugzilla on CentOS - Nikhil Deval Monday, 27 April 2009, 11:21 pm
      You need to edit a few lines inside this file to prepare Apache to utilize Bugzilla. First, you need to allow Apache to run CGI scripts outside of the cgi-bin directory. To do so, you must add (or unc. […]
    • Bugbored - A Bugzilla Front-End for Fennec Friday, 24 April 2009, 3:19 pm
      After spending a bit of time in Bugzilla it becomes very clear that a lot of time is spent watching the lizard eating bugs. And as the the queries grow larger and larger it becomes harder and harder,. […]
    • Lots of Design Feedback and Bugzilla Usability Data Thursday, 23 April 2009, 9:28 pm
      There has been a lot of interest in the Bugzilla UI recently, which I'm super excited about. Attending usability conferences like CHI, I'd often hear about how hard it is to get any interest in usabil. […]
    • fligtar.com » fancypants: a new Bugzilla skin Thursday, 23 April 2009, 6:21 pm
      The personal blog of Justin Scott, likely to contain posts about Mozilla, Firefox, add-ons, PHP, and web development.
    • vicentescottly - Experiencing like KBugBuster Wednesday, 22 April 2009, 7:59 pm
      When I heard person adverting Deskzilla ( that Holds a proprietary bugzilla client ), I considered about kbugbuster. I cognized it was in a not-very-good contour. Suddenly I experienced like upraising. […]
    • my Bugzilla redesign 2¢ « Boriss' Blog Wednesday, 22 April 2009, 11:11 am
      Bugzilla lately has been going through a bit of a redesign process. Guy Pyrzak has been leading the initiative and has been making some very useful observations and changes. For instance, he observed. […]
    • Email: Still the One for Developers - LinuxInsider.com Wednesday, 22 April 2009, 4:02 am
      Email: Still the One for DevelopersLinuxInsider.com, CABugzilla is about the best they can get." If a Twitter-like feature were integrated in SCM applications, Hammond said, it would probably be welc. […]
    • Jesse Ruderman » Getting bugs done Monday, 20 April 2009, 11:18 am
      I believe Bugzilla's workflow can be improved using one of the central ideas from Getting Things Done, the "next action". Currently, the answer to the question "what is needed to move this bug forward. […]
    • A new Login Form for Bugzilla Thursday, 16 April 2009, 8:38 pm
      So we've gotten lots of great feedback on the homepage, it's been really helpful and we're talking to folks about redoing the icons, making sure that the big icons are the right choice and much more.. […]
    • New front page for Bugzilla 3.4 Thursday, 16 April 2009, 4:50 am
      This is the first post about new features/UI improvements available in what will become Bugzilla 3.4. I realized that many readers don’t waste their time following links in articles; if a screenshot. […]
    • Bugzilla Dusk Skin | userstyles.org Thursday, 16 April 2009, 2:19 am
      Bugzilla Dusk Skin. Bugzilla Dusk Skin. 22416. By HaggleLad. Last updated Apr 16 2009. 9 installs this week, 9 total. Works with Bugzilla v3.0.2 and will do with others I expect. Show code ...
    • BugZilla - Defect/Bug Tracking System Friday, 10 April 2009, 2:22 pm
      Home Page:http://www.bugzilla.org/ Download:http://www.bugzilla.org/download/ Features:http://www.bugzilla.org/features/ Documentations:http://www.bugzilla.org/docs/ Wiki:https://wiki.mozilla.org/Bugz. […]
    • Going from Trac to Bugzilla Saturday, 4 April 2009, 6:36 am
      It is time we go serious, so we should use some serious tools :P. First of all, why switching to Bugzilla? Trac is a nice tool; you get almost everything you need with one installation, not to say how. […]
    • Bugzilla-ja 3.4 branch open « himorin’s blog Friday, 3 April 2009, 8:03 am
      I have much pleasure in introducing that now we have an open repository of Japanese templates for Bugzilla 3.4 branch. So, now our current maintainanced repositories are for 3.2, 3.4, and trunk (3.5).. […]
    • Open Source defect/bug tracking? | bestdomains4you.info Thursday, 2 April 2009, 3:24 pm
      Bugzilla is by far the most famous, though it is notoriously difficult to set up. Many different companies and Open Source projects use this as their bug tracker. http://www.bugzilla.org/. 2. Mantis:. […]
    • Bugzilla 3.2.3, 3.3.4, BRANCH_3_4 リリース « himorin’s blog Wednesday, 1 April 2009, 10:20 pm
      Bugzillaプロジェクトでは、Bugzilla 3.2.3, 3.3.4をリリースいたしました。Bugzilla 3.2.3は最新の安定版リリースとなります。また、3.4リリースに向け、BRANCH_. […]
  • Recent Posts