A decision has finally been made regarding the release of Ardour 3.0. First, some general stuff.
The open source world typically offers two models for integrating development and release of a piece of software. One is the so-called “rolling release” model, which features frequent new releases which typically do not contain substantial changes to the functionality of the program, although if the program is still being developed these changes must appear from time to time. The other one is more similar to what happens with proprietary software, and features less frequent new releases with each new release containing substantial new functionality and/or bug fixes. There are extreme versions of each of these approaches, and less extreme versions which blend different mixtures of the two.
Audio software users are notorious for their use of out of date versions of their favorite software, generally defended on the grounds that “I know it works (and what is broken)”. Although this depressing as a software developer, its a fact of life that we have to deal with - people are reluctant to move on from something they think they know and understand to something that may break their existing workflows or do things in ways that they do not understand or appreciate.
When a project uses the “major release only” model, it becomes important that development work as a new release gets close should not break existing functionality. Nobody wants to fix a bug and in the process cause 3 new ones. This is why Ardour has frequently gone in to “feature freeze” mode as a new release draws near - its a way to increase the likelihood that things continue to improve (or at least, remain as they are) in anticipation of a release.
The problem with this approach for developers is that it can cause relatively long periods of stagnation in which novel, cool work is not supposed to be taking place. It is true that with modern software development techniques, this can be avoided to some extent by using “branches” for the development of new features. Even so, if the feature freeze continues for too long, and the intent is to just fix bugs, development can slow down to a trickle. This is particularly true of a project like Ardour which really does not have the human resources available for development that a proprietary project might have. It is my assessment that Ardour 3 has reached this point - development has stagnated because all new work is “on hold” pending the release of 3.0.
So, with all this in mind, there is a conundrum: in order to keep development active and new (useful) features flowing through the development platform, not to mention fixes for bugs that require deep architectural changes, it is desirable to use a rolling release model. But in order to give our users some sense of stability and to increase the likelihood that when they upgrade they will not discover some new issues, periodic major releases are better.
This problem has not been solved. But in lieu of solving it, I have decided that Ardour 3.0 will be released in the following way:
- There are two outstanding "bugs" that will be fixed:
- Automation curves end up with incorrect shapes under common conditions
- Import of Ardour 2.X sessions is not sufficiently functional
- Once these two are adequately addressed, Ardour 3.0 will be released for Linux.
- An OS X beta will be made available. An official release will not occur on OS X for at least a month after the Linux release. The only reason for this is the lack of testing on OS X. I simply do not have the confidence at this time that we do not have basic issues still to address on that platform. Once we have adequate feedback on 3.0 on OS X, it will be released for that platform too.
- Once Ardour 3.0 has been released, work will begin immediately on features slated for 3.1 (and beyond) which notably will include Robin Gareus' video timeline.
- After the release of 3.1, Ardour 3 will use a release approach closer to "rolling release" than "major releases", potentially bringing out new versions twice a month (though that remains a case-by-case decision)
Ardour 3.0 has been in better shape for audio than Ardour 2.X for some time, although some people use a workflow that seems less stable in Ardour 3.0. Ardour 3.0’s handling of MIDI is far from the condition I was hoping it would be at release, but nothing is being gained by delaying release any further.