MacのHomebrewでbrew update
をした際に気づいた人も居るかと思いますが、
HomebrewではGoogle Analyticsを使って
Userの使用しているOSや使われてるFormula等の情報を集める事を開始しました。
Homebrew’s Anonymous Aggregate User Behaviour Analytics
最近brew update
をした際、
$ brew update
==> Homebrew has enabled anonymous aggregate user behaviour analytics
Read the analytics documentation (and how to opt-out) here:
https://git.io/brew-analytics
みたいな表示が出る様になりました。
ただ、この表示一回しか出ないので、普段brew update
の出力を
/dev/null
なりなんなりに出したりして表示させてなかったり
表示させてたとしても余り注意してないと簡単に見逃してしまう感じはします。
このURLに行ってみると詳細がありますが、
要はGoogle Analyticsを導入して、
ユーザーがbrew
コマンドを使う毎にその情報を送る様になった、ということです。
Homebrew’s Anonymous Aggregate User Behaviour Analytics: https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Analytics.md
IPアドレス等は匿名化されて送られる、とのことですが、 上にあるデバッグ用設定の
export HOMEBREW_ANALYTICS_DEBUG=1
を設定してやってみたところ、
$ brew install vim --with-lua
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 633 0 520 100 113 802 174 --:--:-- --:--:-- --:--:-- 802
{
"hitParsingResult": [ {
"valid": true,
"parserMessage": [ {
"messageType": "INFO",
"description": "IP Address from this hit was anonymized to XXX.XX.XXX.0.",
"messageCode": "VALUE_MODIFIED"
} ],
"hit": "/debug/collect?v=1\u0026tid=UA-76679469-1\u0026cid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\u0026aip=1\u0026an=Homebrew\u0026av=0.9.9\u0026t=screenview\u0026cd=install"
} ],
"parserMessage": [ {
"messageType": "INFO",
"description": "Found 1 hit in the request."
} ]
}
{
"hitParsingResult": [ {
"valid": true,
"parserMessage": [ {
"messageType": "INFO",
"description": "IP Address from this hit was anonymized to XXX.XX.XXX.0.",
"messageCode": "VALUE_MODIFIED"
} ],
"hit": "/debug/collect?v=1\u0026tid=UA-76679469-1\u0026cid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\u0026aip=1\u0026an=Homebrew\u0026av=0.9.9\u0026t=event\u0026ec=install\u0026ea=vim --with-lua\u0026el=Mac OS X 10.11.4"
} ],
"parserMessage": [ {
"messageType": "INFO",
"description": "Found 1 hit in the request."
} ]
}
==> Downloading https://github.com/vim/vim/archive/v7.4.1795.tar.gz
==> Downloading from https://codeload.github.com/vim/vim/tar.gz/v7.4.1795
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.1795/share/man --enable-multibyte --with-tlib=ncurses --enable-cscope --with-compiledby=Homebrew --enable-luainterp --enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-gui=no --without-x
==> make
==> make install prefix=/usr/local/Cellar/vim/7.4.1795 STRIP=true
🍺 /usr/local/Cellar/vim/7.4.1795: 1,687 files, 22.6M, built in 1 minute
みたいな感じ。 IPアドレスですが、最後の組が0になってますがその前はそのまま送られる様です。
また、このアップデートともに、~/.homebrew_analytics_user_uuidというファイルが作られ、
ここにユーザー毎のIDが定義されていてそれが上の
cid
の値になっています。
これはユーザーを特定する、と言うよりきちんと統計的に区別するため、とのことですが。
この設定、デフォルトでONになるようになっています。
もし、送るのが嫌な場合は
export HOMEBREW_NO_ANALYTICS=1
を.bashrc等に書いて設定しておくか、
$ git config --file="$(brew --repository)/.git/config" --replace-all homebrew.analyticsdisabled true
とすることでもこの機能を無効にすることが出来る、とのことです。
追記: 2016/05/02
その後のアップデートでanalytics
というサブコマンドが加えられました。
add
brew analytics
command by xu-cheng · Pull Request #173 · Homebrew/brew
$ brew analytics # or brew analytics state
Analytics is enabled.
UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
また、on
またはoff
の引数を与えると
Analyticsを有効/無効化出来ます。
これは上のgit config
でやってることをコマンドでラップしてる感じです。
なので上のコマンドの代わりに
$ brew analytics off
で設定がオフになります。
Homebrew’s Anonymous Aggregate User Behaviour Analytics
のページでも一番下の部分が書き換わってこのコマンドになっています。
この状態でチェックしてみると、
$ brew analytics
Analytics is disabled
また、HOMEBREW_NO_ANALYTICSを設定してあると、
$ brew analytics
Analytics is disabled (by HOMEBREW_NO_ANALYTICS).
と出て、この値が設定してある場合は
brew analytics
でのon
/off
の設定に関わらず優先されて無効化されます。
コマンド一発で半永久的に無効化は出来ますが、 新しいMacに移ったりHomebrewを入れなおした時にいちいち設定するのは面倒なので .bashrcや.zshrc等を共通で管理してる場合には HOMEBREW_NO_ANALYTICSの値をその中で設定しておいた方が確実だとは思います。
追記ここまで
ユーザーの反応
結構突然な感じもあり、また、デフォルトで自動的に有効になる設定になってたりするので 拒絶反応を示してる人も多々います。
Require analytics opt-in rather than make it a blind default · Issue #142 · Homebrew/brew
opt-out出来る様にするんじゃなくてopt-inする様にしないの?、と始まったスレッドですが、 最後にはこんなじゃこのソフトウェアは信用出来ないと言われ、 メンテナーの人がだったら他のを使え、もうこれ以上続けたくないからロックする、同じスレッドは立てないように、 と吐き捨て終わるという、うーん、と言う感じ。。。
途中でメーリングリストやTwitterで散々知らせてきた、と言っても そんなものを見てる人なんてどれだけ居るか、と言った事もあります。
メンテしてる人たちが無償で提供してくれててありがたいのですが、 ちょっとここの雰囲気は嫌な感じになってしまっています。。。
Homebrew now sends usage information to Google Analytics Hacker News
Homebrew enabled tracking with Google Analytics and most of us didn’t notice : programming
こっちとかでもまあ大変な感じ。
やはり知らないうちにいつの間にかGoogleに情報が送られてる感、 があって嫌だ、という人が多いみたいです。
後は上にも書きましたが、このアップデートで ~/.homebrew_analytics_user_uuidという余計なドットファイルが出来ます。 これをなんとかしたい、と言う話は進んでいます。
[Analytics] Do not drop .homebrew_analytics_user_uuid in HOME · Issue #145 · Homebrew/brew
後は、プライバシーに関してGoogleはホント信じられないから他の使え、的なのとか。
まとめ
この手の情報を集めて見てみたい、と言った動機は良く分かるので この機能自体は導入するのはありだったと思いますが、 やはり導入に当たってもうちょっとユーザーに知らせる、 と言うか上の議論にあったようにopt-inな ユーザーが自ら意志を持って導入する様な形にして欲しかったかな、と思います。
brew update
の際に一回だけ表示される様なものなんて
恐らく殆どの人が見逃してしまうと思いますし。
自分でopt-outしていても、 将来的に新しいマシンに移った際、このメッセージが出るか分かりませんが、 いずれにしろ設定を忘れてしまうこともあるわけで。 (全ての人がドットファイルを共通に管理してるわけではないわけで。。。)
それ以上に懸念されるのが、この件でメンテナーの人たちが 嫌になって放棄しちゃうことですかね。
まあ、Homebrewは一人でメンテナンスしてるわけでも無いですし、 今回主にエキサイトしてる人はこの機能を導入した本人なので 暫くすれば落ち着いてくれるんだとは思いますが。
ユーザーも減るとFormulaの追加やアップデートのクォリティーが落ちてしまいますし、 なんとか丸く納まってくれると良いですが。