[R-pkg-devel] package API change
Dirk Eddelbuettel
edd at debian.org
Wed Jan 18 14:55:53 CET 2017
On 18 January 2017 at 13:49, Thierry Onkelinx wrote:
| Another solution is to start a new package. This is what Hadley did with
| the ggplot package (https://cran.r-project.org/src/contrib/Archive/ggplot/).
| The new version (ggplot2) would break existing code. Users were informed
| that the old package is not longer maintained. So the user has the choice
| between using the old version which still works but no longer maintained or
| the switched to the new version which is maintained but will break existing
| code.
AFAIK that practice of package inflation is outlawed by CRAN Policy now:
* Changes to CRAN packages causing significant disruption to other
packages must be agreed with the CRAN maintainers well in advance of
any publicity. Introduction of packages providing back-compatibility
versions of already available packages is not allowed.
R itself has mechanisms for this: .Deprecated was already mentioned.
Many other packages "warn now", phase in new code and then offer a toggle
(maybe via options()) to get the old behaviour.
As package authors, we have a "contract" with our users. Sure, we can break
it willy-nilly (and the informal reputation mechanism may make us pay for
this) or we can try to hold the contract and accomodate.
It's programming. There is always another layer we can insert.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-package-devel
mailing list