Re: [Rd] Fortune! (Re: declaring package dependencies)

2013-09-14 Thread Achim Zeileis

Thanks, added to the devel-version on R-Forge.
Z

On Fri, 13 Sep 2013, Dirk Eddelbuettel wrote:



On 13 September 2013 at 08:31, Michael Friendly wrote:
| Thanks for this explanation, but I'm still confused about how to avoid
| the wrath of the CRAN-devel daemon, whose appetite for new morsels of
| developer flesh seems ever increasing and makes keeping even a stable
| package up-to-date a moving target.

_Obviously_ a fortunes candidate. CCing Achim.

[ And I informed my first-born that her time with us will surely be limited
 as I expect CRAN to demand every submitters first child any day now ... ]

| Perhaps such changes in R devel should be announced on this list for public
| comment before they are enforced in R CMD check.

Many of us have suggested that many times before, but CRAN has the longer
stick and simply refuses to play along.

"Eventually" the tides will turn and some of us will be fed up enough and
stop uploading.  But so far we still have an (uneasy?) truce, and everybody
is playing (fighting?) along.

And don't even get me started on the state of r-forge build services...

Dirk

--
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com



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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Duncan Murdoch

On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:


On 13 September 2013 at 11:42, Paul Gilbert wrote:
| On 13-09-13 11:02 AM, Dirk Eddelbuettel wrote:
| > It's not so much Rcpp itself or my 20-ish packages but the fact that we (as
| > in the Rcpp authors) now stand behind an API that also has to accomodate
| > changes in R CMD check. Case in point is current (unannounced) change that
| > makes all Depends: Rcpp become Imports: Rcpp because of the NAMESPACE 
checks.
|
| I am a bit confused by this Dirk, so maybe I am missing something. I
| think this is still a "Note" in R-devel so you do have some time to make
| the change, at least several months, maybe more. It is not quite what I
| think of as an "announcement", more like a shot across the bow, but it
| is also not "unannounced".

One package author [as in user of Rcpp and not an author of it] was told by
CRAN this week to change his package and came to me for help -- so in that
small way the CRAN "non-communication policy" is already creating more work
for me, and makes me look silly as "I don't document what Rcpp-using packages
need" as I sadly still lack the time machine or psychic powers to infer what
may get changed this weekend.

| More importantly, I don't think that the requirement is necessarily to
| change Depends: Rcpp to Imports: Rcpp, the requirement is to put
| imports(Rcpp) in the NAMESPACE file. I think this is so that the package
| continues to work even if the user does something with the search path.
| The decision to change Depends: Rcpp to Imports: Rcpp really depends on
| whether the package author wants Rcpp functions to be available directly

Rcpp is a bit of an odd-ball as you mostly need it at compile-time, and you
require very few R-level functions (but there is package initialization etc
pp).  We also only about two handful of functions, and those are for
functionality not all 135 packages use (eg Modules etc).

But the focus here should not be on my hobby package. The focus needs to be
on how four CRAN maintainers (who do a boatload of amazing work which is
_truly_ appreciated in its thoroughness and reach) could make the life of
authors of 4800+ packages easier by communicating and planning a tad more.


Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it 
helps me a lot, but if they only did a little bit more work it would 
help me even more."


I suspect they'd be more receptive to suggestions that had them doing 
less work, not more.


Duncan Murdoch



| by users without them needing to specifically attach Rcpp. They are
| available with Depends but with Imports they are just used internally in
| the package.
|
| So, one of us is confused. Usually it is me.

No, no, I usually keep you company.

Dirk



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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Dirk Eddelbuettel

On 14 September 2013 at 09:04, Duncan Murdoch wrote:
| On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:
| > But the focus here should not be on my hobby package. The focus needs to be
| > on how four CRAN maintainers (who do a boatload of amazing work which is
| > _truly_ appreciated in its thoroughness and reach) could make the life of
| > authors of 4800+ packages easier by communicating and planning a tad more.
| 
| Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it 
| helps me a lot, but if they only did a little bit more work it would 
| help me even more."
| 
| I suspect they'd be more receptive to suggestions that had them doing 
| less work, not more.

Presumably that also holds for the authors of the 4800+ packages.  

But my point is not the about "less", it is about "more predictable".
Currently, the system appears to be anything but.  We can do better.

Dirk

-- 
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com

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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Brian G. Peterson

On 09/14/2013 08:04 AM, Duncan Murdoch wrote:
>> On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:

But the focus here should not be on my hobby package. The focus
needs to be on how four CRAN maintainers (who do a boatload of
amazing work which is _truly_ appreciated in its thoroughness and
reach) could make the life of authors of 4800+ packages easier by
communicating and planning a tad more.


Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
helps me a lot, but if they only did a little bit more work it would
help me even more."

I suspect they'd be more receptive to suggestions that had them doing
less work, not more.


I think you're both right.

If the CRAN team would communicate more with this list about pending 
changes, package authors could make those changes before submitting. 
Those submissions that won't pass unannounced R-devel checks waste 
everybody's time, including the time of the CRAN team.


Not to mention, most open source projects seem to have concluded that 
more eyes on pending or proposed changes make everyone's life better in 
the long term.


Regards,

Brian

--
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973
IM: bgpbraverock

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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Paul Gilbert



On 13-09-14 09:04 AM, Duncan Murdoch wrote:

On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:


On 13 September 2013 at 11:42, Paul Gilbert wrote:
| On 13-09-13 11:02 AM, Dirk Eddelbuettel wrote:
| > It's not so much Rcpp itself or my 20-ish packages but the fact
that we (as
| > in the Rcpp authors) now stand behind an API that also has to
accomodate
| > changes in R CMD check. Case in point is current (unannounced)
change that
| > makes all Depends: Rcpp become Imports: Rcpp because of the
NAMESPACE checks.
|
| I am a bit confused by this Dirk, so maybe I am missing something. I
| think this is still a "Note" in R-devel so you do have some time to
make
| the change, at least several months, maybe more. It is not quite what I
| think of as an "announcement", more like a shot across the bow, but it
| is also not "unannounced".

One package author [as in user of Rcpp and not an author of it] was
told by
CRAN this week to change his package and came to me for help -- so in
that
small way the CRAN "non-communication policy" is already creating more
work
for me, and makes me look silly as "I don't document what Rcpp-using
packages
need" as I sadly still lack the time machine or psychic powers to
infer what
may get changed this weekend.

| More importantly, I don't think that the requirement is necessarily to
| change Depends: Rcpp to Imports: Rcpp, the requirement is to put
| imports(Rcpp) in the NAMESPACE file. I think this is so that the
package
| continues to work even if the user does something with the search path.
| The decision to change Depends: Rcpp to Imports: Rcpp really depends on
| whether the package author wants Rcpp functions to be available
directly

Rcpp is a bit of an odd-ball as you mostly need it at compile-time,
and you
require very few R-level functions (but there is package
initialization etc
pp).  We also only about two handful of functions, and those are for
functionality not all 135 packages use (eg Modules etc).

But the focus here should not be on my hobby package. The focus needs
to be
on how four CRAN maintainers (who do a boatload of amazing work which is
_truly_ appreciated in its thoroughness and reach) could make the life of
authors of 4800+ packages easier by communicating and planning a tad
more.


Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
helps me a lot, but if they only did a little bit more work it would
help me even more."

I suspect they'd be more receptive to suggestions that had them doing
less work, not more.


Actually, this is one of the parts that I do not understand. It seems to 
me that it would be a lot less work for CRAN maintainers if the 
implications and necessary changes to packages were explained a bit more 
clearly in a forum like R-devel that many package developers actually 
read regularly. I many not fully understand how much of the response to 
package submission gets done automatically, but I do get the sense that 
there is a fairly large amount of actual human time spent dealing with 
just my submissions alone. If that is representative of all developers, 
then CRAN maintainers don't have time to do much else. (The fact that 
they do much more suggests I may not be representative.)


Two specific points have already been mentioned implicitly. CRAN 
submission testing is often done at a higher/newer level using the 
latest devel version. This results in lots of rejections for things that 
I would fix before submission, if I knew about them. If the tests were 
rolled out with R, and only later incorporated into CRAN submission 
testing, I think there would be a lot less work for the CRAN 
maintainers. (This is ignoring the possibility that CRAN submission is 
really the testing ground for the tests, and to prove the tests requires 
a fair amount of manual involvement. I'm happy to continue contributing 
to this -- I've often felt my many contribution is an endless supply of 
bugs for the checkers to catch.)


The second point is that a facility like R-forge that runs the latest 
checks, on many platforms, is really useful in order to reduce work for 
both package developers and CRAN maintainers. With R-forge broken, the 
implication for additional work for CRAN maintainers seems enormous. But 
even with it working, not all packages are kept on R-forge, and with 
package version dependencies R-forge does not really work. (i.e. I have 
to get new versions of some packages onto CRAN before the new versions 
of other packages will build on R-forge.)  Perhaps the package checking 
part of R-forge should be separated into a pre-submission clearing house 
to which packages are submitted. If they pass checks there then the 
package developer could click on a submit button to do the actual 
submission to CRAN. (Of course there needs to be a mechanism to plead 
for the fact that the test systems do not have needed resources.) 
Something like the daily, but with new pre-release versions of packages 
might actually be better than t

Re: [Rd] declaring package dependencies

2013-09-14 Thread Matthew Dowle

I'm a little surprised by this thread.

I subscribe to the RSS feeds of changes to NEWS (as Dirk mentioned) and 
that's been pretty informative in the past :
http://developer.r-project.org/RSSfeeds.html

Mainly though, I submit to winbuilder before submitting to CRAN, as the 
CRAN policies advise.  winbuilder's R-devel seems to be built daily, 
saving me the time. Since I don't have Windows it kills two birds with 
one stone.  It has caught many problems for me before submitting to CRAN 
and I can't remember it ever not responding in a reasonable time.
http://win-builder.r-project.org/upload.aspx

I've suggested before that winbuilder could be the mechanism to submit 
to CRAN rather than an ftp upload to incoming.  Only if winbuilder 
passed "OK" on R-devel could it then go to a human.   But iirc there was 
a technical difficulty preventing this.

Matthew



[[alternative HTML version deleted]]

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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Duncan Murdoch

On 13-09-14 9:14 AM, Dirk Eddelbuettel wrote:


On 14 September 2013 at 09:04, Duncan Murdoch wrote:
| On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:
| > But the focus here should not be on my hobby package. The focus needs to be
| > on how four CRAN maintainers (who do a boatload of amazing work which is
| > _truly_ appreciated in its thoroughness and reach) could make the life of
| > authors of 4800+ packages easier by communicating and planning a tad more.
|
| Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
| helps me a lot, but if they only did a little bit more work it would
| help me even more."
|
| I suspect they'd be more receptive to suggestions that had them doing
| less work, not more.

Presumably that also holds for the authors of the 4800+ packages.


No, I don't think it does.  What benefit do the CRAN maintainers get 
from them?




But my point is not the about "less", it is about "more predictable".
Currently, the system appears to be anything but.  We can do better.


Then go ahead.  Do better.

Duncan Murdoch

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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Duncan Murdoch

On 13-09-14 9:16 AM, Brian G. Peterson wrote:

On 09/14/2013 08:04 AM, Duncan Murdoch wrote:
  >> On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:

But the focus here should not be on my hobby package. The focus
needs to be on how four CRAN maintainers (who do a boatload of
amazing work which is _truly_ appreciated in its thoroughness and
reach) could make the life of authors of 4800+ packages easier by
communicating and planning a tad more.


Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
helps me a lot, but if they only did a little bit more work it would
help me even more."

I suspect they'd be more receptive to suggestions that had them doing
less work, not more.


I think you're both right.

If the CRAN team would communicate more with this list about pending
changes, package authors could make those changes before submitting.
Those submissions that won't pass unannounced R-devel checks waste
everybody's time, including the time of the CRAN team.


Paraphrasing again:  "If the CRAN team would do this, then they would 
waste less of everyone's time."


I think you should assume that the CRAN team doesn't choose to waste 
it's own time, so in their judgment, doing more on this list would waste 
more of its time.





Not to mention, most open source projects seem to have concluded that
more eyes on pending or proposed changes make everyone's life better in
the long term.


There are no secrets in R.  You are perfectly free to run your package 
against exactly the same version the CRAN team is using.  If you choose 
not to do so, you're the one wasting everyone's time.


Duncan Murdoch

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


Re: [Rd] declaring package dependencies

2013-09-14 Thread Duncan Murdoch

On 13-09-14 12:19 PM, Paul Gilbert wrote:



On 13-09-14 09:04 AM, Duncan Murdoch wrote:

On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:


On 13 September 2013 at 11:42, Paul Gilbert wrote:
| On 13-09-13 11:02 AM, Dirk Eddelbuettel wrote:
| > It's not so much Rcpp itself or my 20-ish packages but the fact
that we (as
| > in the Rcpp authors) now stand behind an API that also has to
accomodate
| > changes in R CMD check. Case in point is current (unannounced)
change that
| > makes all Depends: Rcpp become Imports: Rcpp because of the
NAMESPACE checks.
|
| I am a bit confused by this Dirk, so maybe I am missing something. I
| think this is still a "Note" in R-devel so you do have some time to
make
| the change, at least several months, maybe more. It is not quite what I
| think of as an "announcement", more like a shot across the bow, but it
| is also not "unannounced".

One package author [as in user of Rcpp and not an author of it] was
told by
CRAN this week to change his package and came to me for help -- so in
that
small way the CRAN "non-communication policy" is already creating more
work
for me, and makes me look silly as "I don't document what Rcpp-using
packages
need" as I sadly still lack the time machine or psychic powers to
infer what
may get changed this weekend.

| More importantly, I don't think that the requirement is necessarily to
| change Depends: Rcpp to Imports: Rcpp, the requirement is to put
| imports(Rcpp) in the NAMESPACE file. I think this is so that the
package
| continues to work even if the user does something with the search path.
| The decision to change Depends: Rcpp to Imports: Rcpp really depends on
| whether the package author wants Rcpp functions to be available
directly

Rcpp is a bit of an odd-ball as you mostly need it at compile-time,
and you
require very few R-level functions (but there is package
initialization etc
pp).  We also only about two handful of functions, and those are for
functionality not all 135 packages use (eg Modules etc).

But the focus here should not be on my hobby package. The focus needs
to be
on how four CRAN maintainers (who do a boatload of amazing work which is
_truly_ appreciated in its thoroughness and reach) could make the life of
authors of 4800+ packages easier by communicating and planning a tad
more.


Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
helps me a lot, but if they only did a little bit more work it would
help me even more."

I suspect they'd be more receptive to suggestions that had them doing
less work, not more.


Actually, this is one of the parts that I do not understand. It seems to
me that it would be a lot less work for CRAN maintainers if the
implications and necessary changes to packages were explained a bit more
clearly in a forum like R-devel that many package developers actually
read regularly.


Then why don't you explain them?  They aren't secret.

I many not fully understand how much of the response to

package submission gets done automatically, but I do get the sense that
there is a fairly large amount of actual human time spent dealing with
just my submissions alone. If that is representative of all developers,
then CRAN maintainers don't have time to do much else. (The fact that
they do much more suggests I may not be representative.)

Two specific points have already been mentioned implicitly. CRAN
submission testing is often done at a higher/newer level using the
latest devel version. This results in lots of rejections for things that
I would fix before submission, if I knew about them.


Then why don't you test against R-devel before submitting?

 If the tests were

rolled out with R, and only later incorporated into CRAN submission
testing, I think there would be a lot less work for the CRAN
maintainers.


I am an R core member, not a member of CRAN.  If I make a change to R, 
I'd like to know the effect it has on the corpus of CRAN and 
Bioconductor packages, but I don't have the computing resources to run 
it against all of those in a reasonable amount of time.  We have heard 
from various corporate users of R (Revolution Computing and Google are 
two) that they would like to contribute to the project, but we don't 
actually see useful contributions from them.


I don't know if you personally have influence with anyone who has such 
resources, but surely some on this list do.  So why don't they write to 
me and tell me how to use their computing resources to run proposed 
changes against all published packages?  I think it's because it's 
easier to do nothing than to do something.  It's certainly easier to say 
that it's the CRAN maintainers' fault for poor communication than it is 
to identify and address the problems.


Duncan Murdoch


 (This is ignoring the possibility that CRAN submission is

really the testing ground for the tests, and to prove the tests requires
a fair amount of manual involvement. I'm happy to continue contributing
to this -- I've often felt my many 

Re: [Rd] declaring package dependencies

2013-09-14 Thread Dirk Eddelbuettel

On 14 September 2013 at 19:01, Duncan Murdoch wrote:
| On 13-09-14 9:14 AM, Dirk Eddelbuettel wrote:
| >
| > On 14 September 2013 at 09:04, Duncan Murdoch wrote:
| > | On 13-09-13 12:00 PM, Dirk Eddelbuettel wrote:
| > | > But the focus here should not be on my hobby package. The focus needs 
to be
| > | > on how four CRAN maintainers (who do a boatload of amazing work which is
| > | > _truly_ appreciated in its thoroughness and reach) could make the life 
of
| > | > authors of 4800+ packages easier by communicating and planning a tad 
more.
| > |
| > | Let me paraphrase that:  "The CRAN maintainers do a lot of work, and it
| > | helps me a lot, but if they only did a little bit more work it would
| > | help me even more."
| > |
| > | I suspect they'd be more receptive to suggestions that had them doing
| > | less work, not more.
| >
| > Presumably that also holds for the authors of the 4800+ packages.
| 
| No, I don't think it does.  What benefit do the CRAN maintainers get 
| from them?

As explained by others in the thread, if forthcoming were more clearly
communicated, package authors would be prepared and the CRAN maintainers
would not have to explain it one-by-one as changes are implemented with no
forewarning. 

| > But my point is not the about "less", it is about "more predictable".
| > Currently, the system appears to be anything but.  We can do better.
| 
| Then go ahead.  Do better.

I am trying, eg via this discussion.

But you have now managed to sap all energy I may have had.  I am done here.

Dirk

-- 
Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com

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