Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-03 Thread Ben Staton
Hi Everyone,

Thank you all for your input and thoughts on this topic. I've learned much
from this thread. I have arrived at a solution so we can now consider this
topic closed.

I ended up removing the dependency on 'matrixcalc' by (a) replacing
matrixcalc::is.square.matrix() with a basic check for nrow(x) == ncol(x),
(b) replacing matrixcalc::is.symmetric.matrix() with base::isSymmetric(),
and (c) replacing matrixcalc::is.positive.definite() with some basic custom
code that checks eigenvalues for >= 0 (thus checking for semi-positive
definiteness), as pointed out by Martin above. I have submitted the updated
version to CRAN and it is now available there.

Side note -- someone else ended up taking over as maintainer of the
orphaned 'matrixcalc' package and has had it successfully accepted to CRAN,
so it will continue to be available going forward. I'm still happy with the
solution that I used, as fewer dependencies the better -- a point also
raised earlier in this thread.

Thank you all,
Ben

On Thu, Jun 3, 2021 at 12:55 AM Martin Maechler 
wrote:

> > Avraham Adler
> > on Wed, 2 Jun 2021 15:28:25 -0400 writes:
>
> > Exactly. Is square is just brow=ncol, is positive definite can be
> > implemented as a check that all eigenvalues > 0, which can be done
> with
> > base, and is.symmetric can be simply brute forced in a loop
> comparing i,j
> > with j,i.
>
> > The fewer dependencies a package has, the more robust it is. It’s a
> fine
> > balance between not reinventing the wheel and ceding too much
> stability to
> > other packages.
>
> > Thanks,
> > Avi
>
> Indeed.  Further,
>
> -  isSymmetric()  has been part of base for a long time
>so the definition of an alternative in matrixcalc  had been @_*#^$%
>It's also supported by methods in the Matrix package
>e.g. for sparse matrices etc  so definitely something you
>"should" use instead.
>
> -  is.square() is trivial and I think an explicit check such as
>{ d <- dim(x);  d[1] == d[2] }
>is often more sensical, notably as in many of your functions
>you'd need either nrow(.) or ncol(.) of your matrix anyway.
>
> - A remark on Positive Definiteness (or also, often what you really want,
>"Positive Semi-definitness", allowing 0 eigen values):
>   The  Matrix  package has an (S4) class  "dpoMatrix"
>   of dense positive-definite (actually 'positive semi-definite') matrices.
>   In its validation method (yes, formal classes have validation!), we
>   use a cheap test instead of an expensive test with eigenvalues
>   (which is "too expensive": there are faster ones at least in theory,
>e.g., trying an  LDL' Cholesky decomposition and returning as soon as
>a non-positive / negative entry in D would appear).
>
>   The really cheap "pre-test" you may want to use  before or instead
>   of doing one of the more expensive ones is simply checking the diagonal:
>
>if(any(diag()) <  0) "not positive-semidefinite"
>if(any(diag()) <= 0) "not positive-definite"
>
> Martin Maechler
> (Maintainer of 'Matrix').
>
>
> > On Wed, Jun 2, 2021 at 3:15 PM John Harrold <
> john.m.harr...@gmail.com>
> > wrote:
>
> >> To add another option. In the past when this has happened to me
> I've found
> >> other packages that provide similar functionality.
> >>
> >> I'm assuming that is.square just checks the number of columns ==
> number of
> >> rows? And the others can probably be implemented pretty easily.
> >>
> >> On Wed, Jun 2, 2021 at 10:41 AM Ben Staton 
> wrote:
> >>
> >> > My package uses the MIT license, so would that not meet the
> compatibility
> >> > requirements?
> >> >
> >> > I will attempt to reach out to the package author - thanks for
> your help!
> >> >
> >> > On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker 
> wrote:
> >> >
> >> > > That all sounds exactly right.
> >> > >GPL >= 2 allows you to use the material without asking
> permission as
> >> > > long as your package is compatibly licensed (e.g. also GPL).
> >> > >Under normal circumstances it would be polite to ask
> permission, but
> >> > > if the reason for doing this is that the maintainer is
> unreachable in
> >> > > the first place ...
> >> > >
> >> > >   If you want to try a little harder, it seems quite possible
> that you
> >> > > can reach the matrixcalc maintainer at the (personal) e-mail
> address
> >> > > shown in this page:
> >> > >
> >> > >
> >> >
> >>
> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
> >> > >
> >> > >(Possibly an identity confusion, but I rate that as unlikely
> based
> >> on
> >> > > other facebook snooping)
> >> > >
> >> > >I don't think a short, polite e-mail request would be out of
> bounds,
> >> > > they can always ignore it or tell you to go away.
> >> > >
> >> > >cheers
> >> > > Ben Bo

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-03 Thread Martin Maechler
> Avraham Adler 
> on Wed, 2 Jun 2021 15:28:25 -0400 writes:

> Exactly. Is square is just brow=ncol, is positive definite can be
> implemented as a check that all eigenvalues > 0, which can be done with
> base, and is.symmetric can be simply brute forced in a loop comparing i,j
> with j,i.

> The fewer dependencies a package has, the more robust it is. It’s a fine
> balance between not reinventing the wheel and ceding too much stability to
> other packages.

> Thanks,
> Avi

Indeed.  Further,

-  isSymmetric()  has been part of base for a long time
   so the definition of an alternative in matrixcalc  had been @_*#^$%
   It's also supported by methods in the Matrix package
   e.g. for sparse matrices etc  so definitely something you
   "should" use instead.

-  is.square() is trivial and I think an explicit check such as
   { d <- dim(x);  d[1] == d[2] }
   is often more sensical, notably as in many of your functions
   you'd need either nrow(.) or ncol(.) of your matrix anyway.

- A remark on Positive Definiteness (or also, often what you really want,
   "Positive Semi-definitness", allowing 0 eigen values):
  The  Matrix  package has an (S4) class  "dpoMatrix"
  of dense positive-definite (actually 'positive semi-definite') matrices.
  In its validation method (yes, formal classes have validation!), we
  use a cheap test instead of an expensive test with eigenvalues
  (which is "too expensive": there are faster ones at least in theory,
   e.g., trying an  LDL' Cholesky decomposition and returning as soon as
   a non-positive / negative entry in D would appear).

  The really cheap "pre-test" you may want to use  before or instead
  of doing one of the more expensive ones is simply checking the diagonal:

   if(any(diag()) <  0) "not positive-semidefinite"
   if(any(diag()) <= 0) "not positive-definite"

Martin Maechler
(Maintainer of 'Matrix').


> On Wed, Jun 2, 2021 at 3:15 PM John Harrold 
> wrote:

>> To add another option. In the past when this has happened to me I've 
found
>> other packages that provide similar functionality.
>> 
>> I'm assuming that is.square just checks the number of columns == number 
of
>> rows? And the others can probably be implemented pretty easily.
>> 
>> On Wed, Jun 2, 2021 at 10:41 AM Ben Staton  wrote:
>> 
>> > My package uses the MIT license, so would that not meet the 
compatibility
>> > requirements?
>> >
>> > I will attempt to reach out to the package author - thanks for your 
help!
>> >
>> > On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
>> >
>> > > That all sounds exactly right.
>> > >GPL >= 2 allows you to use the material without asking permission 
as
>> > > long as your package is compatibly licensed (e.g. also GPL).
>> > >Under normal circumstances it would be polite to ask permission, 
but
>> > > if the reason for doing this is that the maintainer is unreachable in
>> > > the first place ...
>> > >
>> > >   If you want to try a little harder, it seems quite possible that 
you
>> > > can reach the matrixcalc maintainer at the (personal) e-mail address
>> > > shown in this page:
>> > >
>> > >
>> >
>> 
https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
>> > >
>> > >(Possibly an identity confusion, but I rate that as unlikely based
>> on
>> > > other facebook snooping)
>> > >
>> > >I don't think a short, polite e-mail request would be out of 
bounds,
>> > > they can always ignore it or tell you to go away.
>> > >
>> > >cheers
>> > > Ben Bolker
>> > >
>> > > On 6/2/21 1:15 PM, Ben Staton wrote:
>> > > > Hello,
>> > > >
>> > > > Thank you for your detailed list of solutions.
>> > > >
>> > > > I was initially tempted to go with option 1 (move matrixcalc to
>> > suggests
>> > > > and check for its existence before using functions that rely on 
it),
>> > but
>> > > as
>> > > > mentioned, this is not a long term fix.
>> > > >
>> > > > I unfortunately can't take on the responsibilities of option 2
>> > (becoming
>> > > > the package maintainer) -- there is much that this package does 
that
>> I
>> > do
>> > > > not understand, and do not wish to feign authority!
>> > > >
>> > > > I plan to take option 3 (copy the needed functions into my 
package).
>> > > There
>> > > > are only three functions I need from matrixcalc, and all three are
>> > fairly
>> > > > simple (is.square.matrix
>> > > > ,
>> > > > is.symmetric.matrix
>> > > > , and
>> > > > is.positive.definite
>> > > > ) and
>> > > there
>> > > > is

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-03 Thread Jeff Newmiller
... but you went ahead and did it anyway.

MIT software can be absorbed by GPL2 software, but not vice versa since MIT 
allows the code to be further incorporated into and distributed as non-free 
software, a permission not granted by GPL2.

I am opposed to people snarfing GPL2 code up for their non-free software 
tarpits, and transferring GPL2 code to MIT without the GPL2 author explicitly 
re-releasing as MIT would allow that.

On June 2, 2021 11:51:01 PM PDT, Berwin A Turlach  
wrote:
>G'day Jeff,
>
>On Wed, 02 Jun 2021 11:34:21 -0700
>Jeff Newmiller  wrote:
>
>Not that I want to get involved in old discussions :), but...
>
>> MIT is more permissive than GPL2,
>
>... this statement depends on how one defines "permissive".
>
>MIT requires that you fulfil: "The above copyright notice and this
>permission notice shall be included in all copies or substantial
>portions of the Software." (https://opensource.org/licenses/MIT)
>
>Whereas GPL 2 merely requires that you "[...] conspicuously and
>appropriately publish on each copy an appropriate copyright notice and
>disclaimer of warranty [...]".
>
>Thus, arguably, GPL 2 is more permissive.
>
>>  so there is a collision there. 
>
>Well, luckily the FSF does not think that the MIT license is
>incompatible with the GPL license, though it finds the term "MIT
>license" misleading and discourages its use, see
>https://www.gnu.org/licenses/license-list.html
>
>Cheers,
>
>   Berwin

-- 
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] Question about preventing CRAN package archival

2021-06-03 Thread Avraham Adler
On the other hand, MIT does not restrict what you do with your own
contributions, just the included code. GPL restricts rights on
redistributing your own work if a component is GPL as well.

Avi

On Thu, Jun 3, 2021 at 6:51 AM Berwin A Turlach
 wrote:
>
> G'day Jeff,
>
> On Wed, 02 Jun 2021 11:34:21 -0700
> Jeff Newmiller  wrote:
>
> Not that I want to get involved in old discussions :), but...
>
> > MIT is more permissive than GPL2,
>
> ... this statement depends on how one defines "permissive".
>
> MIT requires that you fulfil: "The above copyright notice and this
> permission notice shall be included in all copies or substantial
> portions of the Software." (https://opensource.org/licenses/MIT)
>
> Whereas GPL 2 merely requires that you "[...] conspicuously and
> appropriately publish on each copy an appropriate copyright notice and
> disclaimer of warranty [...]".
>
> Thus, arguably, GPL 2 is more permissive.
>
> >  so there is a collision there.
>
> Well, luckily the FSF does not think that the MIT license is
> incompatible with the GPL license, though it finds the term "MIT
> license" misleading and discourages its use, see
> https://www.gnu.org/licenses/license-list.html
>
> Cheers,
>
> Berwin
>
> __
> 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] Question about preventing CRAN package archival

2021-06-02 Thread Berwin A Turlach
G'day Jeff,

On Wed, 02 Jun 2021 11:34:21 -0700
Jeff Newmiller  wrote:

Not that I want to get involved in old discussions :), but...

> MIT is more permissive than GPL2,

... this statement depends on how one defines "permissive".

MIT requires that you fulfil: "The above copyright notice and this
permission notice shall be included in all copies or substantial
portions of the Software." (https://opensource.org/licenses/MIT)

Whereas GPL 2 merely requires that you "[...] conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty [...]".

Thus, arguably, GPL 2 is more permissive.

>  so there is a collision there. 

Well, luckily the FSF does not think that the MIT license is
incompatible with the GPL license, though it finds the term "MIT
license" misleading and discourages its use, see
https://www.gnu.org/licenses/license-list.html

Cheers,

Berwin

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


Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Bolker
  Write to the CRAN maintainers and let them know about the situation, 
hopefully that would prevent archiving.


On 6/2/21 4:16 PM, Ben Staton wrote:

Hi Everyone, thank you all for your responses.

I agree that I can replicate the three functions within matrixcalc that I
need with ease, even without copying and pasting the original code found in
that package and thus not creating any licensing issues.

I have checked the CRAN incoming boards (here
), and they
actually have a new version of matrixcalc coming through so hopefully this
issue will be resolved without my intervention.

On a related note, suppose that this issue does not get resolved before the
archival date, and my package gets archived. What would be the path for me
to have CRAN remove it from the archived list? Is it basically (1) fix the
issue that caused initial archival and (2) resubmit?

Thank you,
Ben

On Wed, Jun 2, 2021 at 12:48 PM Spencer Graves <
spencer.gra...@effectivedefense.org> wrote:


   The CRAN maintainers almost certainly have tried to contact the
maintainer.  You can ask if he plans to fix the bug.  If not, if it's
that easy to fix, you could offer to both the maintainers of both
matrixcalc and CRAN to take over maintenance.


   Spencer


On 6/2/21 2:41 PM, Roy Mendelssohn - NOAA Federal via R-package-devel
wrote:

After looking up matrixcalc on CRAN,  I would recommend contacting the

maintainer,  who is listed as:



Frederick Novomestky 



The reason I say this is what is blowing up the package in the nightly

builds is a careless error in one Example:



> x <- matrix( c( 2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3 ), nrow=4,

ncol=4, byrow=TRUE )

  Error in matrix(c(2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3), nrow = 4,

ncol = 4, :

   data length differs from size of matrix: [12 != 4 x 4]



That should be pretty easy for the maintainer to fix and to resubmit.

-Roy



On Jun 2, 2021, at 10:36 AM, Ben Staton  wrote:

My package uses the MIT license, so would that not meet the

compatibility

requirements?

I will attempt to reach out to the package author - thanks for your

help!


On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:


 That all sounds exactly right.
GPL >= 2 allows you to use the material without asking permission as
long as your package is compatibly licensed (e.g. also GPL).
Under normal circumstances it would be polite to ask permission, but
if the reason for doing this is that the maintainer is unreachable in
the first place ...

   If you want to try a little harder, it seems quite possible that you
can reach the matrixcalc maintainer at the (personal) e-mail address
shown in this page:



https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042


(Possibly an identity confusion, but I rate that as unlikely based

on

other facebook snooping)

I don't think a short, polite e-mail request would be out of bounds,
they can always ignore it or tell you to go away.

cheers
 Ben Bolker

On 6/2/21 1:15 PM, Ben Staton wrote:

Hello,

Thank you for your detailed list of solutions.

I was initially tempted to go with option 1 (move matrixcalc to

suggests

and check for its existence before using functions that rely on it),

but

as

mentioned, this is not a long term fix.

I unfortunately can't take on the responsibilities of option 2

(becoming

the package maintainer) -- there is much that this package does that

I do

not understand, and do not wish to feign authority!

I plan to take option 3 (copy the needed functions into my package).

There

are only three functions I need from matrixcalc, and all three are

fairly

simple (is.square.matrix
,
is.symmetric.matrix
, and
is.positive.definite
) and

there

is only one function in postpack that needs them. I plan to define

them

within the postpack function. matrixcalc is licensed under GPL >= 2

and

based on my scan of the license text, this is allowed. Is that

correct?


Regarding option 4 (contacting the matrixcalc maintainer), the

original

email from CRAN mentioned that they have attempted to contact the

package

author with no response.

Thank you!

On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:


I just downloaded the source matrixcalc package to see what it

contained.

The functions
I looked at seem fairly straightforward and the OP could likely

develop

equivalent features
in his own code, possibly avoiding a function call. Avoiding the

function

call means NAMESPACE etc. are not involved, so fewer places for

getting

into
trouble, assuming the inline code works properly.

JN


On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:

On 02/06/2021 12:13 p.m., Ben Staton wrote:

Hello,

I received an email notice from CRAN indicating that my R

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Staton
Hi Everyone, thank you all for your responses.

I agree that I can replicate the three functions within matrixcalc that I
need with ease, even without copying and pasting the original code found in
that package and thus not creating any licensing issues.

I have checked the CRAN incoming boards (here
), and they
actually have a new version of matrixcalc coming through so hopefully this
issue will be resolved without my intervention.

On a related note, suppose that this issue does not get resolved before the
archival date, and my package gets archived. What would be the path for me
to have CRAN remove it from the archived list? Is it basically (1) fix the
issue that caused initial archival and (2) resubmit?

Thank you,
Ben

On Wed, Jun 2, 2021 at 12:48 PM Spencer Graves <
spencer.gra...@effectivedefense.org> wrote:

>   The CRAN maintainers almost certainly have tried to contact the
> maintainer.  You can ask if he plans to fix the bug.  If not, if it's
> that easy to fix, you could offer to both the maintainers of both
> matrixcalc and CRAN to take over maintenance.
>
>
>   Spencer
>
>
> On 6/2/21 2:41 PM, Roy Mendelssohn - NOAA Federal via R-package-devel
> wrote:
> > After looking up matrixcalc on CRAN,  I would recommend contacting the
> maintainer,  who is listed as:
> >
> >> Frederick Novomestky 
> >
> >
> > The reason I say this is what is blowing up the package in the nightly
> builds is a careless error in one Example:
> >
> >>> x <- matrix( c( 2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3 ), nrow=4,
> ncol=4, byrow=TRUE )
> >>  Error in matrix(c(2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3), nrow = 4,
> ncol = 4, :
> >>   data length differs from size of matrix: [12 != 4 x 4]
> >>
> >
> > That should be pretty easy for the maintainer to fix and to resubmit.
> >
> > -Roy
> >
> >
> >> On Jun 2, 2021, at 10:36 AM, Ben Staton  wrote:
> >>
> >> My package uses the MIT license, so would that not meet the
> compatibility
> >> requirements?
> >>
> >> I will attempt to reach out to the package author - thanks for your
> help!
> >>
> >> On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
> >>
> >>> That all sounds exactly right.
> >>>GPL >= 2 allows you to use the material without asking permission as
> >>> long as your package is compatibly licensed (e.g. also GPL).
> >>>Under normal circumstances it would be polite to ask permission, but
> >>> if the reason for doing this is that the maintainer is unreachable in
> >>> the first place ...
> >>>
> >>>   If you want to try a little harder, it seems quite possible that you
> >>> can reach the matrixcalc maintainer at the (personal) e-mail address
> >>> shown in this page:
> >>>
> >>>
> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
> >>>
> >>>(Possibly an identity confusion, but I rate that as unlikely based
> on
> >>> other facebook snooping)
> >>>
> >>>I don't think a short, polite e-mail request would be out of bounds,
> >>> they can always ignore it or tell you to go away.
> >>>
> >>>cheers
> >>> Ben Bolker
> >>>
> >>> On 6/2/21 1:15 PM, Ben Staton wrote:
>  Hello,
> 
>  Thank you for your detailed list of solutions.
> 
>  I was initially tempted to go with option 1 (move matrixcalc to
> suggests
>  and check for its existence before using functions that rely on it),
> but
> >>> as
>  mentioned, this is not a long term fix.
> 
>  I unfortunately can't take on the responsibilities of option 2
> (becoming
>  the package maintainer) -- there is much that this package does that
> I do
>  not understand, and do not wish to feign authority!
> 
>  I plan to take option 3 (copy the needed functions into my package).
> >>> There
>  are only three functions I need from matrixcalc, and all three are
> fairly
>  simple (is.square.matrix
>  ,
>  is.symmetric.matrix
>  , and
>  is.positive.definite
>  ) and
> >>> there
>  is only one function in postpack that needs them. I plan to define
> them
>  within the postpack function. matrixcalc is licensed under GPL >= 2
> and
>  based on my scan of the license text, this is allowed. Is that
> correct?
> 
>  Regarding option 4 (contacting the matrixcalc maintainer), the
> original
>  email from CRAN mentioned that they have attempted to contact the
> package
>  author with no response.
> 
>  Thank you!
> 
>  On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:
> 
> > I just downloaded the source matrixcalc package to see what it
> >>> contained.
> > The functions
> > I looked at seem fairly straightforward and the OP could likely
> develop
> > equivalent features
> > in his own code, p

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Spencer Graves
	  The CRAN maintainers almost certainly have tried to contact the 
maintainer.  You can ask if he plans to fix the bug.  If not, if it's 
that easy to fix, you could offer to both the maintainers of both 
matrixcalc and CRAN to take over maintenance.



  Spencer


On 6/2/21 2:41 PM, Roy Mendelssohn - NOAA Federal via R-package-devel wrote:

After looking up matrixcalc on CRAN,  I would recommend contacting the 
maintainer,  who is listed as:


Frederick Novomestky 



The reason I say this is what is blowing up the package in the nightly builds 
is a careless error in one Example:


   > x <- matrix( c( 2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3 ), nrow=4, ncol=4, 
byrow=TRUE )
 Error in matrix(c(2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3), nrow = 4, ncol = 4, 
:
  data length differs from size of matrix: [12 != 4 x 4]



That should be pretty easy for the maintainer to fix and to resubmit.

-Roy



On Jun 2, 2021, at 10:36 AM, Ben Staton  wrote:

My package uses the MIT license, so would that not meet the compatibility
requirements?

I will attempt to reach out to the package author - thanks for your help!

On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:


That all sounds exactly right.
   GPL >= 2 allows you to use the material without asking permission as
long as your package is compatibly licensed (e.g. also GPL).
   Under normal circumstances it would be polite to ask permission, but
if the reason for doing this is that the maintainer is unreachable in
the first place ...

  If you want to try a little harder, it seems quite possible that you
can reach the matrixcalc maintainer at the (personal) e-mail address
shown in this page:

https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042

   (Possibly an identity confusion, but I rate that as unlikely based on
other facebook snooping)

   I don't think a short, polite e-mail request would be out of bounds,
they can always ignore it or tell you to go away.

   cheers
Ben Bolker

On 6/2/21 1:15 PM, Ben Staton wrote:

Hello,

Thank you for your detailed list of solutions.

I was initially tempted to go with option 1 (move matrixcalc to suggests
and check for its existence before using functions that rely on it), but

as

mentioned, this is not a long term fix.

I unfortunately can't take on the responsibilities of option 2 (becoming
the package maintainer) -- there is much that this package does that I do
not understand, and do not wish to feign authority!

I plan to take option 3 (copy the needed functions into my package).

There

are only three functions I need from matrixcalc, and all three are fairly
simple (is.square.matrix
,
is.symmetric.matrix
, and
is.positive.definite
) and

there

is only one function in postpack that needs them. I plan to define them
within the postpack function. matrixcalc is licensed under GPL >= 2 and
based on my scan of the license text, this is allowed. Is that correct?

Regarding option 4 (contacting the matrixcalc maintainer), the original
email from CRAN mentioned that they have attempted to contact the package
author with no response.

Thank you!

On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:


I just downloaded the source matrixcalc package to see what it

contained.

The functions
I looked at seem fairly straightforward and the OP could likely develop
equivalent features
in his own code, possibly avoiding a function call. Avoiding the

function

call means NAMESPACE etc. are not involved, so fewer places for getting
into
trouble, assuming the inline code works properly.

JN


On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:

On 02/06/2021 12:13 p.m., Ben Staton wrote:

Hello,

I received an email notice from CRAN indicating that my R package
('postpack') will be archived soon if I do not take any action and I

want

to avoid that outcome. The issue is not caused by my package, but

instead a

package that my package depends on:

"... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
and archiving this will necessitate also archiving its strong reverse
dependencies."

Evidently, xyz has been returning errors on new R builds prompting

CRAN

to

list it as a package to be archived. My package, 'postpack' has
'matrixcalc' listed in the Imports field, which I assume is why I

received

this email.

I want to keep 'postpack' active and don't want it to be archived. I

still

need package 'matrixcalc' for my package, but not for most functions.

Could

I simply move package 'matrixcalc' to the Suggests list and submit the

new

version to CRAN to remove the "Strong Reverse Dependency" issue that
triggered this email to avoid CRAN from archiving my package?


That's part of one solution, but not the best solution.

If you move it to Suggests, you should make sure that your package

checks for it be

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Roy Mendelssohn - NOAA Federal via R-package-devel
After looking up matrixcalc on CRAN,  I would recommend contacting the 
maintainer,  who is listed as:

> Frederick Novomestky 


The reason I say this is what is blowing up the package in the nightly builds 
is a careless error in one Example:

>   > x <- matrix( c( 2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3 ), nrow=4, ncol=4, 
> byrow=TRUE )
> Error in matrix(c(2, 4, 2, 1, 3, 1, 5, 2, 1, 2, 3, 3), nrow = 4, ncol = 
> 4, : 
>  data length differs from size of matrix: [12 != 4 x 4]
> 

That should be pretty easy for the maintainer to fix and to resubmit.

-Roy


> On Jun 2, 2021, at 10:36 AM, Ben Staton  wrote:
> 
> My package uses the MIT license, so would that not meet the compatibility
> requirements?
> 
> I will attempt to reach out to the package author - thanks for your help!
> 
> On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
> 
>>That all sounds exactly right.
>>   GPL >= 2 allows you to use the material without asking permission as
>> long as your package is compatibly licensed (e.g. also GPL).
>>   Under normal circumstances it would be polite to ask permission, but
>> if the reason for doing this is that the maintainer is unreachable in
>> the first place ...
>> 
>>  If you want to try a little harder, it seems quite possible that you
>> can reach the matrixcalc maintainer at the (personal) e-mail address
>> shown in this page:
>> 
>> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
>> 
>>   (Possibly an identity confusion, but I rate that as unlikely based on
>> other facebook snooping)
>> 
>>   I don't think a short, polite e-mail request would be out of bounds,
>> they can always ignore it or tell you to go away.
>> 
>>   cheers
>>Ben Bolker
>> 
>> On 6/2/21 1:15 PM, Ben Staton wrote:
>>> Hello,
>>> 
>>> Thank you for your detailed list of solutions.
>>> 
>>> I was initially tempted to go with option 1 (move matrixcalc to suggests
>>> and check for its existence before using functions that rely on it), but
>> as
>>> mentioned, this is not a long term fix.
>>> 
>>> I unfortunately can't take on the responsibilities of option 2 (becoming
>>> the package maintainer) -- there is much that this package does that I do
>>> not understand, and do not wish to feign authority!
>>> 
>>> I plan to take option 3 (copy the needed functions into my package).
>> There
>>> are only three functions I need from matrixcalc, and all three are fairly
>>> simple (is.square.matrix
>>> ,
>>> is.symmetric.matrix
>>> , and
>>> is.positive.definite
>>> ) and
>> there
>>> is only one function in postpack that needs them. I plan to define them
>>> within the postpack function. matrixcalc is licensed under GPL >= 2 and
>>> based on my scan of the license text, this is allowed. Is that correct?
>>> 
>>> Regarding option 4 (contacting the matrixcalc maintainer), the original
>>> email from CRAN mentioned that they have attempted to contact the package
>>> author with no response.
>>> 
>>> Thank you!
>>> 
>>> On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:
>>> 
 I just downloaded the source matrixcalc package to see what it
>> contained.
 The functions
 I looked at seem fairly straightforward and the OP could likely develop
 equivalent features
 in his own code, possibly avoiding a function call. Avoiding the
>> function
 call means NAMESPACE etc. are not involved, so fewer places for getting
 into
 trouble, assuming the inline code works properly.
 
 JN
 
 
 On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> On 02/06/2021 12:13 p.m., Ben Staton wrote:
>> Hello,
>> 
>> I received an email notice from CRAN indicating that my R package
>> ('postpack') will be archived soon if I do not take any action and I
 want
>> to avoid that outcome. The issue is not caused by my package, but
 instead a
>> package that my package depends on:
>> 
>> "... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
>> and archiving this will necessitate also archiving its strong reverse
>> dependencies."
>> 
>> Evidently, xyz has been returning errors on new R builds prompting
>> CRAN
 to
>> list it as a package to be archived. My package, 'postpack' has
>> 'matrixcalc' listed in the Imports field, which I assume is why I
 received
>> this email.
>> 
>> I want to keep 'postpack' active and don't want it to be archived. I
 still
>> need package 'matrixcalc' for my package, but not for most functions.
 Could
>> I simply move package 'matrixcalc' to the Suggests list and submit the
 new
>> version to CRAN to remove the "Strong Reverse Dependency" issue that
>> triggered this email to avoid CRAN from archiving my package?
> 
> That's part of one solution,

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Avraham Adler
Exactly. Is square is just brow=ncol, is positive definite can be
implemented as a check that all eigenvalues > 0, which can be done with
base, and is.symmetric can be simply brute forced in a loop comparing i,j
with j,i.

The fewer dependencies a package has, the more robust it is. It’s a fine
balance between not reinventing the wheel and ceding too much stability to
other packages.

Thanks,

Avi

On Wed, Jun 2, 2021 at 3:15 PM John Harrold 
wrote:

> To add another option. In the past when this has happened to me I've found
> other packages that provide similar functionality.
>
> I'm assuming that is.square just checks the number of columns == number of
> rows? And the others can probably be implemented pretty easily.
>
> On Wed, Jun 2, 2021 at 10:41 AM Ben Staton  wrote:
>
> > My package uses the MIT license, so would that not meet the compatibility
> > requirements?
> >
> > I will attempt to reach out to the package author - thanks for your help!
> >
> > On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
> >
> > > That all sounds exactly right.
> > >GPL >= 2 allows you to use the material without asking permission as
> > > long as your package is compatibly licensed (e.g. also GPL).
> > >Under normal circumstances it would be polite to ask permission, but
> > > if the reason for doing this is that the maintainer is unreachable in
> > > the first place ...
> > >
> > >   If you want to try a little harder, it seems quite possible that you
> > > can reach the matrixcalc maintainer at the (personal) e-mail address
> > > shown in this page:
> > >
> > >
> >
> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
> > >
> > >(Possibly an identity confusion, but I rate that as unlikely based
> on
> > > other facebook snooping)
> > >
> > >I don't think a short, polite e-mail request would be out of bounds,
> > > they can always ignore it or tell you to go away.
> > >
> > >cheers
> > > Ben Bolker
> > >
> > > On 6/2/21 1:15 PM, Ben Staton wrote:
> > > > Hello,
> > > >
> > > > Thank you for your detailed list of solutions.
> > > >
> > > > I was initially tempted to go with option 1 (move matrixcalc to
> > suggests
> > > > and check for its existence before using functions that rely on it),
> > but
> > > as
> > > > mentioned, this is not a long term fix.
> > > >
> > > > I unfortunately can't take on the responsibilities of option 2
> > (becoming
> > > > the package maintainer) -- there is much that this package does that
> I
> > do
> > > > not understand, and do not wish to feign authority!
> > > >
> > > > I plan to take option 3 (copy the needed functions into my package).
> > > There
> > > > are only three functions I need from matrixcalc, and all three are
> > fairly
> > > > simple (is.square.matrix
> > > > ,
> > > > is.symmetric.matrix
> > > > , and
> > > > is.positive.definite
> > > > ) and
> > > there
> > > > is only one function in postpack that needs them. I plan to define
> them
> > > > within the postpack function. matrixcalc is licensed under GPL >= 2
> and
> > > > based on my scan of the license text, this is allowed. Is that
> correct?
> > > >
> > > > Regarding option 4 (contacting the matrixcalc maintainer), the
> original
> > > > email from CRAN mentioned that they have attempted to contact the
> > package
> > > > author with no response.
> > > >
> > > > Thank you!
> > > >
> > > > On Wed, Jun 2, 2021 at 9:52 AM J C Nash 
> wrote:
> > > >
> > > >> I just downloaded the source matrixcalc package to see what it
> > > contained.
> > > >> The functions
> > > >> I looked at seem fairly straightforward and the OP could likely
> > develop
> > > >> equivalent features
> > > >> in his own code, possibly avoiding a function call. Avoiding the
> > > function
> > > >> call means NAMESPACE etc. are not involved, so fewer places for
> > getting
> > > >> into
> > > >> trouble, assuming the inline code works properly.
> > > >>
> > > >> JN
> > > >>
> > > >>
> > > >> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> > > >>> On 02/06/2021 12:13 p.m., Ben Staton wrote:
> > >  Hello,
> > > 
> > >  I received an email notice from CRAN indicating that my R package
> > >  ('postpack') will be archived soon if I do not take any action
> and I
> > > >> want
> > >  to avoid that outcome. The issue is not caused by my package, but
> > > >> instead a
> > >  package that my package depends on:
> > > 
> > >  "... package 'matrixcalc' is now scheduled for archival on
> > 2021-06-09,
> > >  and archiving this will necessitate also archiving its strong
> > reverse
> > >  dependencies."
> > > 
> > >  Evidently, xyz has been returning errors on new R builds prompting
> > > CRAN
> > > >> to
> > >  list it as a package to be archived. My package, 'postpack' has
>

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread J C Nash
As noted by John Harrold and my previous posting, these are not monster codes.
I'd check what I needed and simply work out enough R to make my package work.
Most of these matrix functions are pretty much old-fashioned math translated
into R. I can't see that R will engage lawyers if the OP translates the variable
names to the ones he is using and more or less mimics the bits of code needed.

Cheers, JN


On 2021-06-02 3:15 p.m., John Harrold wrote:
> To add another option. In the past when this has happened to me I've found
> other packages that provide similar functionality.
> 
> I'm assuming that is.square just checks the number of columns == number of
> rows? And the others can probably be implemented pretty easily.
> 
> On Wed, Jun 2, 2021 at 10:41 AM Ben Staton  wrote:
> 
>> My package uses the MIT license, so would that not meet the compatibility
>> requirements?
>>
>> I will attempt to reach out to the package author - thanks for your help!
>>
>> On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
>>
>>> That all sounds exactly right.
>>>GPL >= 2 allows you to use the material without asking permission as
>>> long as your package is compatibly licensed (e.g. also GPL).
>>>Under normal circumstances it would be polite to ask permission, but
>>> if the reason for doing this is that the maintainer is unreachable in
>>> the first place ...
>>>
>>>   If you want to try a little harder, it seems quite possible that you
>>> can reach the matrixcalc maintainer at the (personal) e-mail address
>>> shown in this page:
>>>
>>>
>> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
>>>
>>>(Possibly an identity confusion, but I rate that as unlikely based on
>>> other facebook snooping)
>>>
>>>I don't think a short, polite e-mail request would be out of bounds,
>>> they can always ignore it or tell you to go away.
>>>
>>>cheers
>>> Ben Bolker
>>>
>>> On 6/2/21 1:15 PM, Ben Staton wrote:
 Hello,

 Thank you for your detailed list of solutions.

 I was initially tempted to go with option 1 (move matrixcalc to
>> suggests
 and check for its existence before using functions that rely on it),
>> but
>>> as
 mentioned, this is not a long term fix.

 I unfortunately can't take on the responsibilities of option 2
>> (becoming
 the package maintainer) -- there is much that this package does that I
>> do
 not understand, and do not wish to feign authority!

 I plan to take option 3 (copy the needed functions into my package).
>>> There
 are only three functions I need from matrixcalc, and all three are
>> fairly
 simple (is.square.matrix
 ,
 is.symmetric.matrix
 , and
 is.positive.definite
 ) and
>>> there
 is only one function in postpack that needs them. I plan to define them
 within the postpack function. matrixcalc is licensed under GPL >= 2 and
 based on my scan of the license text, this is allowed. Is that correct?

 Regarding option 4 (contacting the matrixcalc maintainer), the original
 email from CRAN mentioned that they have attempted to contact the
>> package
 author with no response.

 Thank you!

 On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:

> I just downloaded the source matrixcalc package to see what it
>>> contained.
> The functions
> I looked at seem fairly straightforward and the OP could likely
>> develop
> equivalent features
> in his own code, possibly avoiding a function call. Avoiding the
>>> function
> call means NAMESPACE etc. are not involved, so fewer places for
>> getting
> into
> trouble, assuming the inline code works properly.
>
> JN
>
>
> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
>> On 02/06/2021 12:13 p.m., Ben Staton wrote:
>>> Hello,
>>>
>>> I received an email notice from CRAN indicating that my R package
>>> ('postpack') will be archived soon if I do not take any action and I
> want
>>> to avoid that outcome. The issue is not caused by my package, but
> instead a
>>> package that my package depends on:
>>>
>>> "... package 'matrixcalc' is now scheduled for archival on
>> 2021-06-09,
>>> and archiving this will necessitate also archiving its strong
>> reverse
>>> dependencies."
>>>
>>> Evidently, xyz has been returning errors on new R builds prompting
>>> CRAN
> to
>>> list it as a package to be archived. My package, 'postpack' has
>>> 'matrixcalc' listed in the Imports field, which I assume is why I
> received
>>> this email.
>>>
>>> I want to keep 'postpack' active and don't want it to be archived. I
> still
>>> need package 'matrixcalc' for my package, but not for most
>> func

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread John Harrold
To add another option. In the past when this has happened to me I've found
other packages that provide similar functionality.

I'm assuming that is.square just checks the number of columns == number of
rows? And the others can probably be implemented pretty easily.

On Wed, Jun 2, 2021 at 10:41 AM Ben Staton  wrote:

> My package uses the MIT license, so would that not meet the compatibility
> requirements?
>
> I will attempt to reach out to the package author - thanks for your help!
>
> On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
>
> > That all sounds exactly right.
> >GPL >= 2 allows you to use the material without asking permission as
> > long as your package is compatibly licensed (e.g. also GPL).
> >Under normal circumstances it would be polite to ask permission, but
> > if the reason for doing this is that the maintainer is unreachable in
> > the first place ...
> >
> >   If you want to try a little harder, it seems quite possible that you
> > can reach the matrixcalc maintainer at the (personal) e-mail address
> > shown in this page:
> >
> >
> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
> >
> >(Possibly an identity confusion, but I rate that as unlikely based on
> > other facebook snooping)
> >
> >I don't think a short, polite e-mail request would be out of bounds,
> > they can always ignore it or tell you to go away.
> >
> >cheers
> > Ben Bolker
> >
> > On 6/2/21 1:15 PM, Ben Staton wrote:
> > > Hello,
> > >
> > > Thank you for your detailed list of solutions.
> > >
> > > I was initially tempted to go with option 1 (move matrixcalc to
> suggests
> > > and check for its existence before using functions that rely on it),
> but
> > as
> > > mentioned, this is not a long term fix.
> > >
> > > I unfortunately can't take on the responsibilities of option 2
> (becoming
> > > the package maintainer) -- there is much that this package does that I
> do
> > > not understand, and do not wish to feign authority!
> > >
> > > I plan to take option 3 (copy the needed functions into my package).
> > There
> > > are only three functions I need from matrixcalc, and all three are
> fairly
> > > simple (is.square.matrix
> > > ,
> > > is.symmetric.matrix
> > > , and
> > > is.positive.definite
> > > ) and
> > there
> > > is only one function in postpack that needs them. I plan to define them
> > > within the postpack function. matrixcalc is licensed under GPL >= 2 and
> > > based on my scan of the license text, this is allowed. Is that correct?
> > >
> > > Regarding option 4 (contacting the matrixcalc maintainer), the original
> > > email from CRAN mentioned that they have attempted to contact the
> package
> > > author with no response.
> > >
> > > Thank you!
> > >
> > > On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:
> > >
> > >> I just downloaded the source matrixcalc package to see what it
> > contained.
> > >> The functions
> > >> I looked at seem fairly straightforward and the OP could likely
> develop
> > >> equivalent features
> > >> in his own code, possibly avoiding a function call. Avoiding the
> > function
> > >> call means NAMESPACE etc. are not involved, so fewer places for
> getting
> > >> into
> > >> trouble, assuming the inline code works properly.
> > >>
> > >> JN
> > >>
> > >>
> > >> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> > >>> On 02/06/2021 12:13 p.m., Ben Staton wrote:
> >  Hello,
> > 
> >  I received an email notice from CRAN indicating that my R package
> >  ('postpack') will be archived soon if I do not take any action and I
> > >> want
> >  to avoid that outcome. The issue is not caused by my package, but
> > >> instead a
> >  package that my package depends on:
> > 
> >  "... package 'matrixcalc' is now scheduled for archival on
> 2021-06-09,
> >  and archiving this will necessitate also archiving its strong
> reverse
> >  dependencies."
> > 
> >  Evidently, xyz has been returning errors on new R builds prompting
> > CRAN
> > >> to
> >  list it as a package to be archived. My package, 'postpack' has
> >  'matrixcalc' listed in the Imports field, which I assume is why I
> > >> received
> >  this email.
> > 
> >  I want to keep 'postpack' active and don't want it to be archived. I
> > >> still
> >  need package 'matrixcalc' for my package, but not for most
> functions.
> > >> Could
> >  I simply move package 'matrixcalc' to the Suggests list and submit
> the
> > >> new
> >  version to CRAN to remove the "Strong Reverse Dependency" issue that
> >  triggered this email to avoid CRAN from archiving my package?
> > >>>
> > >>> That's part of one solution, but not the best solution.
> > >>>
> > >>> If you move it to Suggests, you should make sure that your package
> 

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Jeff Newmiller
MIT is more permissive than GPL2, so there is a collision there. But you may be 
able to work it out with the author?

On June 2, 2021 10:36:00 AM PDT, Ben Staton  wrote:
>My package uses the MIT license, so would that not meet the
>compatibility
>requirements?
>
>I will attempt to reach out to the package author - thanks for your
>help!
>
>On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:
>
>> That all sounds exactly right.
>>GPL >= 2 allows you to use the material without asking permission
>as
>> long as your package is compatibly licensed (e.g. also GPL).
>>Under normal circumstances it would be polite to ask permission,
>but
>> if the reason for doing this is that the maintainer is unreachable in
>> the first place ...
>>
>>   If you want to try a little harder, it seems quite possible that
>you
>> can reach the matrixcalc maintainer at the (personal) e-mail address
>> shown in this page:
>>
>>
>https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
>>
>>(Possibly an identity confusion, but I rate that as unlikely based
>on
>> other facebook snooping)
>>
>>I don't think a short, polite e-mail request would be out of
>bounds,
>> they can always ignore it or tell you to go away.
>>
>>cheers
>> Ben Bolker
>>
>> On 6/2/21 1:15 PM, Ben Staton wrote:
>> > Hello,
>> >
>> > Thank you for your detailed list of solutions.
>> >
>> > I was initially tempted to go with option 1 (move matrixcalc to
>suggests
>> > and check for its existence before using functions that rely on
>it), but
>> as
>> > mentioned, this is not a long term fix.
>> >
>> > I unfortunately can't take on the responsibilities of option 2
>(becoming
>> > the package maintainer) -- there is much that this package does
>that I do
>> > not understand, and do not wish to feign authority!
>> >
>> > I plan to take option 3 (copy the needed functions into my
>package).
>> There
>> > are only three functions I need from matrixcalc, and all three are
>fairly
>> > simple (is.square.matrix
>> > ,
>> > is.symmetric.matrix
>> > , and
>> > is.positive.definite
>> > ) and
>> there
>> > is only one function in postpack that needs them. I plan to define
>them
>> > within the postpack function. matrixcalc is licensed under GPL >= 2
>and
>> > based on my scan of the license text, this is allowed. Is that
>correct?
>> >
>> > Regarding option 4 (contacting the matrixcalc maintainer), the
>original
>> > email from CRAN mentioned that they have attempted to contact the
>package
>> > author with no response.
>> >
>> > Thank you!
>> >
>> > On Wed, Jun 2, 2021 at 9:52 AM J C Nash 
>wrote:
>> >
>> >> I just downloaded the source matrixcalc package to see what it
>> contained.
>> >> The functions
>> >> I looked at seem fairly straightforward and the OP could likely
>develop
>> >> equivalent features
>> >> in his own code, possibly avoiding a function call. Avoiding the
>> function
>> >> call means NAMESPACE etc. are not involved, so fewer places for
>getting
>> >> into
>> >> trouble, assuming the inline code works properly.
>> >>
>> >> JN
>> >>
>> >>
>> >> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
>> >>> On 02/06/2021 12:13 p.m., Ben Staton wrote:
>>  Hello,
>> 
>>  I received an email notice from CRAN indicating that my R
>package
>>  ('postpack') will be archived soon if I do not take any action
>and I
>> >> want
>>  to avoid that outcome. The issue is not caused by my package,
>but
>> >> instead a
>>  package that my package depends on:
>> 
>>  "... package 'matrixcalc' is now scheduled for archival on
>2021-06-09,
>>  and archiving this will necessitate also archiving its strong
>reverse
>>  dependencies."
>> 
>>  Evidently, xyz has been returning errors on new R builds
>prompting
>> CRAN
>> >> to
>>  list it as a package to be archived. My package, 'postpack' has
>>  'matrixcalc' listed in the Imports field, which I assume is why
>I
>> >> received
>>  this email.
>> 
>>  I want to keep 'postpack' active and don't want it to be
>archived. I
>> >> still
>>  need package 'matrixcalc' for my package, but not for most
>functions.
>> >> Could
>>  I simply move package 'matrixcalc' to the Suggests list and
>submit the
>> >> new
>>  version to CRAN to remove the "Strong Reverse Dependency" issue
>that
>>  triggered this email to avoid CRAN from archiving my package?
>> >>>
>> >>> That's part of one solution, but not the best solution.
>> >>>
>> >>> If you move it to Suggests, you should make sure that your
>package
>> >> checks for it before every use, and falls back to
>> >>> some other calculation if it is not present.  Be aware that once
>it is
>> >> archived, almost none of your users will have it
>> >>> available, so this is kind of like dropping the function

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Staton
My package uses the MIT license, so would that not meet the compatibility
requirements?

I will attempt to reach out to the package author - thanks for your help!

On Wed, Jun 2, 2021 at 10:31 AM Ben Bolker  wrote:

> That all sounds exactly right.
>GPL >= 2 allows you to use the material without asking permission as
> long as your package is compatibly licensed (e.g. also GPL).
>Under normal circumstances it would be polite to ask permission, but
> if the reason for doing this is that the maintainer is unreachable in
> the first place ...
>
>   If you want to try a little harder, it seems quite possible that you
> can reach the matrixcalc maintainer at the (personal) e-mail address
> shown in this page:
>
> https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042
>
>(Possibly an identity confusion, but I rate that as unlikely based on
> other facebook snooping)
>
>I don't think a short, polite e-mail request would be out of bounds,
> they can always ignore it or tell you to go away.
>
>cheers
> Ben Bolker
>
> On 6/2/21 1:15 PM, Ben Staton wrote:
> > Hello,
> >
> > Thank you for your detailed list of solutions.
> >
> > I was initially tempted to go with option 1 (move matrixcalc to suggests
> > and check for its existence before using functions that rely on it), but
> as
> > mentioned, this is not a long term fix.
> >
> > I unfortunately can't take on the responsibilities of option 2 (becoming
> > the package maintainer) -- there is much that this package does that I do
> > not understand, and do not wish to feign authority!
> >
> > I plan to take option 3 (copy the needed functions into my package).
> There
> > are only three functions I need from matrixcalc, and all three are fairly
> > simple (is.square.matrix
> > ,
> > is.symmetric.matrix
> > , and
> > is.positive.definite
> > ) and
> there
> > is only one function in postpack that needs them. I plan to define them
> > within the postpack function. matrixcalc is licensed under GPL >= 2 and
> > based on my scan of the license text, this is allowed. Is that correct?
> >
> > Regarding option 4 (contacting the matrixcalc maintainer), the original
> > email from CRAN mentioned that they have attempted to contact the package
> > author with no response.
> >
> > Thank you!
> >
> > On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:
> >
> >> I just downloaded the source matrixcalc package to see what it
> contained.
> >> The functions
> >> I looked at seem fairly straightforward and the OP could likely develop
> >> equivalent features
> >> in his own code, possibly avoiding a function call. Avoiding the
> function
> >> call means NAMESPACE etc. are not involved, so fewer places for getting
> >> into
> >> trouble, assuming the inline code works properly.
> >>
> >> JN
> >>
> >>
> >> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> >>> On 02/06/2021 12:13 p.m., Ben Staton wrote:
>  Hello,
> 
>  I received an email notice from CRAN indicating that my R package
>  ('postpack') will be archived soon if I do not take any action and I
> >> want
>  to avoid that outcome. The issue is not caused by my package, but
> >> instead a
>  package that my package depends on:
> 
>  "... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
>  and archiving this will necessitate also archiving its strong reverse
>  dependencies."
> 
>  Evidently, xyz has been returning errors on new R builds prompting
> CRAN
> >> to
>  list it as a package to be archived. My package, 'postpack' has
>  'matrixcalc' listed in the Imports field, which I assume is why I
> >> received
>  this email.
> 
>  I want to keep 'postpack' active and don't want it to be archived. I
> >> still
>  need package 'matrixcalc' for my package, but not for most functions.
> >> Could
>  I simply move package 'matrixcalc' to the Suggests list and submit the
> >> new
>  version to CRAN to remove the "Strong Reverse Dependency" issue that
>  triggered this email to avoid CRAN from archiving my package?
> >>>
> >>> That's part of one solution, but not the best solution.
> >>>
> >>> If you move it to Suggests, you should make sure that your package
> >> checks for it before every use, and falls back to
> >>> some other calculation if it is not present.  Be aware that once it is
> >> archived, almost none of your users will have it
> >>> available, so this is kind of like dropping the functions that it
> >> supports.
> >>>
> >>> Another solution which would be great for the community might be for
> you
> >> to offer to take over as maintainer of
> >>> matrixcalc.  Then you'd fix whatever problems it has, and you wouldn't
> >> need to worry about it.  I haven't looked at the
> >>> issues so I don't know if this 

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Bolker

   That all sounds exactly right.
  GPL >= 2 allows you to use the material without asking permission as 
long as your package is compatibly licensed (e.g. also GPL).
  Under normal circumstances it would be polite to ask permission, but 
if the reason for doing this is that the maintainer is unreachable in 
the first place ...


 If you want to try a little harder, it seems quite possible that you 
can reach the matrixcalc maintainer at the (personal) e-mail address 
shown in this page:


https://www.facebook.com/photo/?fbid=10208324530363130&set=ecnf.1000413042

  (Possibly an identity confusion, but I rate that as unlikely based on 
other facebook snooping)


  I don't think a short, polite e-mail request would be out of bounds, 
they can always ignore it or tell you to go away.


  cheers
   Ben Bolker

On 6/2/21 1:15 PM, Ben Staton wrote:

Hello,

Thank you for your detailed list of solutions.

I was initially tempted to go with option 1 (move matrixcalc to suggests
and check for its existence before using functions that rely on it), but as
mentioned, this is not a long term fix.

I unfortunately can't take on the responsibilities of option 2 (becoming
the package maintainer) -- there is much that this package does that I do
not understand, and do not wish to feign authority!

I plan to take option 3 (copy the needed functions into my package). There
are only three functions I need from matrixcalc, and all three are fairly
simple (is.square.matrix
,
is.symmetric.matrix
, and
is.positive.definite
) and there
is only one function in postpack that needs them. I plan to define them
within the postpack function. matrixcalc is licensed under GPL >= 2 and
based on my scan of the license text, this is allowed. Is that correct?

Regarding option 4 (contacting the matrixcalc maintainer), the original
email from CRAN mentioned that they have attempted to contact the package
author with no response.

Thank you!

On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:


I just downloaded the source matrixcalc package to see what it contained.
The functions
I looked at seem fairly straightforward and the OP could likely develop
equivalent features
in his own code, possibly avoiding a function call. Avoiding the function
call means NAMESPACE etc. are not involved, so fewer places for getting
into
trouble, assuming the inline code works properly.

JN


On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:

On 02/06/2021 12:13 p.m., Ben Staton wrote:

Hello,

I received an email notice from CRAN indicating that my R package
('postpack') will be archived soon if I do not take any action and I

want

to avoid that outcome. The issue is not caused by my package, but

instead a

package that my package depends on:

"... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
and archiving this will necessitate also archiving its strong reverse
dependencies."

Evidently, xyz has been returning errors on new R builds prompting CRAN

to

list it as a package to be archived. My package, 'postpack' has
'matrixcalc' listed in the Imports field, which I assume is why I

received

this email.

I want to keep 'postpack' active and don't want it to be archived. I

still

need package 'matrixcalc' for my package, but not for most functions.

Could

I simply move package 'matrixcalc' to the Suggests list and submit the

new

version to CRAN to remove the "Strong Reverse Dependency" issue that
triggered this email to avoid CRAN from archiving my package?


That's part of one solution, but not the best solution.

If you move it to Suggests, you should make sure that your package

checks for it before every use, and falls back to

some other calculation if it is not present.  Be aware that once it is

archived, almost none of your users will have it

available, so this is kind of like dropping the functions that it

supports.


Another solution which would be great for the community might be for you

to offer to take over as maintainer of

matrixcalc.  Then you'd fix whatever problems it has, and you wouldn't

need to worry about it.  I haven't looked at the

issues so I don't know if this is feasible.

A third choice would be for you to copy the functions you need from

matrixcalc into your own package so you can drop the

dependency.  This is generally legal under the licenses that CRAN

accepts, but you should check anyway.


A fourth choice would be for you to contact the matrixcalc maintainer,

and help them to fix the issues so that

matrixcalc doesn't get archived.  They may or may not be willing to work

with you.


I'd say my third choice is the best choice in the short term, and 2nd or

4th would be good long term solutions.


Duncan Murdoch

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

Re: [R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Staton
Hello,

Thank you for your detailed list of solutions.

I was initially tempted to go with option 1 (move matrixcalc to suggests
and check for its existence before using functions that rely on it), but as
mentioned, this is not a long term fix.

I unfortunately can't take on the responsibilities of option 2 (becoming
the package maintainer) -- there is much that this package does that I do
not understand, and do not wish to feign authority!

I plan to take option 3 (copy the needed functions into my package). There
are only three functions I need from matrixcalc, and all three are fairly
simple (is.square.matrix
,
is.symmetric.matrix
, and
is.positive.definite
) and there
is only one function in postpack that needs them. I plan to define them
within the postpack function. matrixcalc is licensed under GPL >= 2 and
based on my scan of the license text, this is allowed. Is that correct?

Regarding option 4 (contacting the matrixcalc maintainer), the original
email from CRAN mentioned that they have attempted to contact the package
author with no response.

Thank you!

On Wed, Jun 2, 2021 at 9:52 AM J C Nash  wrote:

> I just downloaded the source matrixcalc package to see what it contained.
> The functions
> I looked at seem fairly straightforward and the OP could likely develop
> equivalent features
> in his own code, possibly avoiding a function call. Avoiding the function
> call means NAMESPACE etc. are not involved, so fewer places for getting
> into
> trouble, assuming the inline code works properly.
>
> JN
>
>
> On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> > On 02/06/2021 12:13 p.m., Ben Staton wrote:
> >> Hello,
> >>
> >> I received an email notice from CRAN indicating that my R package
> >> ('postpack') will be archived soon if I do not take any action and I
> want
> >> to avoid that outcome. The issue is not caused by my package, but
> instead a
> >> package that my package depends on:
> >>
> >> "... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
> >> and archiving this will necessitate also archiving its strong reverse
> >> dependencies."
> >>
> >> Evidently, xyz has been returning errors on new R builds prompting CRAN
> to
> >> list it as a package to be archived. My package, 'postpack' has
> >> 'matrixcalc' listed in the Imports field, which I assume is why I
> received
> >> this email.
> >>
> >> I want to keep 'postpack' active and don't want it to be archived. I
> still
> >> need package 'matrixcalc' for my package, but not for most functions.
> Could
> >> I simply move package 'matrixcalc' to the Suggests list and submit the
> new
> >> version to CRAN to remove the "Strong Reverse Dependency" issue that
> >> triggered this email to avoid CRAN from archiving my package?
> >
> > That's part of one solution, but not the best solution.
> >
> > If you move it to Suggests, you should make sure that your package
> checks for it before every use, and falls back to
> > some other calculation if it is not present.  Be aware that once it is
> archived, almost none of your users will have it
> > available, so this is kind of like dropping the functions that it
> supports.
> >
> > Another solution which would be great for the community might be for you
> to offer to take over as maintainer of
> > matrixcalc.  Then you'd fix whatever problems it has, and you wouldn't
> need to worry about it.  I haven't looked at the
> > issues so I don't know if this is feasible.
> >
> > A third choice would be for you to copy the functions you need from
> matrixcalc into your own package so you can drop the
> > dependency.  This is generally legal under the licenses that CRAN
> accepts, but you should check anyway.
> >
> > A fourth choice would be for you to contact the matrixcalc maintainer,
> and help them to fix the issues so that
> > matrixcalc doesn't get archived.  They may or may not be willing to work
> with you.
> >
> > I'd say my third choice is the best choice in the short term, and 2nd or
> 4th would be good long term solutions.
> >
> > Duncan Murdoch
> >
> > __
> > 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] Question about preventing CRAN package archival

2021-06-02 Thread J C Nash
I just downloaded the source matrixcalc package to see what it contained. The 
functions
I looked at seem fairly straightforward and the OP could likely develop 
equivalent features
in his own code, possibly avoiding a function call. Avoiding the function
call means NAMESPACE etc. are not involved, so fewer places for getting into
trouble, assuming the inline code works properly.

JN


On 2021-06-02 12:37 p.m., Duncan Murdoch wrote:
> On 02/06/2021 12:13 p.m., Ben Staton wrote:
>> Hello,
>>
>> I received an email notice from CRAN indicating that my R package
>> ('postpack') will be archived soon if I do not take any action and I want
>> to avoid that outcome. The issue is not caused by my package, but instead a
>> package that my package depends on:
>>
>> "... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
>> and archiving this will necessitate also archiving its strong reverse
>> dependencies."
>>
>> Evidently, xyz has been returning errors on new R builds prompting CRAN to
>> list it as a package to be archived. My package, 'postpack' has
>> 'matrixcalc' listed in the Imports field, which I assume is why I received
>> this email.
>>
>> I want to keep 'postpack' active and don't want it to be archived. I still
>> need package 'matrixcalc' for my package, but not for most functions. Could
>> I simply move package 'matrixcalc' to the Suggests list and submit the new
>> version to CRAN to remove the "Strong Reverse Dependency" issue that
>> triggered this email to avoid CRAN from archiving my package?
> 
> That's part of one solution, but not the best solution.
> 
> If you move it to Suggests, you should make sure that your package checks for 
> it before every use, and falls back to
> some other calculation if it is not present.  Be aware that once it is 
> archived, almost none of your users will have it
> available, so this is kind of like dropping the functions that it supports.
> 
> Another solution which would be great for the community might be for you to 
> offer to take over as maintainer of
> matrixcalc.  Then you'd fix whatever problems it has, and you wouldn't need 
> to worry about it.  I haven't looked at the
> issues so I don't know if this is feasible.
> 
> A third choice would be for you to copy the functions you need from 
> matrixcalc into your own package so you can drop the
> dependency.  This is generally legal under the licenses that CRAN accepts, 
> but you should check anyway.
> 
> A fourth choice would be for you to contact the matrixcalc maintainer, and 
> help them to fix the issues so that
> matrixcalc doesn't get archived.  They may or may not be willing to work with 
> you.
> 
> I'd say my third choice is the best choice in the short term, and 2nd or 4th 
> would be good long term solutions.
> 
> Duncan Murdoch
> 
> __
> 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] Question about preventing CRAN package archival

2021-06-02 Thread Duncan Murdoch

On 02/06/2021 12:13 p.m., Ben Staton wrote:

Hello,

I received an email notice from CRAN indicating that my R package
('postpack') will be archived soon if I do not take any action and I want
to avoid that outcome. The issue is not caused by my package, but instead a
package that my package depends on:

"... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
and archiving this will necessitate also archiving its strong reverse
dependencies."

Evidently, xyz has been returning errors on new R builds prompting CRAN to
list it as a package to be archived. My package, 'postpack' has
'matrixcalc' listed in the Imports field, which I assume is why I received
this email.

I want to keep 'postpack' active and don't want it to be archived. I still
need package 'matrixcalc' for my package, but not for most functions. Could
I simply move package 'matrixcalc' to the Suggests list and submit the new
version to CRAN to remove the "Strong Reverse Dependency" issue that
triggered this email to avoid CRAN from archiving my package?


That's part of one solution, but not the best solution.

If you move it to Suggests, you should make sure that your package 
checks for it before every use, and falls back to some other calculation 
if it is not present.  Be aware that once it is archived, almost none of 
your users will have it available, so this is kind of like dropping the 
functions that it supports.


Another solution which would be great for the community might be for you 
to offer to take over as maintainer of matrixcalc.  Then you'd fix 
whatever problems it has, and you wouldn't need to worry about it.  I 
haven't looked at the issues so I don't know if this is feasible.


A third choice would be for you to copy the functions you need from 
matrixcalc into your own package so you can drop the dependency.  This 
is generally legal under the licenses that CRAN accepts, but you should 
check anyway.


A fourth choice would be for you to contact the matrixcalc maintainer, 
and help them to fix the issues so that matrixcalc doesn't get archived. 
 They may or may not be willing to work with you.


I'd say my third choice is the best choice in the short term, and 2nd or 
4th would be good long term solutions.


Duncan Murdoch

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


[R-pkg-devel] Question about preventing CRAN package archival

2021-06-02 Thread Ben Staton
Hello,

I received an email notice from CRAN indicating that my R package
('postpack') will be archived soon if I do not take any action and I want
to avoid that outcome. The issue is not caused by my package, but instead a
package that my package depends on:

"... package 'matrixcalc' is now scheduled for archival on 2021-06-09,
and archiving this will necessitate also archiving its strong reverse
dependencies."

Evidently, xyz has been returning errors on new R builds prompting CRAN to
list it as a package to be archived. My package, 'postpack' has
'matrixcalc' listed in the Imports field, which I assume is why I received
this email.

I want to keep 'postpack' active and don't want it to be archived. I still
need package 'matrixcalc' for my package, but not for most functions. Could
I simply move package 'matrixcalc' to the Suggests list and submit the new
version to CRAN to remove the "Strong Reverse Dependency" issue that
triggered this email to avoid CRAN from archiving my package?

Thanks in advance for any advice you can provide!

[[alternative HTML version deleted]]

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