Outputs to home filespace in CRAN packages



From the CRAN repository policy

  • Packages should not write in the user’s home filespace (including clipboards), nor anywhere else on the file system apart from the R session’s temporary directory (or during installation in the location pointed to by TMPDIR: and such usage should be cleaned up). (…) Limited exceptions may be allowed in interactive sessions if the package obtains confirmation from the user.

I am unclear on how this policy applies to functions whose primary purpose is to write new files. For instance write.table types of functions do not “obtain confirmation from the user”, one just provides a file path and a file would be created.

Since this behaviour is obviously ok, would a version of write.table with a file output of something like “newTable” which would automatically create a table in users home director be in violation of this policy?

Few potential problems of this type of behaviour is obvious. For instance by default, write.table would be overwriting a pre-existing file, but if overwriting behaviour is disabled and replaced with a warning or an error would that still be considered “anti-social”?