Hi Chris,
> I'm just curious about the naming scheme. Is there any particular
> reason for going with a straight linear versioning system rather than the
> stable/unstable versioning system used in so many open source projects?
I may be wrong, but I didn't get the impression that this (minor
version even -> stable, minor version odd -> unstable, for those of
you who aren't tracking any other free software projects) was common
practice before the first stable feature-complete release (which is
supposed to be 1.0.0, although the definitions of both 'stable' and,
especially, 'feature-complete', can be a matter of opinion)
> I'm
> not advocating either one, version numbers aren't really very important in
> my mind as long as they are reasonably interpretable, I'm just curious.
Well, the original idea was to use minor versions as turning-points in
development (after all, everything was very unstable back then). IIRC,
0.1.0 was the first release to support all SCI0 decompression algorithms
and feature graphics drawing operations for all graphical stuff, 0.2.0 had
what I believed to be full support for anything but running scripts, and
0.3.0 marked the point where all kernel functions were implemented and
reasonably stable (Yes, this is not quite true. DoAvoider() was missing (I
didn't know it actually did something back then, so I guess I have an
excuse for missing it for /that/ release ;-) and the debug functions were
missing, too, but they're never used outside of the built-in debugger
anyway (AFAIK)).
Those three were pretty straightforward. The next obvious thing was a
stable release with SCI0 support; and 0.5.0 as a version number appeared
to be sufficiently "special" for a stable release. A "FreeSCI 1/2" with
full SCI0 support (No, dousing it with hot water wouldn't turn it into an
SCI1 interpreter), and later a FreeSCI 1.0.0 with SCI0 and SCI1 support
was the original master plan. "Feature-complete" obviously was intended to
mean SCI0 AND SCI1 here (I considered SCI32 to be beyond the scope of the
FreeSCI project).
So 0.4.x needed to be filled in, and it appeared to be relatively sensible
to make that a beta release series. The badly performing graphics
subsystem and missing sound support in 0.3.0 made a convenient excuse for
not making 0.3.x the beta releases, so everything fit into place.
llap,
Christoph