HPCRAN Rules
Last updated 5/18/2021.
General
- HPCRAN is for stable releases of "publication quality" packages.
- You must have a GitHub account that has been manually approved by the HPCRAN administrator to upload packages to HPCRAN. If you are interested in publishing packages on hpcran, please contact the administrator.
- You must login with your GitHub account and authenticate the OAuth app.
- The app reads your username and all emails, including private ones.
- None of your email information is stored long term. It is only used for authentication.
- None of your information is shared with any other party.
- At least one verified email address on your GitHub account must match the maintainer email in package submission.
- Packages should generally be HPC-related in some way. Non-HPC packages might be better suited for distribution on the CRAN or Bioconductor.
Packages
- You do not have to ask permission to upload a package once your account is approved. Simply upload it.
- Uploads should be sources packages that have been built with
R CMD build
, and as such should be valid .tar.gz
source files.
- Packages should be no more than 10MB in size. I hope to increase this limit eventually, but right now storage is at a premium.
- You can set tags for your package with the
HPCRAN
field in your package DESCRIPTION.
- Multiple tags (comma separated) can be used for a single package.
- Tags have a 10 character limit. Tags longer than 10 characters will be ignored.
- Please try to use tags accurately. For example, don't use
gpu
if your code doesn't use GPUs.
- Don't use unprofessional language in the tags.
- Packages are not automatically checked with
R CMD check
, as the usual CRAN checks may be too stringent for some HPC packages. That said, please run R CMD check
on your package before submitting, and try to satisfy as many CRAN check requirements as you can, as most of them are good.
- Consider including a README or README.md file that includes installation instructions for your package. This file will be rendered and linked on your package page.
Updates
- The updated package version must be greater than the previously published version.
- Your verified GitHub email address must match the maintainer email address in the previously published package.
- The maintainer email address in the package update must match the maintainer email address in the previously published version of the package.
- If you need to change your maintainer email address on your package(s), please contact the administrator.
Legal
- Packages should be licensed under an OSI approved open source license.
- Packages should not violate anyone's intellectual property rights.
- Code and documentation should respect copyrights and trademarks.
- This means, among other things, adding copyright and trademark symbols, as appropriate.
- For example, if you wish to refer to a certain GPU manufacturer's programming API, the correct way would be NVIDIA© CUDA™.
- I know that this is dumb, but I don't want either of us to be sued.
- Packages should not do anything malicious or anti-social.
- Viruses, forkbombs, trojans, and the like are all completely unacceptable.
- Packages should not collect any data transmitted to a third party without consent from the user.
- Calling something that kills the R process (e.g.
assert()
, exit()
, etc) are fine so long as it is clearly documented.
- Modifying the global environment is discouraged, but acceptable.
Enforcement
Rules that can be automatically checked will be, and those violations will lead to an
error in the upload process. In that case, simply fix the error and try again.
Anti-social violation/circumventing of the rules may result in a ban from uploading
packages to hpcran.
Contact: wrathematics at gmail.