'Useful' releases are a good metric
'Useful' releases are a good metric
Posted Aug 7, 2009 10:44 UTC (Fri) by chromatic (guest, #26207)In reply to: 'Useful' releases are a good metric by epa
Parent article: "Useful and usable" Perl 6 release coming in April
We can predict neither volunteer availability nor unforseen difficulties in adding features, so we don't schedule releases based on the availability of features. Any "milestone" is "it's been a month since the previous release and this release is better than the previous release".
We release new, tested, stable versions of the software we create every month so that we keep trunk stable, work in small steps, and work to a cadence that results in frequent improvements made available on a reliable schedule. We don't play games with version numbers and alphanumeric qualifiers such as "alpha" or "pre-alpha" or "release candidate". We don't maintain several simultaneous branches for "testing" and "stable" and "really stable" and "development happens here, ripe for cherry picking."
In short, *we release software* -- once a month, every month, every release a little more featureful, a little less buggy, a little faster, and a little more polished than the previous.
As Patrick mentions, the words "useful" and "production" have tremendous overloading in English. The word "finished" is all but meaningless when applied to software. His prediction is that the iterative improvement cycle of Rakudo's releases will produce software that is useful for a lot of tasks by April 2010. The May 2010 release will be better yet, and so on, and so forth.
Posted Aug 8, 2009 11:01 UTC (Sat)
by epa (subscriber, #39769)
[Link] (2 responses)
You are right that qualifiers like 'alpha' and 'production' have all sorts of overloading. But then so does 'stable': in some people's minds it implies 'the API is complete', or 'guaranteed backward and forward compatibility', neither of which apply to Rakudo. That is why you can rub people up the wrong way if you talk about 'stable releases' in a way that doesn't match their expectations.
So I think it would be better to just point out that a new Rakudo release is made regularly, and each release covers more of Perl 6 than the last, although there is not yet a complete implementation. Leave others to decide whether it is 'stable' or 'production' or 'useful' according to their own criteria for those terms.
I expect that when Rakudo implements all of Perl 6 and/or people start using it for production applications, you will start to need separate 'maintenance' and 'new development' branches. You might even say that when a program reaches that stage of development, it can be considered stable.
Posted Aug 9, 2009 15:53 UTC (Sun)
by pmichaud (guest, #60150)
[Link]
I agree fully. As I've said in other forums, I have no intention of ever using the word "stable" in association with Rakudo releases. I think "stable" has to be determined within a given context, and even for something like Perl 5 (that has a 15+ year history) the word "stable" can be quite misleading. So yes, we'll focus on what Rakudo can and cannot do, and try to make it as easy as possible for others to decide if Rakudo is stable enough for their purposes. Pm
Posted Aug 16, 2009 14:13 UTC (Sun)
by efexis (guest, #26355)
[Link]
'Useful' releases are a good metric
Neither Rakudo nor Parrot gets released without passing their test suite on all target platforms. Hence "stable".
I see. Normally, I would not expect any software to be released without passing its test suite, even in an 'unstable' release. But I understand where you get the term from.
'Useful' releases are a good metric
So I think it would be better to just point out that a new Rakudo release is made regularly, and each release covers more of Perl 6 than the last, although there is not yet a complete implementation. Leave others to decide whether it is 'stable' or 'production' or 'useful' according to their own criteria for those terms.
" in some people's minds it implies 'the API is complete', or 'guaranteed backward and forward compatibility', neither of which apply to Rakudo"'Useful' releases are a good metric
And neither can you keep horses in it, which threw me at first... I think most people share neither interpretation though, with "stable release" and "stable across releases" meaning different things (such as API is stable across releases, so changing which release you use won't break things, as opposed to a stable release, meaning it itself won't break things, doesn't have memory leaks or hay in the corner... oops back to horses again).