Well, at long last, phpBB3 has been released, exactly 2079 days after the 4/4/02 release of phpBB2. We're all definitely excited that phpBB3 is finally out now (even if some of us still have an appreciative spot in our heart for phpBB2), but I'm sure some people will be asking why it took so long and how we can make sure that we don't have to wait until August 22, 2013 for the next major release of phpBB. (8/22/13 is exactly 2079 days after phpBB3's 12/13/07 release date.)
Now, the phpBB teams have always had a practice of not sharing a release date with the public because they didn't want to have something come up, resulting in public disappointment. However, when development started in early 2003, the developers weren't developing with a phpBB3 in mind; they were developing with phpBB 2.2 in mind, which they had hoped to release sometime in 2004. (After all, phpBB2 had only taken 16 months to develop, that probably seemed very reasonable.)
What happened was the development team got a bit over-excited and ended up completely rewriting phpBB. After all, a minor new version such as 2.2 is intended to indicate a release that would evolve off of 2.0, not completely rewrite it. It was after the teams became a bit self-conscious that they posted the momentous announcement that phpBB 2.2 had become phpBB3 "Olympus". In the almost three years since then, even more significant portions of phpBB3 have been rewritten, as it took a full 16 months to go from the "2.2 becoming 3.0" announcement until the first beta was published in May 2006, and then just about 19 months from the first beta in May 2006 through the final release in December 2007.
I mean, I did a week long series in late October making fun of Apple for taking two and a half years to release an update to Mac OS X. Quite frankly, it's easier to tackle two and a half years of world events than five and a half years.
Now obviously the development team is taking a nice breather, celebrating that they've finally gotten together something to declare "final", and will be going through the initial stream of bugs in preparation for the inevitable 3.0.1 release. But when they get started, we're definitely all hoping that they will be able to hold themselves back and limit 3.2 to an evolutionary upgrade, not a revolutionary upgrade, and be able to have it released soon. In fact, I would say that I think that 3.2 ought to be released before the end of the year 2008.
While I was thinking about all of this, I got to thinking about WordPress, another popular open source program. They actually have a fairly interesting release schedule. They try to have a new release out every four months (ignoring minor bugfix releases), and each new release contains a handful of new features, rather than the whole kitchen sink. Their roadmap is also wide open, and anyone can go and find out when their planned release dates are. Obviously, they indicate that the dates are subject to change, but what's important is that they have a self-imposed target. In their development process, they allow themselves the first three months in between releases to develop code, at which point they freeze the feature list for their next release and spend the next month with testing, internal betas, release candidates, etc. in preparation for the final release. It seems to work fairly well for them, and through that system they've had three releases (2.1, 2.2, 2.3) during the year 2007, and have 2.4 scheduled to be released at the end of January.
While I'm not necessarily saying that we need to have new phpBB releases every four months, which, granted, may be a bit frequent (especially to us phpBB users which aren't used to very frequent releases; heck, we haven't had a phpBB2 release in a full year!), I am suggesting that perhaps the teams should be a bit more open. I can understand the rationale for wanting to make a release date of "it'll be released when it's ready," but then who's to say when it's ready? Quite frankly, you can keep going with development forever; it just takes the will to decide when to stop developing and release something. What I think the development team should do is come up with a strategy, similar to how WordPress did, to make sure they don't go and repeat what happened to phpBB 2.2. I think it would be good for them to publish a "target window" as a projected release date, and then try their best to meet that target. Obviously, they could state that the target windows were only possible goals and completely subject to change, but I think that if the community at large could have a general idea of what to expect and the teams could have some idea of knowing when they should stop coding and start releasing, we would be able to see a more frequent release schedule for phpBB and not see phpBB3's codebase age the way that phpBB2's has.
Anyway, that's just my own thoughts and opinions. What do you think about that idea?


















