I'm relatively new to R and would first like to sincerely thank all those who contribute to its development. Thank you. I would humbly like to propose a rule which creates a standard (i.e., strongly encouraged, mandatory, etc.) for authors to include a `change log' documenting specific changes for each update made to their package(s). The more detailed the description, the better; and it would be exceptionally useful if the document were available from the R-console (similar to the help function). In other words, I am suggesting that the `change log' file be included in the package(s) and preferably accessible from the R-console. I am aware that many packages available on CRAN have a `change log' or `news' page. However; not all packages have something like that and many which do, are not terribly detailed in conveying what has been updated or changed. I am also aware that package authors are not a particularly lazy group, sitting around with nothing to do. My proposal would likely add a non-significant amount of work to the already very generous (and appreciated) work performed by package authors, maintainers, etc. I do, however, believe it would be greatly appreciated and beneficial to have more detailed update information available from the R-console as some of us (users) update packages daily and are often left wondering what exactly has been updated. I did not post this to the R-devel list because I consider this proposal more of a documentation issue than a development issue. Also, I would like to see some discussion of this proposal from a varied pool of stakeholders (e.g., users and not just developers, package authors, package maintainers, etc.). Respectfully, Jon Starkweather, PhD University of North Texas Research and Statistical Support http://www.unt.edu/rss/
Proposal: Package update log
5 messages · Starkweather, Jonathan, Greg Snow, Brian Diggs +1 more
There is already support in the packaging system for a NEWS file which can be accessed within R using the 'news' function. What would the changelog that you are proposing contribute or contain beyond what the NEWS file already does? Creating and updating NEWS is not mandatory, but is encouraged. Making the update of NEWS mandatory would probably not change anything for the authors already using it, for those that don't it may cause the author to be less likely to share or update their package rather than bother with logging the updates (though whether that is a bad thing or a good thing is a whole different discussion). How would you mandate the update log? just requiring a change could result in a lazy author adding a single line of gibberish or a statement like "updated on this date". To enforce something more meaningful would require some form of moderation and place additional burden where there is already a lot of volunteer work happening. If a package is on R-forge (or other similar locations) then you can get a details view of the changes between versions. Packages on CRAN have previous versions available and there are tools that will let you compare the differences in detail. On Tue, Oct 2, 2012 at 11:01 AM, Starkweather, Jonathan
<Jonathan.Starkweather at unt.edu> wrote:
I'm relatively new to R and would first like to sincerely thank all those who contribute to its development. Thank you. I would humbly like to propose a rule which creates a standard (i.e., strongly encouraged, mandatory, etc.) for authors to include a `change log' documenting specific changes for each update made to their package(s). The more detailed the description, the better; and it would be exceptionally useful if the document were available from the R-console (similar to the help function). In other words, I am suggesting that the `change log' file be included in the package(s) and preferably accessible from the R-console. I am aware that many packages available on CRAN have a `change log' or `news' page. However; not all packages have something like that and many which do, are not terribly detailed in conveying what has been updated or changed. I am also aware that package authors are not a particularly lazy group, sitting around with nothing to do. My proposal would likely add a non-significant amount of work to the already very generous (and appreciated) work performed by package authors, maintainers, etc. I do, however, believe it would be greatly appreciated and beneficial to have more detailed update information available from the R-console as some of us (users) update packages daily and are often left wondering what exactly has been updated. I did not post this to the R-devel list because I consider this proposal more of a documentation issue than a development issue. Also, I would like to see some discussion of this proposal from a varied pool of stakeholders (e.g., users and not just developers, package authors, package maintainers, etc.). Respectfully, Jon Starkweather, PhD University of North Texas Research and Statistical Support http://www.unt.edu/rss/
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Gregory (Greg) L. Snow Ph.D. 538280 at gmail.com
On 10/2/2012 10:01 AM, Starkweather, Jonathan wrote:
I'm relatively new to R and would first like to sincerely thank all those who contribute to its development. Thank you. I would humbly like to propose a rule which creates a standard (i.e., strongly encouraged, mandatory, etc.) for authors to include a `change log' documenting specific changes for each update made to their package(s). The more detailed the description, the better; and it would be exceptionally useful if the document were available from the R-console (similar to the help function). In other words, I am suggesting that the `change log' file be included in the package(s) and preferably accessible from the R-console.
Let me just address the "accessible from the R-console" part of this. The infrastructure to support this already exists; check out the news() function. It does require a structured NEWS file, but will make some attempts to figure out the structure (see the documentation).
I am aware that many packages available on CRAN have a `change log' or `news' page. However; not all packages have something like that and many which do, are not terribly detailed in conveying what has been updated or changed.
More detail is generally nice. However, I'm not sure what CRAN could enforce. A simple check that could be automated is that news() for the package and the version declared in the DESCRIPTION file returns a non-empty result. But I don't know if that would be a net positive (adding another burden for package authors vs giving more detail). Those authors that care probably already do so; those that don't will just have to work around the check without necessarily adding anything useful.
I am also aware that package authors are not a particularly lazy group, sitting around with nothing to do. My proposal would likely add a non-significant amount of work to the already very generous (and appreciated) work performed by package authors, maintainers, etc. I do, however, believe it would be greatly appreciated and beneficial to have more detailed update information available from the R-console as some of us (users) update packages daily and are often left wondering what exactly has been updated. I did not post this to the R-devel list because I consider this proposal more of a documentation issue than a development issue. Also, I would like to see some discussion of this proposal from a varied pool of stakeholders (e.g., users and not just developers, package authors, package maintainers, etc.). Respectfully, Jon Starkweather, PhD University of North Texas Research and Statistical Support http://www.unt.edu/rss/
Brian S. Diggs, PhD Senior Research Associate, Department of Surgery Oregon Health & Science University
One "other similar location" is Github, where you can "watch" a package, and this is how I keep track of changes in the packages that I'm interested in. Just for the interest of other R package developers, the NEWS file can be written in Markdown and I have a Makefile (https://github.com/yihui/knitr/blob/master/Makefile) to convert Markdown to R's standard NEWS format, e.g. https://github.com/yihui/knitr/blob/master/NEWS.md -> (via "make news") https://github.com/yihui/knitr/blob/master/NEWS If you do not belong to the "plain-text-is-everything" party, you may consider this format. Regards, Yihui -- Yihui Xie <xieyihui at gmail.com> Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA
On Tue, Oct 2, 2012 at 2:47 PM, Greg Snow <538280 at gmail.com> wrote:
There is already support in the packaging system for a NEWS file which can be accessed within R using the 'news' function. What would the changelog that you are proposing contribute or contain beyond what the NEWS file already does? Creating and updating NEWS is not mandatory, but is encouraged. Making the update of NEWS mandatory would probably not change anything for the authors already using it, for those that don't it may cause the author to be less likely to share or update their package rather than bother with logging the updates (though whether that is a bad thing or a good thing is a whole different discussion). How would you mandate the update log? just requiring a change could result in a lazy author adding a single line of gibberish or a statement like "updated on this date". To enforce something more meaningful would require some form of moderation and place additional burden where there is already a lot of volunteer work happening. If a package is on R-forge (or other similar locations) then you can get a details view of the changes between versions. Packages on CRAN have previous versions available and there are tools that will let you compare the differences in detail.
Thanks to all for the responses and suggestions. I was primarily proposing a more detailed change log for packages on CRAN. To my mind, repositories like R-forge host packages more 'raw' than those on CRAN (i.e. CRAN seems to me to contain more 'finished' packages which occasionally are updated or added-to). Also, some packages on R-forge do not contain any information regarding changes/updates [I'm hesitant to offer an example because I'm really just a lemming in terms of R community stature...]. I guess what I'm saying is, the news(package = "yourPackageHere") function is not particularly useful currently because (in my *limited* experience) very few packages contain the news file and those which do, do not contain much in the way of description. Perhaps I'm being a bit too ambitious here, but I would just like to be able to see what has been changed (and why; if possible) each time a package is updated. It would seem, from my rather rudimentary understanding, that using current TeX/LaTeX based tools for the basis of package documentation lends itself to having a better, more organized, change log or news file based on the package manual table of contents (toc). For instance, it would be great if we had something like: news(package = "yourPackageHere", function = "functionOfInterest") which could display a log of changes/updates sequentially for the named function of interest. Admittedly, I have not created a package myself, but I do have some experience with LaTeX and it may be as simple as changing the preamble to existing TeX file templates or style files. In terms of enforcement; yes I agree it would require more work from the package authors, as well as managers/moderators of CRAN; but, if we expect each package to have a working help file, then why not a (meaningfully) working 'news' file. Respectfully, Jon Starkweather, PhD University of North Texas Research and Statistical Support http://www.unt.edu/rss/