In association with heise online

31 December 2008, 16:24

When should open source projects release?

When they're done or on time?

Dj Walker-Morgan

Over the past few years, scheduled releases of open source projects have become the norm. Projects tend to release new versions according to a regular schedule as opposed to releasing when the developers consider all the work proposed, has been completed.

Releasing "When it's done" is based upon the simple proposition that if you only release when you think the software is complete and usable, then that release will be of higher quality. How a project makes that decision of completeness would be up to the project; an active benevolent dictator's project could be simply decreed complete, while a larger community project may use voting or other feedback, to create an aggregate decision. Whichever way though, there will always be the possibility of issues missed, or downgraded without the community noticing and therefore holding up the release while those issues are fixed.

More seriously though, when software goes through a major feature revision, feature creep can enter into the process, where the developers want to keep adding functionality to "get it in the next release". This can lead to the "eternal beta" problem, where there is an older more stable release and a new enhanced beta, which will be released just as soon as one more feature is added, or when a bug in a recently added feature is fixed. There are numerous projects that go into this rolling, feature-creep phase and after a while, the disparity between "The next version" and "the current stable version" leads to frustration in the users of the current version, sometimes this is enough to make those users look elsewhere.

Another problem is when there is a project community who get a stake in deciding when a project is ready for release and the community find the very basis of the project a matter for debate. Take the recent Debian Lenny 5.0 controversy; back in September there was hope that the release would be soon, but then a debate emerged over whether Lenny should include "non-free firmware". The debate then degenerated into a argument over the very nature of the Debian project (see also: Ts'o calls for pragmatic Debian). Lenny has yet to get a firm release date.

It takes a lot of discipline for developers to decide a project is done and release a new version. An alternative approach is to follow a regular release schedule. By saying "We will have a release at a set date", there is no question of whether there will be a release. The only question is what will be in that release.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit