CGI::Application::Plus のドキュメントを読もうとしたら、Rating が星一個。ありゃりゃと思ってみてみると、レビューしたのはあの Randal L. Schwartz 氏。
This code uses "phone home" opt-out-only Makefile.PL logic.
As such, I've banished this code (and this author) into my "NEVER USE OR RECOMMEND" list.
「二度と使わないしおすすめもしない」なんてなにやらお怒りの様子。なんだろうな、と思ったのですが "phone home" opt-out-only Makefile.PL logic の意味がよくわからず。方々で聞いてみると高林さんが opt-out はデフォルト承諾とかそんな意味だ(参照)と教えてくれました。で、1.16 の Makefile.PL を見てみると、
### VERSION CHECK ###
; my (%opt) = map { split /=/ } @ARGV
; exit if $opt{NO_VERSION_CHECK}
; my $LWP_installed = eval {require LWP::Simple}
; if ( $LWP_installed )
{ my $current_vers = LWP::Simple::get
( "http://perl.4pro.net/version_ceck"
. "?DISTRIBUTION=$dist&VERSION=$vers&PERL=$]-$^O"
)
; exit unless defined $current_vers
; if ( $current_vers == 0 ) # unknown version
{ print << "EOS"
Unknown distribution: $dist.
Please report it at http://perl.4pro.net.
EOS
}
elsif ( $current_vers > $vers ) # old
{ print << "EOS"
WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
You are about to install an old $dist version! ($vers)
The current $dist version that should be available on CPAN
right now (or in a few hours) is the $current_vers.
EOS
}
else # OK
{ print << "EOS"
I hope you will appreciate $dist $vers.
If you have any problem with this installation,
please report it at http://perl.4pro.net
EOS
}
}
てなコードが入っていました。モジュール開発者のサイトの API を使ってバージョンチェックを行っていた様子。つまり勝手に変な URL にアクセス..."phone home" ― 自宅へ電話するということ。なるほど!
1.16 から 1.17 へのChangeLog を見たら、
Version 1.17
- Eliminated version check and installation feedback system
("phone home" opt-out) from Makefile.PL to make Randal L Schwartz happy :-)
and sad the author :-(
なんて書いてありました。星一個つけられてあわてて直したと思われます。
Randal 氏のレビューを見てると同じ理由で星一個の「烙印」を押されてしまったモジュールが結構ありますね。なかなか手厳しい。(CGI::Builder 関係のモジュールが多い)
ということで良い英語の勉強になりました。(違)