# from Andy Lester
# on Friday 05 September 2008 09:34:

>> Well, yeah, I have too. And sometimes I make a tweak to get things  
>> working on 5.005, and other times I tell my users that it runs 5.006
>>   or later by saying so in Build.PL. Seems reasonable to me to
>> specify such dependencies.
>
>"Seems reasonable to me" is EXACTLY my frustration.  That is YOUR
>standard that YOU are specifying.
>
>How about if I start sending email to everyone, whether they want it
> or not, if their code doesn't run under -T checking?  It seems
> reasonable to me that it should.

Yes.  The mail thing is clearly a rub (especially if it isn't 
comprehensive or centrally configurable.)

Putting a big red flag on a dist for not running under taint would also 
be a bit severe - but a yellow "notaint" flag might be appropriate and 
it is useful information.

But I'm talking about the view of the reports.

>> hope you'll tell your users about a Perl version dependency
>
>This is beyond me and my frustration about getting worthless emails.
>  It is about the presumption of telling CPAN authors ... 
>  punishing them for not bending to the whims of the CPAN Testers 

So, let's please move on from complaining about the mail.  I hope we all 
can agree that opt-out is annoying.

I think the presentation of the reports is what needs improvement, and I 
think we need to come to some consensus on what is a reasonable default 
presentation.  There is indeed some aspect of reward and punishment to 
what you present about an author's code.

Note:  Notifications are just one aspect of presentation (and are not 
limited to the author for that matter.)

It should not be a "big red deal" if an author omits the declaration of 
requiring perl 5.8.mumble+.  At this point, it is a reasonable 
assumption that code "should" run on 5.8.8 and 5.10.+, but an 
unreasonable assumption that it runs on 5.6.x or less.

It should not be a "big red deal" if a distribution doesn't run on VMS.  
This is not a system many people have ready access to or interest in.

It should not be a "big red deal" if a distribution doesn't install on a 
non-updated toolchain.

I'm not saying that you should not test for these things.  Try to run it 
on a toaster or whatever.  That's useful data to some people (and hey -
"dude!  My code passes all tests on a toaster!" is a great conversation 
starter.)  But a big stack of red FAIL's in the default presentation 
from all toasters and VMS is just unreasonable, right?

As I mentioned before, I would love to have any user or author be able 
to configure their own various modes of presentation.  A VMS user 
really does want to see a big stack of FAIL when that's the case.

And 5.6.x- is the same way.  Maybe it works.  Maybe the author will tag 
the next distro that 5.6 doesn't work, whatever.  It's just not that 
important to the majority of users and authors at this point.  (IF it 
is, that's a different problem and there will never be a funpan.)

And I hope perhaps that we've finally reached the point where a user can 
reasonably be expected to upgrade their toolchain before trying to 
install the latest and greatest of *everything else*.  If we must shove 
a toolchain update down the user's throat, we have got the entire rest 
of the CPAN completely wrong.)


Now, currently, the presentation of notifications is both out of the 
cpantesters control *and* out of the author's control.  That causes 
conflict that nobody is really in a position to immediately resolve.


Now, also currently, there is only one web-view presentation of the 
reports on search.cpan.org and cpantesters.perl.org.  This also causes 
conflict:

  * If anybody starts a VMS smoker, the entire CPAN is likely to
    light-up red, which (I hope we can agree) is unreasonable.

  * An author using Module::Build is still in a rock vs hard place

  * An author writing in 5.8ese has to add "no, not perl4" checks to
    keep from seeing red.

  * Win32?  What if half of the smokes were on Win32?  How red would
    that be?  Hey, a valid usage of the OS from the browser identifier?

So, what *is* a reasonable set of expectations from a modern perl user?  
We should expect that to be an evolving set of expectations 
as "reasonable" adjusts to keep up with new releases, etc.  If the 
presentation is fluid, the defaults can evolve and if it is 
configurable, the holdouts can set their own view of it.

The question then becomes a matter of what you (by default) present to 
the world about an author's code and not just which data has been 
gathered.  Thus:  What does the default fail-o-meter look like and what 
does it mean?

That should basically encapsulate what a reasonable author would be 
willing to shoot for as a mark of quality.  Everything else should be 
something they *want* to shoot for as a badge of excellence.

Thanks,
Eric
-- 
"Beware of bugs in the above code; I have only proved it correct, not
tried it."
--Donald Knuth
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to