[plt-scheme] proposal for indicating planet package version numbers

From: Grant Rettke (grettke at acm.org)
Date: Sun Aug 31 13:03:55 EDT 2008

Hi Neil,

On Sun, Aug 31, 2008 at 11:00 AM, Neil Van Dyke <neil at neilvandyke.org> wrote:

> What I find illuminating is the desire of people to get rid of non-PLaneT
> version numbers altogether.  That would explain the desire to use "." in the
> PLaneT version numbers: these people care only about PLT Scheme

Oh that is a rather harsh insinutation Neil! There isn't any
conspiracy going on here. Seriously :).

What I see is a group of folks, all of whom have *different concerns*
that are addressed by *a single technology* (PLanetT) trying to figure
out the right move to make based on both those shared interests and
technical limitations.

> However having only PLaneT version numbers is not well-suited to the needs
> of people who might want to use and contribute to Scheme implementations in
> addition to PLT ones.  If you hide the non-PLaneT version number and make
> the PLaneT version number look like a non-PLaneT version number (by using
> "."), that creates an unjustifiable mess.

Understood. In the course of reading and replying to this thread, I've
found the solution by identifying the root of this entire problem.

The common bond between everyone's concerns is the notion of "version
number" of one's software. I for example don't like that there are
two, it is awkward and confusing. Neil, you distribute your software
across different Scheme implementations, and want to make sure the
version is the same. Per Robby and Jacob (in the paper), PLaneT
package version numbers are used to make sure dependencies are
properly resolved. So, we've all got these wants regarding version
number.

When you get right down to it, though, version number is a *concept*
defined by us to associate a particular version (or revision in your
version control system) with a name. It communicates something to the
client of your software. Contrast this with a PLaneT package version
number.

A PLaneT package version number is really a means by which the goals
of PLaneT may be achieved (dependency tracking for example). You could
call it package id, package relationship id, package tracking number,
orpackage dependency information and each name would apply. It doesn't
matter what you call it because the package version number has got
*nothing* to do with the software's version number (assigned by us
humans). They are conceptually two entirely different things. The only
commonality between them is that 1: both have "version" in them and 2:
if the author didn't provide a software version number he could just
rely on the package version being present (this is a bad idea).

The solution here is really simple: change the name "Package version"
to something that makes it vividly clear that said number has not
nothing to do with the human assigned "software version number".

Change it to something without version or package, make it so it won't
be related at all to the logical software version number, because it
isn't.

Call it: "PLanetT internal artifact tracking ID". What gets uploaded
to PLaneT is an artifact, and nothing more.

> I never thought of PLT as not playing well with others!  That role is
> traditionally reserved for a different three-letter institution. :)

SUN?

Best wishes,

Grant


Posted on the users mailing list.