[development] Choosing the N number for .install's hook_update_N
morbus at disobey.com
Thu Aug 7 16:57:28 UTC 2008
> What other software has the very first digit go up and the feature
> set go down? I'm surprised to hear you have this expectation, and
> I'm curious how wide-spread it is.
I agree with their statements - it's my
same rationale for agreeing with Earnie.
As a developer, the use of 5.x and 6.x wasn't *my choice* - it was
placed on me (rightfully and logically) by the Drupal package management
system. When I develop, the world revolves around my module, not Drupal.
When my module is "2.0", it's a "major" thing in my software
development mentality. The fact that it happens to be compatible with
Drupal 6 is an install pre-requisite, not embedded into its version number.
The display of versioning information on d.o makes it very very easy to
make a conceptual leap that "5.x" and "6.x" are only /prefixes/ that
tell me what version of Drupal core there is. I visually ignore that
info when I'm scanning down for module versions - I want the latest
version of the *module*, not the latest version of Drupal core and then
This is the expectation of a lot of users - people talk about "Views 2"
not "Views 6.x-1.0" (which doesn't exist, and which nicely demonstrates
the huge API changes, and confusion, inherent in naming Views the way
that Freso and yourself are promoting).
> One example out of thousands: PHP went from 4.4.* to 5.0.* and no one
> thought "0 is smaller than 4, this must be an older feature set --
> where can I find 5.4.*?"
To flip the question: how many other pieces of modular software (which
require a parent application) use the same versioning system you're
promoting: that 5.x-2.0 becomes 6.x-1.0?
The problem with your PHP example is that you're only comparing PHP to
PHP - you're not comparing an extension of PHP (read: a module for
Drupal). Looking at any random extension, say, eaccelerator:
we see that it doesn't follow the proposed version string rationale.
It's not PHP-4.x-9.5.2 and then PHP-5.x-1.0.0 - it retains its own
version string that is independent of the parent application - 0.9.5.2
is for PHP 4, and 0.9.5.3 is for PHP 5 (Note: work with me on this
example: since eaccelerator doesn't have a version 1 *at all*, I had to
fake the values a bit to fit the example).
Morbus Iff ( putting the sanity back in sanity )
Enjoy: http://www.disobey.com/ and http://www.videounderbelly.com/
aim: akaMorbus / skype: morbusiff / icq: 2927491 / jabber.org: morbus
More information about the development