Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-22 Thread Avi Gross via R-package-devel
Philosophy aside, albeit not uninteresting, I am wondering about the
etiquette of developing a package and then years later dealing with how to
have it replaced carefully. Do creators and maintainers have any obligation
and especially when there is a large remaining embedded base of users. We
may have quite a few Y2K type problems in the sense that some people cannot
easily change what is being used. Other languages, like Python, have been
dealing with how the newer language features (version 3) have serious
incompatibilities with earlier versions and yet some stay with what they
have.

Hadley Wickham for example, has been involved in multiple packages including
cases like ggplot where it was replaced by another package with enough
incompatibilities that it might merit another name. I am not sure what
exactly was in plyr when it stopped being changed but in some ways the dplyr
package seems to focus on data.frames and plyr was more general. And, I
suspect, dplyr also tried to do things consistent with new design approaches
such as standardizing where arguments to a function go. It may well be
faster when used as planned.

But as a possibility, I suspect you could theoretically take the source code
for a package that has largely been replaced by others and sometimes make a
sort of compatibility version that consists largely of pointers to other
packages.

Specifically, the documentation could contain a section that suggests
alternatives to use. I suspect quite a few of the included functions may be
available in base R or another commonly used package (such as the tidyverse
collection) and just using the new one, perhaps with some alteration in how
it is called, might help guide existing users away to something more likely
to be maintained.

And sometimes, it might be weirdly possible to have a volunteer do something
a tad odd and set up a way to replace the functions in the package. A
function call like f(z, data) might simply be mapped into a call to
other::g(data, z, flag=FALSE) if that made sense. Other fairly small
wrappers might do more such re-direction. Obviously, this would be of
limited use if other packages would need to be loaded. I can imagine leaving
a package intact and adding a new function with a name like supercede() that
would make such a re-arrangement when asked to.

The user would normally call:

library(plyr)
plyr::supercede()

Without that additional line, nothing changes. But after calling it, you may
now be in a partial compatibility mode.

I now retire without being superseded.

-Original Message-
From: R-package-devel  On Behalf Of
Martin Maechler
Sent: Wednesday, September 22, 2021 3:39 AM
To: Lenth, Russell V 
Cc: r-package-devel@r-project.org
Subject: Re: [R-pkg-devel] [External] Re: What is a "retired"package?

>>>>> Lenth, Russell V 
>>>>> on Tue, 21 Sep 2021 18:43:07 + writes:

> As I suspected, and a good point. But please note that the term
"retired" causes angst, and it may be good to change that to "superceded" or
something else.

well,  some of us will  become "retired" somewhere in the future rather than
"superseded" .. ;-)

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-22 Thread Spencer Graves




On 9/22/21 2:38 AM, Martin Maechler wrote:

Lenth, Russell V
 on Tue, 21 Sep 2021 18:43:07 + writes:


 > As I suspected, and a good point. But please note that the term "retired" causes 
angst, and it may be good to change that to "superceded" or something else.

well,  some of us will  become "retired" somewhere in the
future rather than "superseded" .. ;-)



yes, but we'll become "superseded" long before we want to admit it ;-)



__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel



__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-22 Thread Martin Maechler
> Lenth, Russell V 
> on Tue, 21 Sep 2021 18:43:07 + writes:

> As I suspected, and a good point. But please note that the term "retired" 
causes angst, and it may be good to change that to "superceded" or something 
else.

well,  some of us will  become "retired" somewhere in the
future rather than "superseded" .. ;-)

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Viechtbauer, Wolfgang (SP)
:) That's a fortune nomination on my part.

Best,
Wolfgang

>-Original Message-
>From: R-package-devel [mailto:r-package-devel-boun...@r-project.org] On Behalf 
>Of
>Hadley Wickham
>Sent: Tuesday, 21 September, 2021 20:45
>To: Lenth, Russell V
>Cc: r-package-devel@r-project.org
>Subject: Re: [R-pkg-devel] [External] Re: What is a "retired"package?
>
>Yes, as Lionel said that is why we have changed our terminology to
>superseded — we wanted to imply that a retired package was still a
>useful member of society, if not working full-time anymore, but most
>people seem to think that retired means that we took the package out
>behind the shed and put it out of its misery.
>
>Haley
>
>On Tue, Sep 21, 2021 at 1:43 PM Lenth, Russell V
> wrote:
>>
>> Hadley,
>>
>> As I suspected, and a good point. But please note that the term "retired" 
>> causes
>angst, and it may be good to change that to "superceded" or something else.
>>
>> As a side note, I'll mention that I myself am retired, and I'll claim that 
>> that
>does not make me less dependable. But one difference in retirement is that I 
>now
>care less about public embarrassment, such as not knowing that all along, I 
>could
>have used base::apply instead of plyr::aaply.
>>
>> -Original Message-----
>> From: Hadley Wickham 
>> Sent: Tuesday, September 21, 2021 11:48 AM
>> To: Lenth, Russell V 
>> Cc: Jeff Newmiller ; r-package-devel@r-project.org
>> Subject: Re: [R-pkg-devel] [External] Re: What is a "retired"package?
>>
>> > But for the broader question, Jeff is saying that there really are 700
>packages that are in potential trouble!
>>
>> I think that's rather an overstatement of the problem — there's nothing wrong
>with plyr; it's just no longer under active development.
>> If anything, plyr is one of the safest packages to depend upon because you 
>> can
>know it will never change :)
>>
>> Hadley
>>
>> --
>> http://hadley.nz
__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Hadley Wickham
Yes, as Lionel said that is why we have changed our terminology to
superseded — we wanted to imply that a retired package was still a
useful member of society, if not working full-time anymore, but most
people seem to think that retired means that we took the package out
behind the shed and put it out of its misery.

Haley

On Tue, Sep 21, 2021 at 1:43 PM Lenth, Russell V
 wrote:
>
> Hadley,
>
> As I suspected, and a good point. But please note that the term "retired" 
> causes angst, and it may be good to change that to "superceded" or something 
> else.
>
> As a side note, I'll mention that I myself am retired, and I'll claim that 
> that does not make me less dependable. But one difference in retirement is 
> that I now care less about public embarrassment, such as not knowing that all 
> along, I could have used base::apply instead of plyr::aaply.
>
> -Original Message-
> From: Hadley Wickham 
> Sent: Tuesday, September 21, 2021 11:48 AM
> To: Lenth, Russell V 
> Cc: Jeff Newmiller ; r-package-devel@r-project.org
> Subject: Re: [R-pkg-devel] [External] Re: What is a "retired"package?
>
> > But for the broader question, Jeff is saying that there really are 700 
> > packages that are in potential trouble!
>
> I think that's rather an overstatement of the problem — there's nothing wrong 
> with plyr; it's just no longer under active development.
> If anything, plyr is one of the safest packages to depend upon because you 
> can know it will never change :)
>
> Hadley
>
> --
> http://hadley.nz



-- 
http://hadley.nz

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Lenth, Russell V
Hadley,

As I suspected, and a good point. But please note that the term "retired" 
causes angst, and it may be good to change that to "superceded" or something 
else.

As a side note, I'll mention that I myself am retired, and I'll claim that that 
does not make me less dependable. But one difference in retirement is that I 
now care less about public embarrassment, such as not knowing that all along, I 
could have used base::apply instead of plyr::aaply.

-Original Message-
From: Hadley Wickham  
Sent: Tuesday, September 21, 2021 11:48 AM
To: Lenth, Russell V 
Cc: Jeff Newmiller ; r-package-devel@r-project.org
Subject: Re: [R-pkg-devel] [External] Re: What is a "retired"package?

> But for the broader question, Jeff is saying that there really are 700 
> packages that are in potential trouble!

I think that's rather an overstatement of the problem — there's nothing wrong 
with plyr; it's just no longer under active development.
If anything, plyr is one of the safest packages to depend upon because you can 
know it will never change :)

Hadley

--
http://hadley.nz
__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Jeff Newmiller
I agree... but trouble is in the eyes of the beholder. If OP's approval process 
requires use of actively-maintained software, then use of code depending on one 
of these "retired"/"superceded" packages could indeed be a problem... for the 
OP. OP cannot expect to be able to impose those requirements on others though.

On September 21, 2021 9:48:28 AM PDT, Hadley Wickham  
wrote:
>> But for the broader question, Jeff is saying that there really are 700 
>> packages that are in potential trouble!
>
>I think that's rather an overstatement of the problem — there's
>nothing wrong with plyr; it's just no longer under active development.
>If anything, plyr is one of the safest packages to depend upon because
>you can know it will never change :)
>
>Hadley
>

-- 
Sent from my phone. Please excuse my brevity.

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Hadley Wickham
> But for the broader question, Jeff is saying that there really are 700 
> packages that are in potential trouble!

I think that's rather an overstatement of the problem — there's
nothing wrong with plyr; it's just no longer under active development.
If anything, plyr is one of the safest packages to depend upon because
you can know it will never change :)

Hadley

-- 
http://hadley.nz

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Lenth, Russell V
OK. Well, as Noah has pointed out, I can just use apply to do what I need, and 
get plyr out of the picture. 

But for the broader question, Jeff is saying that there really are 700 packages 
that are in potential trouble!

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Noah Greifer
apply() also recently got a 'simplify' argument, which means you request
its output be returned as a list, too (i.e., to replace alply).

Noah

On Tue, Sep 21, 2021 at 12:10 PM Jeff Newmiller 
wrote:

> As you previously quoted:
>
> > plyr is retired: this means only changes necessary to keep it on CRAN
> will be made.
>
> That excludes bugfixes related to any specific use cases it is not
> currently capable of handling. In other words, if it doesn't handle the
> data you pass along to it from your users, or there turns out to be a
> security problem (I agree, not likely, but remember these agencies don't
> shade things by "likely") then the plyr maintainers aren't promising to fix
> it. Take it "as-is". This is exactly what this "agency" you are being
> hassled by is concerned about... not the label applied to that status.
>
> On September 21, 2021 8:50:32 AM PDT, "Lenth, Russell V" <
> russell-le...@uiowa.edu> wrote:
> >... "I am not fixing this hot mess"??? To the contrary, the README
> contains a clearly expressed intention to maintain plyr to keep in on CRAN.
> >
> >RL
> >
> >-Original Message-
> >From: Jeff Newmiller 
> >Sent: Tuesday, September 21, 2021 10:36 AM
> >To: r-package-devel@r-project.org; Lenth, Russell V <
> russell-le...@uiowa.edu>; r-package-devel@r-project.org
> >Subject: [External] Re: [R-pkg-devel] What is a "retired"package?
> >
> >There is nothing official about that term. However, the meaning as
> intended by the package authors seems pretty clear to me, and if some
> organization decides not to allow software that is not being maintained to
> be relied upon then that is their decision. I don't think slapping a
> different label on "I am not fixing this hot mess" is going to change that
> organization's stance, and expecting the author to play that game is
> unreasonable.
> >
> >Welcome to the downside of package interdependencies. I highly recommend
> that you migrate away from plyr, either by absorbing the key functions you
> need from it or by relying on different packages.
> >
>
> --
> Sent from my phone. Please excuse my brevity.
>
> __
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Jeff Newmiller
As you previously quoted:

> plyr is retired: this means only changes necessary to keep it on CRAN will be 
> made.

That excludes bugfixes related to any specific use cases it is not currently 
capable of handling. In other words, if it doesn't handle the data you pass 
along to it from your users, or there turns out to be a security problem (I 
agree, not likely, but remember these agencies don't shade things by "likely") 
then the plyr maintainers aren't promising to fix it. Take it "as-is". This is 
exactly what this "agency" you are being hassled by is concerned about... not 
the label applied to that status.

On September 21, 2021 8:50:32 AM PDT, "Lenth, Russell V" 
 wrote:
>... "I am not fixing this hot mess"??? To the contrary, the README contains a 
>clearly expressed intention to maintain plyr to keep in on CRAN.
>
>RL
>
>-Original Message-
>From: Jeff Newmiller  
>Sent: Tuesday, September 21, 2021 10:36 AM
>To: r-package-devel@r-project.org; Lenth, Russell V ; 
>r-package-devel@r-project.org
>Subject: [External] Re: [R-pkg-devel] What is a "retired"package?
>
>There is nothing official about that term. However, the meaning as intended by 
>the package authors seems pretty clear to me, and if some organization decides 
>not to allow software that is not being maintained to be relied upon then that 
>is their decision. I don't think slapping a different label on "I am not 
>fixing this hot mess" is going to change that organization's stance, and 
>expecting the author to play that game is unreasonable.
>
>Welcome to the downside of package interdependencies. I highly recommend that 
>you migrate away from plyr, either by absorbing the key functions you need 
>from it or by relying on different packages.
>

-- 
Sent from my phone. Please excuse my brevity.

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Lenth, Russell V
... "I am not fixing this hot mess"??? To the contrary, the README contains a 
clearly expressed intention to maintain plyr to keep in on CRAN.

RL

-Original Message-
From: Jeff Newmiller  
Sent: Tuesday, September 21, 2021 10:36 AM
To: r-package-devel@r-project.org; Lenth, Russell V ; 
r-package-devel@r-project.org
Subject: [External] Re: [R-pkg-devel] What is a "retired"package?

There is nothing official about that term. However, the meaning as intended by 
the package authors seems pretty clear to me, and if some organization decides 
not to allow software that is not being maintained to be relied upon then that 
is their decision. I don't think slapping a different label on "I am not fixing 
this hot mess" is going to change that organization's stance, and expecting the 
author to play that game is unreasonable.

Welcome to the downside of package interdependencies. I highly recommend that 
you migrate away from plyr, either by absorbing the key functions you need from 
it or by relying on different packages.

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] [External] Re: What is a "retired"package?

2021-09-21 Thread Lenth, Russell V
From: Andrew Simmons akwsi...@gmail.com

> Doesn't apply already work on any dimensional arrays using argument MARGIN?

Egads, yes it does! I can't explain why I didn't know that...

Russ


[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel