RConsortium / r-repositories-wg

RC Working Group on Repositories
37 stars 8 forks source link

The term 'cranlike' repositry #32

Open jeroen opened 5 months ago

jeroen commented 5 months ago

Some people in the meeting have mentioned that they are not sure cranlike repository is a good term. I think it is fine, and I doubt anyone from the CRAN team will object either, so perhaps it is not needed to overthink this.

We use 'cranlike' mostly to disambiguate the term from other types of repositories, such as a "git repository". It refers to the format of the package repository.

CRAN is in many ways designed after Debian, and a heavy user of Debian. In Debian the term "Debian repository" is used in the same way, see: https://wiki.debian.org/DebianRepository

A Debian repository is a set of Debian binary or source packages organized in a special directory tree and with various infrastructure files - checksums, indices, signatures, descriptions translations, ... - added. Client computers can connect to the repository to download and install the packages using an Apt-based PackageManagement tool.

Further down the docs distinguish between "official debian repositories" and unofficial ones with 3rd party software, and instructions how to enable them: https://wiki.debian.org/DebianRepository/Unofficial

So note that the term "debian repository" itself is not at all controversial, it clearly refers to the format of the repo, nothing else. So this is pretty much exactly the way we use the word cranlike.

wlandau commented 5 months ago

So note that the term "debian repository" itself is not at all controversial, it clearly refers to the format of the repo, nothing else. So this is pretty much exactly the way we use the word cranlike.

Along those lines: for some people, I think "cranlike" just means you have a contrib/PACKAGES index to make install.packages() work. Unless I am missing something, that seems to be how https://github.com/r-hub/repos uses "cranlike".

Other people take "cranlike" to mean that it has gatekeeping, revdep checks, and an archival system. Maybe it would be useful to distinguish between an install.packages() repo vs one with all those traditional safeguards.

gmbecker commented 5 months ago

Other people take "cranlike" to mean that it has gatekeeping, revdep checks, and an archival system. Maybe it would be useful to distinguish between an install.packages() repo vs one with all those traditional safeguards.

I definitely view the term this way. a package repository is simply a webfacing directory with a PACKAGES index that works with install.packages, while a repository being cranlike to mean means it actually behaves like CRAN (and Bioc) in terms of safeguards.

I think this is also the information most relevant to end users, is this simply a webfacing directory + index, or does this provide guarantees.