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

From: Matt Jadud (jadudm at gmail.com)
Date: Sun Aug 31 12:03:53 EDT 2008

On Sun, Aug 31, 2008 at 11:21 AM, Jens Axel Soegaard
<jensaxel at soegaard.net> wrote:
> Currently there are two sets of version numbers.
>
>  1. The PLaneT version (major + minor version)
>  2. The user version
>
> Removing the special status of the user version makes sense to me.
> For the few packages that need it, the author can state it in, say,
> the first line of the package description.

For the few packages that need it, burying it in the documentation
means Neil must explain to his users what is going on in that first
line. The developer should be free to version their software across
implementations as they see fit. All Neil should have to say in his
documentation is:

"This is version 5.4 of HTMLPrag."

This will, of course, be in direct conflict with what PLaneT reports
right above that documentation, where it will say "Package version
2.4". The ugly solution is that Neil must write:

"This is version 5.4 of HTMLPrag, which is version 2.4 only in the PLT
Scheme PLaneT repository."

If this is going to change, then it needs to change in a way that
supports the use-cases of the developers and the users of the
packages. I'm sorry that PLaneT is a piece of software that has
particular (data-centric) needs. I care no more about PLaneT's
internal versioning than I care about how the data tables for the
PLaneT DB is laid out. The user-centric needs are more important.

If Neil wants to be able to say in his documentation that "This
documentation describes the use of the 5.4 family of HTMLPrag
releases", then relegating the PLaneT version to minor numbers means
he doesn't have to explain anything to users coming from (say) Ikarus
to PLT Scheme. Under Ikarus, they'll use 5.4, and the PLaneT package
will (report as) version "5.4.2.4", which is clearly in the 5.4
family. That PLaneT happens to think it is version 2.4 is entirely the
software's problem, not the user's. PLaneT can use it's version
numbers internally as always; in terms of presentation, a small change
is necessary, and it no longer has any importance whatsoever. In the
absence of a developer-provided user number, it shifts forward and
becomes the only version number (eg. "2.4").

I don't actually have a particular vested interest in this. However,
Neil has pointed out a problem that, as a cross-Scheme developer, he
finds himself in a bit of a confusing space with respect to how he
writes his documentation for his users. The developer shouldn't have
to change his practice---the software should change to best support
the developer's/user's needs.

However, if you want to have a completely PLT-centric solution, then
yes, you can safely throw away the developer's version number, and
only report the PLaneT version number. Regardless, I'm just advocating
for identifying what user/developer-needs there are, and addressing
those problems. Your solution doesn't solve the problem Neil
identified. He suggested one solution; I've suggested another. Either
way, the goal is to simplify the process of documenting and
identifying the "version" of cross-Scheme libraries that happen to
have PLT ports in the PLaneT repository.

Cheers,
Matt


Posted on the users mailing list.