What Version of FreePBX Should You Use?
With 6+ years under our belt and releases that started as AMP followed by FreePBX versions 2.0 - 2.8 and now 2.9 underway, there are a lot of versions floating around out there that may make you wonder, "what should I be running?" This question is complicated by the fact that different FreePBX distributions tend to move slower than others in adopting new versions of FreePBX, with varying reasons why they each move at their own pace.
Given this confusion, I'd like to shed some light on our perspective and general approach to managing the various releases. I'll start by quoting a comment I read the other day in a forum post that may imply some of you are mis-interpreting the bug tracking data and thus possibly making decisions you did not intend to. The user commented that:
"The other thing that sort of puts me off [upgrading] is the relatively high number of (so far) unaddressed bugs (see http://www.freepbx.org/trac/query?st...&group=version and note the relatively higher number under the 2.8 branch"
What does it really mean when you see bugs listed under a given branch? As a general rule, when a bug is reported, it is reported against the current branch and when not, if the bug exists in the current branch, it is often reassigned to that branch. The reality that we find is the majority of bugs reported in the current branch (and earlier) are bugs that have existed in many earlier versions, often going back years. Our normal process with bugs is to fix bugs in the current release and very rarely do we back port those fixes to the previously (supported) release or earlier ones.
The time that we see the most bugs being reported is when we are actively engaged in a beta/RC cycle. This activity prompts large numbers of the community to proactively look for issues and as a result, there are typically large numbers of bugs uncovered during these periods. We find that significant portions of these bugs exist in previous releases, though more often then not, they are never applied back to either of the currently supported releases unless they are determined to be significant. (When a bug has been sitting around for years un-detected/reported - it is usually not very significant).
What does all this mean? This approach is taken for a good reason; If the bug has been lurking in the code for so long un-reported, it's probably best we not perturb the current releases since any bug fix always has a chance of breaking something else in the process no matter how careful we are. However, these very facts violate that premise assumed in the user's quote above. The reality is each new release of FreePBX usually contains many less bugs than older releases. If that is your priority, you are usually better off moving forward. If you have a system that works and to your knowledge, there are no new features available in the new releases that you care about, then there is always prudence to "if it isn't broken, don't fix it!" However - I suspect most of you who have not poked around the new releases may not really know what awaits you for features that you didn't know you really wanted!
The one exception to back porting bug fixes is with Security Vulnerabilities. Although I can assure you that 9 out of 10 such vulnerabilities reported to us are very insignificant and very low risk, we still back port them to many earlier releases. Up until this point, we typically back ported such security patches on all versions back to 2.3. Given the age of these older releases, and the busy work that is involved in updating them, we've decided to limit the number of releases that will be updated with security patches to 2 releases prior to the currently supported versions. At this time, that means we will back port security issues to version 2.5 and above since the currently supported releases are 2.7 and 2.8, unless we determine that a vulnerability is serious enough in which case we may supply updates to earlier releases as well. Versions prior to 2.3 have not had any updates for quite some time.
I hope this helps you better understand what we maintain in what releases, how to better interpret the bug tracking system and realize that our latest releases are typically the most stable and have the fewest bugs in them, contrary to many other software products out there.
Philippe - On behalf of the FreePBX Team