Emmanuel Lecharny wrote:

Hi Trygve,

On 7/7/06, *Trygve Laugstøl* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    If you have a RC that is not of final release quality you should really
    use another name than RC. If it really is that unstable it should still
    be marked as an unstable release.

    Release candidates usually means that "This is what I would like to
    release, please test it and if everything is ok we'll rename it to 1.0"

    --
    Trygve


RC are really suposed to be release candidate, not final. A RC can be found unstable because a bug has been found in it. We are not igniring major bugs, and we really try to cut a new RC when all the current RC major bugs are closed. If someone download a RC, and found a bug, perfect : we are on our way to a new RC.

The problem is that we may invent new names like GA, or whatever, but it won't change the process : - while all the major functionnalities are not into the product, it's a 0.X version - when we have gathered all the makor functions into the product, and when all the running major bugs are fixed, we deliver a 1.0-RC1

I see that we have a rather different view on the meaning of the names here, but normally that's when people start to deliver alpha and beta releases.

You are already using the Linux versioning with odd numbers beeing unstable releases. But you seem to have skipped the part where they rename the last odd release to a even version number when the odd branch is concidered stable.

Usually an RC is a statement saying "This release should not contain any major bugs and should be production quality." but you are now definining it to "This release is supposed to be stable but it may still contain bugs". That is at least the impression I'm getting from what I've gathered from the list. If this is not true I would have expected you go to back to releasing 0.9 versions until the product is of release quality.

- then, users simply use it a different way we do. They fill JIRAs, attach patches, and we fix them. We don't add more features, we just fix minor ones in the mean time. - at a point, we successfully closed all the major issues : time for a new RC - after a few iterations, we may think that the version is stable enough to be labeled 1.0. It takes time because it's not just a question of code, but mainly documentation, minor fixes, performances tests, regression tests, and so on.

A RC should definitely include the entire package that's supposed to be released, it is after all called a release *candidate*.

FYI, RC3 was supposed to be stable enough 3 weeks ago, then while doing intensive tests, we found a major performance problem, and a major memory leak (not likeley to be found before you insert more than 100 000 entries). Call it unstable, but only because the unstability factor has popup.

So I think we comply with the "please test it" spirit. And be sure that the next RC (RC4) won't be the last one. We have a RC5 in mind because we need to improve the documentation, and because many little bugs need to be patched (an exemple of what is a little bug : if you use the LdifReader class, it won't accept a file which does not end with two \n : this is a bug, but it's not blocking. Users shiuld only be informed on this limitation. We may differ the fix until the next RC)

Again, how can you call something a release *candiate* if you do not expect to release it? You should definitely go back to 0.9 or start creting beta versions.

I hope my opinion is shared, I also may be totally wrong, but, however, this is always the same MTBF problem :
 * a program is correct until the next found bug

Everyone is entitled to a opinion of course, and each project define its own naming schemes which is fine.

But when you do not have a public page describing the naming of the releases and you naming that is commonly known to be stable you should take a look at your own naming scheme.

If you take a look at [1] you will see that you have annouced the RC1 release (where are the other two releases) without saying anything about this not beeing the (hopefully) last release before 1.0. The normal way of trying out a RC candidate is to try to run it in either production or a production-like environment, see if it works and report back any results (positive or negative)

[1]: http://directory.apache.org/subprojects/apacheds/releases.html

--
Trygve

Reply via email to