[lug] distribution favorites?

Nate Duehr nate at natetech.com
Wed Nov 15 01:45:32 MST 2006


Sean Reifschneider wrote:
> On Tue, Nov 14, 2006 at 04:38:40PM -0700, Kevin Fenzi wrote:
>> release, version 6.06.1, is the current LTS version of Ubuntu, and is
> 
> Gah!  Why is it 6, 06, and 1?  Is the middle number octal?
> 
> I freaking hate it when people use 1 digit for the minor and micro version
> numbers.  Is 6.06.1 greater than, smaller than, or equal to 6.06.5 and
> 6.06.10?

I don't know Ubuntu's plan for their numbers, but our shop uses an 
x.xx.x numbering system, which would probably bug you Sean.  Sometimes 
it bugs me, but I'll share, just for fun and analysis.

In our shop, it's carefully defined, though, as to what each digit 
represents.

If the numbers are 1.23.4 for placeholders, each place means:

1 = Major release, huge functionality and system-wide changes.
2 = Release that requires DB schema changes.  The DB is really important 
in our system.
3 = Major feature change(s).
4 = Re-release for security or other patches, and minor bugfixes to 
existing functionality.  No functionality changes allowed in these.

2.50.6 is the sixth minor bugfix release for 2.50.0.

An upgrade from 2.50.6 to 2.70.0 requires downtime for the DB schema or 
engine to be upgraded.

2.50.6 to 3.00.0 is probably so big, you're going to have to get new 
copies of our API's, look over any code that's integrated with it, and 
generally make massive changes to how you operate because the base 
system is very different.

Our real 2.70.0 release somehow got out and broke the rules and required 
major API changes.  Because of that and other reasons, 2.70.0 was pulled 
from the field while it was in a Limited Release, and customers were 
asked to go up to 3.00.0 since there was no 2.8, 2.9, etc.

Clear as mud, eh?  But I kinda like it.  It grows on you.  The "DB 
Schema change" level could really be anything that's core to the system.

Personally I would have put the missing decimal place in there ...

2.5.0.6 makes more sense overall, and reminds me more of hierarchical 
systems like DNS.  Why they decided to leave out the middle decimal 
point, I don't know.  But that was decided back in the late 80's or 
early 90's, so... it's quite "entrenched" now to keep it the way it is.

When you have things like this that change the number of significant 
digits between a marker:

1.9.1
1.10.1

That starts to get weird.  We never do that.

In extreme cases, we've added a letter to the end if we run out of 
numbers or need another differentiator.

2.13.1f might be an example of that.

Don't ask, using the letters is a leftover from when we might have more 
than one release of (using that example) 2.13.1 -- which we rarely 
(hopefully never) do nowadays.  Haven't seen one of those in many years.

All these numbering systems can get very odd, if there's no written down 
rules published for your particular scheme!

Also in our system, there's no requirement to release (to the public) 
say, 2.50.1 through 2.50.5 -- they might be built, tested, and fail 
in-house and never make it out the door.  Each successive build with any 
changes requires a new number, internally... kinda.

The number is actually a CVS tag that gets added at the point a pile of 
changes is done, they all work together, and they're ready to possibly 
go out the door to a customer -- the day they're built together, is the 
day they get tagged, and then they go to the QA lab for testing.

The day they get through QA testing, and if everything passed and 
everyone on a Change Control Board agrees and signs their name to the 
release documentation, that's the day the software can be given to a 
limited subset of customers under Limited Availability.

After a few successful production/field deployments that version becomes 
a General Availability release.

As new GA releases come out, older ones are notified of their impending 
EOL (end-of-life) date, upon which maintaining a service contract on it 
becomes a much more expensive contract.  (The older it gets, the higher 
the price, usually.)

We'll continue supporting something forever if paid enough to make it 
worth doing.  Upgrades are generally free if a service contract is 
maintained, including a Field Engineer if the upgrade can not be done 
remotely.

Nate



More information about the LUG mailing list