What’s in a name?
John Gruber takes on the abuse of the word beta:
Released software that is labeled “beta� is still released software, and is fair game for the same level of criticism as any released software. You can’t “semi-release� your 1.0 just because you want it out there but aren’t yet finished. Being semi-released is like being semi-pregnant.
I’m always amused by generally released “beta” software. As he points out, if it’s commercial software, and you’re giving away the beta to increase your test pool, then that might be a different thing. But if you charge for it, then we have a problem.
I’ll also note that I absolutely hate the open source behavior of releasing 200 0.x releases before never actually reaching 1.0. If you release it, and it’s even vaguely useful—and why are you releasing it if it’s not—then it’s a 1.0 release. 1.0 means it is your first release. That’s where the numbering starts. I feel like open source software often has a version number asymptotically approaching 1.0, but never actually reaching it.
This entry was posted at 9:19 am on 14 November 2006 and is filed under Technology. You can follow any responses to this entry through the post-specific RSS 2.0 feed.
You say,
”...if it’s commercial software, and you’re giving away the beta to increase your test pool, then that might be a different thing. But if you charge for it, then we have a problem.”
Why does “charge for it” link to Apple’s website? Are they an illustration of “beta”-labeled software being charged for?
The only beta releases from Apple I can think of are Boot Camp, Safari 2.0, and iSync – none of which they charged for. Did I miss the joke?
Apple charged for their Public Beta. It was $29.95. It’s hardly the most egregious example, but it is something that cheesed a lot of us off, given how shaky that first release was.
Funny, I actually changed the versioning scheme for iStumbler based on this particular issue. After several releases approaching 0.8 I released that there weren’t enough dot releases left so I just tagged the next one as ‘Release 82’ and kept going from there.
Not all of them approach 1.0:
http://en.wikipedia.org/wiki/Pugs#Version_numbering
“1.0 means it is your first release.”
I can’t stand this mentality, personally. 1.0 in my mind is the first release that you’re willing to stand behind and say ‘this is good for everyone’. I’ve had enough of halfassed 1.0s.
Version numbers have another socially-constructed meaning as indicators of compatibility.
To the extent that such a consensus exists at all, major version number changes are where you are ‘allowed’ to introduce backward-incompatible changes.
So from that perspective, pre 1.0 releases have not yet committed to a stable API.
I agree that this is one meaning of the traditional X.Y.Z (major.minor.patch) versioning system, however I generally think that it’s been a cop-out in many projects to avoid having to commit to anything. Take OpenSSL, for example, which has been in production use for many, many years, and still hasn’t gotten to 1.0, even though it now couldn’t even begin to change the API in any significant way.
Alf, 0.8 is followed by 0.9, which is followed by 0.10 and then 0.11, and so on.
Chris, no argument there. Any convention can be abused.
Michael, I think the whole use of decimals (0.10) but not in a way that is like a decimal is very confusing. In fact, I can remember lots of discussions in the FreeBSD community many years ago about this very fact. It’s counter-intuitive to non-developers. How is 0.10 different than 0.1, from a mathematical perspective—something most people think in when they see decimals. And is 0.10 to 0.11 a smaller update than 0.9 to 0.10?
It’s just counter-intuitive unless you just pretend that a decimal is “just punctuation” when it’s between numbers, something that isn’t immediately obvious. I’m actually a fan of the single-digit release model.
Hah! I just checked the OpenSSL site, and the project has always had versions at 0.9.x, for the whole 8 years it’s been in existence. The very first release in ‘98 was 0.9.1c.
That is completely ridiculous.
Heard about TeX’s version scheme?
http://en.wikipedia.org/wiki/TeX
The numbers asymptotically approach pi. Sure, it’ll go on forever but at least they’re honest and upfront about it.
What’s interesting about TeX is that it’s effectively been stable for years and years. If I remember correctly, the last release was in 2002. As far as I know, there have been no bugs discovered since then. The total list of bugs, is actually less than 400, I believe, in the entire history of the package. It’s truly a piece of excellent engineering.
Chris, the dotted decimal convention can be confusing, no doubt about it. But so are many conventions from other communities (case law references, for example).
And obviously, major.minor is more confusing than major.minor.patch, which more clearly hints that the ’.’ isn’t a decimal point.
However, the main reason that these conventions are confusing to those not yet initiated into their mysteries, is because they aren’t used with much consistency.
Version number deflation and inflation are both culprits here, and so are version names based on years or cryptic initials, and of course we also have to deal with release nicknames.
I’m not sure any widely accepted version naming/numbering scheme will ever emerge, but if/when one does that users only ever have to learn once, then it won’t matter how counter-intuitive it is at first glance.
The discussion about 0.1 vs. 0.10 comes, precisely, from thinking the numbering has anything to do with decimals.
It’s actually related to domains (or sections), as in a scientific paper.
1.-Main subject
1.1.-First Child subject
1.1.1.-First child of the child subject
1.10.1.-First child of the tenth child of the main subject.
No decimals involved. It’s using the same numbering scheme laws, scientific papers (and hey, even word’s index rules, if you want).
The moment you have to separator it stops being a decimal, so there shouldn’t even be an argument.
Eduo, I know where it comes from, I’m simply saying that when I work with the average user, they don’t think of it that way. When you’re talking about computers, the context in their brain thinks “math” not “section headings”, and so the way they interpret the number is different. This is the danger of context-dependent overload of meaning.
We can sit and rationalize that what we are doing is “completely logical,” but that is the slippery slope that bad UI comes from. Being consistent with our own reasoning is pointless. We must be consistent with the user’s reasoning.
[...] Yup. There are still people releasing v1.0 directly. no 0.x.x or beta. ;) ↩ [...]
Responses are currently closed, but you can trackback from your own site.
Come now, the *nix way has always been to start counting at zero. :)