[{"document_url": "https://brian.teeman.net/web/149-open-source-release-dates", "unformatted_src": "/images/articles/725ab2e5536ce3eac0a8dd17d083ff4e.jpg", "src": "https://brian.teeman.net/images/articles/725ab2e5536ce3eac0a8dd17d083ff4e.jpg", "formatted_filename": "ab e ce eac a dd d ff e", "alt_text": "release early or release when ready - it's a balance", "rendered_width": 790, "rendered_height": 420}, null, {"document_url": "https://brian.teeman.net/web/149-open-source-release-dates", "unformatted_src": "/images/hidden_joomla_secrets.jpg", "src": "https://brian.teeman.net/images/hidden_joomla_secrets.jpg", "formatted_filename": "hidden joomla secrets", "alt_text": "Hidden Joomla Secrets", "rendered_width": 255, "rendered_height": 144}, null, {"document_url": "https://brian.teeman.net/web/149-open-source-release-dates", "unformatted_src": "/images/joomla_training.jpg", "src": "https://brian.teeman.net/images/joomla_training.jpg", "formatted_filename": "joomla training", "alt_text": "joomla training", "rendered_width": 225, "rendered_height": 127}, null]
Open Source release dates


Release early - release often or release once when it is ready?

It is often quoted that an open source project, like Joomla, should release early and release often as this is the best method to find bugs and provide new features.

However I believe that is an overly simplistic approach and does not translate to real world use in all but the simplest, single use projects and definitely not for Joomla.

As soon as you have a piece of software that third parties extend and build upon you run into serious issues.

Imagine this scenario.

(Note you might need to read this a few times to fully understand - but I've tried my best)

Organisation A selects application B to build their new community web site. Application B provides the basis for the site but they also use add-ons C, D & E from third party developers and do a little coding of their own as well.

Two months later application B releases a new version, B+1, that addresses several bugs, changes a few functions and introduces a few new features. Now organisation A needs to upgrade to B+1 as they have been effected by the bugs but unfortunately some of the changes in the functions effect add-ons C & D and they stop working. Add-on C is quickly updated to C+1 but add-on D is slow to update. What does A do now? Do they drop D?

Organisation Z is in a similar situation but they decide not to upgrade to B+1. However a few bugs have come to light in add-on C and they have been fixed in C+1 but that requires A+1. You don't really expect the developers to build and maintain for multiple versions do you? What does Z do now? Do they drop C?

Complicated isn't it.

Do users want a stable platform to build on or do they want bleeding edge features?

So what do some of the larger Open Source projects do?

Can we really compare those big Linux distributions with something like Joomla? I believe that today we can. Joomla is no longer the home of the hobbyist web site builder but is a platform for companies large and small to build web applications upon.

What about closed source applications? How often do they release new versions?

(Note here that I am talking about new versions and not bug fixes)

Microsoft has typically aimed to release a new version of its applications (not operating systems) every 12 months but most other large closed source applications release less often.

Why? Because their customers don't like it.

So what is my conclusion.

Three options really:

My personal choice would be option 2. I know my users would prefer a stable and secure platform than something bleeding edge. They don't mind applying security fixes or bug fixes but they don't want or need new functionality every month.

What about you? What do you want and need?
It's a difficult balance isn't it!

