rcmdnk's blog
Last update

The Opt-Out Effect: Marketing Strategies that Empower Consumers and Win Customer-Driven Brand Loyalty

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はホント信じられないから他の使え、的なのとか。

[Analytics] Why Google Analytics? Keen IO would be better – enable stats for packages · Issue #152 · Homebrew/brew

まとめ

この手の情報を集めて見てみたい、と言った動機は良く分かるので この機能自体は導入するのはありだったと思いますが、 やはり導入に当たってもうちょっとユーザーに知らせる、 と言うか上の議論にあったようにopt-inな ユーザーが自ら意志を持って導入する様な形にして欲しかったかな、と思います。

brew updateの際に一回だけ表示される様なものなんて 恐らく殆どの人が見逃してしまうと思いますし。

自分でopt-outしていても、 将来的に新しいマシンに移った際、このメッセージが出るか分かりませんが、 いずれにしろ設定を忘れてしまうこともあるわけで。 (全ての人がドットファイルを共通に管理してるわけではないわけで。。。)

それ以上に懸念されるのが、この件でメンテナーの人たちが 嫌になって放棄しちゃうことですかね。

まあ、Homebrewは一人でメンテナンスしてるわけでも無いですし、 今回主にエキサイトしてる人はこの機能を導入した本人なので 暫くすれば落ち着いてくれるんだとは思いますが。

ユーザーも減るとFormulaの追加やアップデートのクォリティーが落ちてしまいますし、 なんとか丸く納まってくれると良いですが。

Sponsored Links
Sponsored Links

« HHKBのワイヤレス版が発売 Read the Docs(Sphinx)でオープンソースのドキュメントをいい感じに書いてみる »

}