On Wed, Jan 23, 2013 at 9:56 PM, Stas Malyshev <smalys...@sugarcrm.com>wrote:

> Hi!
>
> > I asked many native speakers and all understood it as "when 5.5.0 stable
> > release will be announced".
>
> I didn't even think it may mean anything else until I've read this
> thread. I don't think any significant number of voters understood it
> this way, it's sound kind of weird - why would we want to keep releasing
> 5.3 a year after we stopped releasing 5.5?
> --
> Stanislav Malyshev, Software Architect
> SugarCRM: http://www.sugarcrm.com/
> (408)454-6900 ext. 227


Long answer:

The terms "final" and "terminal" tend to be very loosely defined in the
general sense.  You have to look at it in the context of a given project to
see how they're using each.  Context isn't unique to English, of course.

This particular question seems to break down into two parts:

1. In the case of PHP core, "final" has always (as far as I'm aware, at
least) referred to the production release immediately following the release
candidates.  It does not in any way imply that it will be the last (or
"terminal") release for its parent increment.  For example, "5.3.3 final"
means that it's the production release of 5.3.3; it does not mean that it's
the last increment of 5.3.

2. When a new minor increment is released (i.e. [major].[minor].[build]),
we tend to leave off the ".0" at the end on this project.  Therefore, when
somebody refers to "5.5 final", what they're really saying is "5.5.0
final", which refers to the production release of 5.5.0.  This doesn't
cause any confusion because we're consistent on this; i.e. if we were doing
something like "5.2" followed immediately by "5.3.0" then "5.3.1", that
would pose a problem.  But since "[major].[minor]" on this project always
refers to "[major].[minor].0", it's not an issue.

In other words, what we're saying is it's the final (i.e.
production/post-RC) release of 5.5.0, not 5.5.  Our production releases are
tethered to the build increment, not minor.  As I understand it, "final"
refers to an increment corresponding to an actual release while "terminal"
refers to an increment that merely serves as the parent of releases but is
not a release in and of itself.  Make sense?

Therefore, if we say "5.5 final", we're referring to the production release
of 5.5.0.  If we say "5.5 terminal", we're referring to the last build
increment release of 5.5 (for example, if 5.5.12 was the last build of 5.5,
then "5.5 terminal" would refer to it while "5.5 final" would still refer
to 5.5.0).


Short answer:

The terminology context is well enough established here that nobody should
have been confused as to this RFC's intent.  So long as the RFC's wording
conforms to these known standards, which I believe this one does, then it's
the responsibility of the person voting on it to make sure they know what
they mean before casting their vote.

--Kris

Reply via email to