Brave new (1.0) world.
Geoffrey Broadwell
geoff at broadwell.org
Thu Feb 19 21:07:11 UTC 2009
On Thu, 2009-02-19 at 12:14 -0800, chromatic wrote:
> Here's the fundamental problem. You and everyone else are taking baggage from
> who knows how many other separate projects and trying to cram all of those
> different things into a single version number. Please stop. All it does is
> sow confusion.
No one was confused, until the PDS ... when y'all decided to break with
*Parrot* tradition, which happened to align with all of that other
baggage.
> *That* is the only binding set of rules as to what this all means, not what
> the Linux kernel or Apache httpd or FreeBSD or whatever other project does or
> how they choose numbers.
Sure. But let's be honest here -- if our "binding set of rules" differs
in a major obvious way from most of the other major projects in the FOSS
world, it will sow confusion. Proof: Will is already confused. ;-)
> We release a new stable version every month, based on elapsed calendar time,
> not feature set.
>
> We have two deprecation boundaries every year, based on elapsed calendar time,
> not feature set.
Yes, agreed entirely.
> Version numbers reflect elapsed calendar time, not feature set.
>
> If there's been only one commit to Parrot in a month, and if that commit
> leaves Parrot passing all of its tests on all of its core platforms, we'll
> realease a new version anyway, because even a single commit is visible
> progress. We'll also bump up the version number, because version numbers
> reflect that version x + 1 is an improvement over version x. That's all.
OK, that's fine. I think it throws useful information away ... but I
don't care *enough* to fight that. (Please don't construe the stuff
below as continuing to fight your basic decision -- but I do believe I
left some misconceptions that I'd like to clear up.)
> (The reason version numbers in the long term roadmap are n.0 and n.5 is
> because we couldn't quite agree that version numbers of the form 20090417 were
> better than 1.0.)
Fair enough. Then please, rather than n.0 and n.5, use n.0 and (n+1).0;
reserve the second digit *purely* for the monthlies. At least then we
can salvage some useful structural info if we're not going to have birth
date info.
> > It may be numerology, but it's numerology with fairly strong conventions
> > -- and thus provides a useful cognitive structure for communicating our
> > intent with each release.
>
> *What* intent is that, beyond "We've improved Parrot beyond last month's
> release. You should upgrade." ?
Any of:
* Monthly progress; some bugs fixed and minor backwards-compatible
features added, upgrade should be always a win
* Deprecation boundary; backwards-incompatible changes have happened;
upgrade may require more work than just re-running your test suite
* Major new features; expect more puppy dogs and rainbows than before;
you may need to do significant work to make use of new shiny bits
Knowing that kind of info at a glance seems useful to me. I respect
that you disagree.
> > I can't speak to the other projects, though; they may indeed be blocked
> > by hard-headed feature requirements. Personally I think parrot's
> > requirement should be "*some* set of big important features is ready",
> > not "this *exact* set of features is ready".
>
> We haven't had that criterion for multiple years -- years in which we've
> successfully released a new version of Parrot within a day of the target every
> month. It'll take a lot of convincing to change my mind, at least, that we
> should drop something that's worked so well.
I was not clear; I meant that we should stick with our old rules. I was
not satisfied with the new concept of a milestone, and thought we were
doing pretty well with our versioning so far. I was also saying that
strict adherence to a fixed feature set was not my goal -- and
incidentally I don't think it had been true for the project in the past.
-'f
More information about the parrot-dev
mailing list