The questions that are being asked are for the user's benefit. That is NOT being a freeloader. Freeloading is taken something from the user and providing nothing in return.

If an installer asks a question in order to install the module or run the testing, it is acting for the user's benefit.

The reason phone home in general, and this type of question specifically, is freeloading is that it is not acting in a positive way for the user. The same would be true if I introduced Google text ads you had to watch during the module install. Even with a "Skip this text ad" option, it's still taking from the user.

But now she is at least doing it relative sanely (as opposed to earlier) and since she doesn't have any particularly popular modules, and as long as she's the ONLY one doing this sort of thing, it's still fairly innocent.

And so I haven't been chasing her about it.

I'm done venting now.

Adam K

Michael G Schwern wrote:
On 5/27/06, *Adam Kennedy* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    I tell you what, I'm going to add the same code to all 100+ of my
    modules. And what if then Audrey and Ovid and Miyagawa and a hundred
    others did.

    For an application with 50 dependencies, that's 50 x 20 second pauses,
    or you get to sit there hitting no constantly.

    She's acting as a freeloader on the system.


If she's a freeloader then Andy Lester is a freeloader.

By your logic you must complain about any module which asks the user any question because they cause the installation to pause and you have to take action. Most of those don't even have the courtesy to time out! Let's apply your logic to WWW::Mechanize. It asks not one but TWO questions! What if every module on CPAN decided they wanted to prompt the user if they should run a certain group of tests? Or install an extra program? Think of the poor enter key!

Have we gone after Andy?  No, that would be silly.

Furthermore, she's properly using Module::Build->y_n() which, like ExtUtils::MakeMaker's prompt(), will just accept the default if it figures the system is not attached to a TTY. And if you really don't want to hear about it you can switch off all interaction with PERL_MM_USE_DEFAULT=0 like any other module. She has even provided an extra environment variable for her own modules.

I'm not saying the system couldn't be improved, it could, but her prompting is better than most other's.


    But if more people started doing it, and they were modules in more use,
    then it gets annoying very very quickly.

    And that's quite a bit different to some centralised implementation
    embedded in CPAN.pm that asks once and remembers.


If lots of people start doing it, yes, we should start looking at putting the process into the CPAN shell or Module::Build or something. But I do not think that its up to a single author to worry about the consequences of what happens if everyone starts doing their technique. If that were so, nobody would get any customization done.

If you wanted a way forward from this, a Module::Build::PhoneHome would be nice with its own environment variable, independent of PERL_MM_USE_DEFAULT, to switch it off. Then people can just use it and it will do the right thing, whatever that turns out to be.

Reply via email to