January 7,2008
呼叫總部: Ubuntu 跟 Fedora 的 "類Phone Home" 機制
記得當時安裝 Ubuntu 完畢,按照往例,我盯著看那一行行開機的文字畫面。
有一句我特別有印象,就是 ntp 對時的伺服器是 ntp.ubuntu.com
當時我腦中立刻蹦出:「好招」兩字。讓每台安裝 Ubuntu 的機器都連回來對時,不就「順便」可以搞一些統計,看看有多少台機器,大家都把機器裝在哪兒(利用那種 ip 跟 地理位置 對應的資料)之類的。
(嗯,不過 Microsoft 從 Windows XP 開始也有這招了)
不過,收集資料一定要很小心,可不要成了令人皺眉的 "Phone Home" 機制:
有一句我特別有印象,就是 ntp 對時的伺服器是 ntp.ubuntu.com
當時我腦中立刻蹦出:「好招」兩字。讓每台安裝 Ubuntu 的機器都連回來對時,不就「順便」可以搞一些統計,看看有多少台機器,大家都把機器裝在哪兒(利用那種 ip 跟 地理位置 對應的資料)之類的。
(嗯,不過 Microsoft 從 Windows XP 開始也有這招了)
不過,收集資料一定要很小心,可不要成了令人皺眉的 "Phone Home" 機制:
所謂的 "Phone Home(背景連線通訊),照中文維基百科的解釋是:
Ubuntu 的 ntp 對時,應該還不算是上面這種定義下的 "phone home" ,只能說是利用對時機制的副作用(要連回來對時,一定會暴露你的 ip 囉),收集很有限的資料。
當然 Ubuntu 用來更新軟體套件的 Ubuntu Update Manager ,在套件更新過程必須傳遞較多的資訊(至少還得告訴伺服器,妳的硬體架構是 x86 還是別的吧?),不曉得 Canonical 有沒有收集這些來做一些 data mining ?
另外,(按照慣例)後知後覺,最近才知道 Fedora 有個 smolt 專案,讓 Fedora 使用者可以選擇回報一些系統硬體的基本資料,還會取得一個 UUID ,可以讓別人連到該網頁看到妳的硬體設定。
現在好像在 Firstboot (首次開機)的時候會邀請使用者加入,或者也可以按照他們wiki上面的說明去安裝及回報資料。
Fedora 現在也會利用 yum 套件更新的機制來做一些 tracking:
文末附上一些網址,讓大家看看 Fedora 團隊這幾年對於 tracking user 這件事在各個層面的考量及作為。
必須要雞婆提醒的是,在閱讀的時候,也許要把那些文章放進一個 「Fedora 跟 Red Hat 是從屬關係還是夥伴關係?」的脈絡來看。
我在A Distro of One's Own - 利用 Fedora 7 的圖形介面工具 Revisor,輕鬆打造「自己的Linux」這篇文末有提到,雖然 Fedora 專案是 Red Hat 贊助的,他(Max Spevack)卻強調 Fedora 專案進入 Fedora 7 階段後,給社群開發者帶來的自由度、獨立性和統整性。
說實在,當個「無限上綱份子」有時候還比較簡單。要不就是通通不准,連「在 Firefox 首頁放個圖片連回特定網站」這種統計招數都不准,要不就是卯起來追蹤使用者,像是惡名昭彰的 Sony DRM rootkit。
smolt 試圖在「瞭解使用者」跟「使用者隱私」之間取得平衡,也可以看作是 Fedora 團隊試著重新在 Red Hat 生態系裡面找到自己的平衡點吧?
雖然 Red Hat 是負責賺錢的,但是 Fedora 是維繫社群很重要的一個專案,所以,我還是希望 Red Hat 跟 Fedora 不是從屬關係,而是夥伴關係 :)
======
延伸閱讀:
LWN這篇How many Fedora users are there?,寫在 2006年10月 Fedora 6 正要推出之前。文章有點出了 Fedora 團隊必須向(提供資金的)Red Hat 經營團隊證明 Fedora 的重要性。
承上,Fedora Wiki 這篇Metrics詳述了收集資料的必要性,以及可能的方法。(這頁面是 2006-11-17 建立的,也就是 Fedora 6 推出後不久,他們還提到了 GNOME Wiki 上類似的想法 CountingUsers)
Smolt: Fedora Hardware Profiler,2007年1月 Mike McGrath 在 Fedora 郵件論壇公告推出 smolt 這個工具。
Hardware : Stats,可以點選 Language,目前我看到 zh_TW.UT 是 5128 (那個 Unknown 竟然有 38361 還排第二? XD)
Statistics,這裡有 Fedora Project 更多的統計資料,包括透過 yum 更新的機器啦, smolt 收集的資料啦,透過 Bittorrent 下載的次數啦,以及 fedoraproject.org 網站的訪客(不重複ip)統計,還有一些其他的數據作成的圖表等等。
範例,UUIDe2b67e1d-e325-4740-b938-795addb45280在 smolt 上面的資料,可以看到裡面有哪些硬體。
通常指的是秘密通訊,軟體或硬體的製造商,會在他們的產品加入連線通訊的功能,當使用者購買他們的產品並安裝在個人電腦或類似的家用電器上時,這些產品會在使用者不知情的情形之下,自動連線到製造商的伺服器。
Ubuntu 的 ntp 對時,應該還不算是上面這種定義下的 "phone home" ,只能說是利用對時機制的副作用(要連回來對時,一定會暴露你的 ip 囉),收集很有限的資料。
當然 Ubuntu 用來更新軟體套件的 Ubuntu Update Manager ,在套件更新過程必須傳遞較多的資訊(至少還得告訴伺服器,妳的硬體架構是 x86 還是別的吧?),不曉得 Canonical 有沒有收集這些來做一些 data mining ?
另外,(按照慣例)後知後覺,最近才知道 Fedora 有個 smolt 專案,讓 Fedora 使用者可以選擇回報一些系統硬體的基本資料,還會取得一個 UUID ,可以讓別人連到該網頁看到妳的硬體設定。
現在好像在 Firstboot (首次開機)的時候會邀請使用者加入,或者也可以按照他們wiki上面的說明去安裝及回報資料。
Fedora 現在也會利用 yum 套件更新的機制來做一些 tracking:
Functionally similar to the embedded image tracking, yum would phone home to a central server to retrieve a mirror list. This method is currently being used.
文末附上一些網址,讓大家看看 Fedora 團隊這幾年對於 tracking user 這件事在各個層面的考量及作為。
必須要雞婆提醒的是,在閱讀的時候,也許要把那些文章放進一個 「Fedora 跟 Red Hat 是從屬關係還是夥伴關係?」的脈絡來看。
我在A Distro of One's Own - 利用 Fedora 7 的圖形介面工具 Revisor,輕鬆打造「自己的Linux」這篇文末有提到,雖然 Fedora 專案是 Red Hat 贊助的,他(Max Spevack)卻強調 Fedora 專案進入 Fedora 7 階段後,給社群開發者帶來的自由度、獨立性和統整性。
說實在,當個「無限上綱份子」有時候還比較簡單。要不就是通通不准,連「在 Firefox 首頁放個圖片連回特定網站」這種統計招數都不准,要不就是卯起來追蹤使用者,像是惡名昭彰的 Sony DRM rootkit。
smolt 試圖在「瞭解使用者」跟「使用者隱私」之間取得平衡,也可以看作是 Fedora 團隊試著重新在 Red Hat 生態系裡面找到自己的平衡點吧?
雖然 Red Hat 是負責賺錢的,但是 Fedora 是維繫社群很重要的一個專案,所以,我還是希望 Red Hat 跟 Fedora 不是從屬關係,而是夥伴關係 :)
======
延伸閱讀:
LWN這篇How many Fedora users are there?,寫在 2006年10月 Fedora 6 正要推出之前。文章有點出了 Fedora 團隊必須向(提供資金的)Red Hat 經營團隊證明 Fedora 的重要性。
承上,Fedora Wiki 這篇Metrics詳述了收集資料的必要性,以及可能的方法。(這頁面是 2006-11-17 建立的,也就是 Fedora 6 推出後不久,他們還提到了 GNOME Wiki 上類似的想法 CountingUsers)
Smolt: Fedora Hardware Profiler,2007年1月 Mike McGrath 在 Fedora 郵件論壇公告推出 smolt 這個工具。
Hardware : Stats,可以點選 Language,目前我看到 zh_TW.UT 是 5128 (那個 Unknown 竟然有 38361 還排第二? XD)
Statistics,這裡有 Fedora Project 更多的統計資料,包括透過 yum 更新的機器啦, smolt 收集的資料啦,透過 Bittorrent 下載的次數啦,以及 fedoraproject.org 網站的訪客(不重複ip)統計,還有一些其他的數據作成的圖表等等。
範例,UUIDe2b67e1d-e325-4740-b938-795addb45280在 smolt 上面的資料,可以看到裡面有哪些硬體。
引用URL
http://cgi.blog.roodo.com/trackback/4784223
回應文章 
對其中的一段話有點疑惑... ^^a
"在套件更新過程必須傳遞較多的資訊(至少還得告訴伺服器,妳的硬體架構是 x86 還是別的吧?)"
據我所知道的 apt 只是根據目前的硬體架構再去 deb repository 下載相對應的檔案
deb repository 只是單純的 http/ftp server
所以應該不會有 "套件更新過程必須傳遞較多的資訊" 的事情發生~ :-)
其它的 Linux Distribution 也應該是差不多的情況
都是根據目前的硬體架構再去相對應的網址下載檔案回來
所以基本上不會有主動傳遞系統資訊的情況
頂多就是那些 http/ftp 連線時封包裡面會透漏的資訊罷了~ :-D
這些訊息不管連到什麼網站都會透漏的吧~ ^^a
"在套件更新過程必須傳遞較多的資訊(至少還得告訴伺服器,妳的硬體架構是 x86 還是別的吧?)"
據我所知道的 apt 只是根據目前的硬體架構再去 deb repository 下載相對應的檔案
deb repository 只是單純的 http/ftp server
所以應該不會有 "套件更新過程必須傳遞較多的資訊" 的事情發生~ :-)
其它的 Linux Distribution 也應該是差不多的情況
都是根據目前的硬體架構再去相對應的網址下載檔案回來
所以基本上不會有主動傳遞系統資訊的情況
頂多就是那些 http/ftp 連線時封包裡面會透漏的資訊罷了~ :-D
這些訊息不管連到什麼網站都會透漏的吧~ ^^a
Posted by FourDollars
at January 7,2008 18:30
FourDollars,
感謝指教,看來我是掰太大了點 XD
你說的「根據目前的硬體架構再去相對應的網址下載檔案回來」應該比較接近實際情形,也就是說不管用哪個套件管理系統,伺服器端應該都可以收集到這些資訊,然後統計出來哪個硬體架構有多少台,ip 分佈之類的。
也就是說,不管是 Fedora 的 yum 或是 Ubuntu 的 Update Manager ,後端能 mining 出來的資訊應該差不多。(拿這兩個比好像還不太對, yum 應該對上 apt 才是?)
我是在收聽 tllts episode 218 ,Ken VanDine 談 Foresight Linux 的時候,聽他提到 Fedora 的 smolt 。
他還有提到 Ubuntu 也有一個類似的東西,不過 Canonical 並沒有把收集到的資訊放出來。
(他其實是在講 rPath Linux 跟 Foresight Linux 所用的套件管理系統 Conary 的時候提到的。)
Canonical到底有什麼另外的收集到的資料?Ken他沒說清楚。
剛才我查來查去,只查到一個 Personal Package Archives for Ubuntu 有一點像。底下引自Canonical Announces Beta of Launchpad 'Personal Package Archive' Service For Developers Publishing Their Own Software
If the developer releases an updated version, the Ubuntu Update Manager will automatically notify those testers and enable them to update to the newer versions with a single click
不過這種 notify 應該還是 client side 主動去查詢,而不是上傳所有的組態到伺服器端?
Posted by 感恩再感恩的PowerOp
at January 7,2008 23:25
不管是 apt/yum/urpmi/yast/... 都應該只是根據目前的硬體架構去相對應的地方下載檔案
伺服器那邊可以得到的資訊大概也只有硬體架構跟系統版本罷了~
至於詳細的硬體資訊應該是拿不到的~ :-)
Ubuntu 上的 Update Manager 的確是可以收集資訊~
不過也是要使用者主動打開那個選項才行~
預設好像是關掉的~ 不過我都會把它打開~ :-P
伺服器那邊可以得到的資訊大概也只有硬體架構跟系統版本罷了~
至於詳細的硬體資訊應該是拿不到的~ :-)
Ubuntu 上的 Update Manager 的確是可以收集資訊~
不過也是要使用者主動打開那個選項才行~
預設好像是關掉的~ 不過我都會把它打開~ :-P
Posted by FourDollars
at January 8,2008 00:42
http://picasaweb.google.com/fourdollars/Linux/photo#5153067418998747906
這個截圖是 Ubuntu 中要不要提供資訊的開關
這個軟體的資訊是
Package: software-properties-gtk
Status: install ok installed
Priority: optional
Section: admin
Installed-Size: 1224
Maintainer: Michael Vogt <michael.vogt@ubuntu.com>
Architecture: all
Source: software-properties
Version: 0.60
Replaces: update-manager (<< 0.55)
Depends: python-central (>= 0.5.8), python (>= 2.4), python, synaptic (>= 0.57.8), gksu, python-software-properties, python-glade2, python-gtk2
Conflicts: update-manager (<< 0.55)
Description: manage the repositories that you install software from
This software provides an abstraction of the used apt repositories.
It allows you to easily manage your distribution and independent software
vendor software sources.
.
This package contains a GTK+ based graphical interface.
Python-Version: >= 2.4
剩下的你寫信去問 Maintainer 吧~ XD
這個截圖是 Ubuntu 中要不要提供資訊的開關
這個軟體的資訊是
Package: software-properties-gtk
Status: install ok installed
Priority: optional
Section: admin
Installed-Size: 1224
Maintainer: Michael Vogt <michael.vogt@ubuntu.com>
Architecture: all
Source: software-properties
Version: 0.60
Replaces: update-manager (<< 0.55)
Depends: python-central (>= 0.5.8), python (>= 2.4), python, synaptic (>= 0.57.8), gksu, python-software-properties, python-glade2, python-gtk2
Conflicts: update-manager (<< 0.55)
Description: manage the repositories that you install software from
This software provides an abstraction of the used apt repositories.
It allows you to easily manage your distribution and independent software
vendor software sources.
.
This package contains a GTK+ based graphical interface.
Python-Version: >= 2.4
剩下的你寫信去問 Maintainer 吧~ XD
Posted by FourDollars
at January 8,2008 19:47
Posted by PowerOp
at January 14,2008 20:18