第 171 期 談影音編碼的開放專利與商業應用:從 WebM 與 H.264 格式的比較觀點出發─自由軟體鑄造場電子報─智邦公益電子報
enews.url.com.tw · February 07,2012談影音編碼的開放專利與商業應用:從 WebM 與 H.264 格式的比較觀點出發
林誠夏、葛冬梅/文
Google 在 2010 年啟動 WebM 計畫(註一),這是一套開放、免費的影音編碼格式,不僅其中的程式碼採用自由軟體授權條款釋出,其中的專利技術也採用公眾授權的方式開放他人免費利用,Google 並在 2011 年 1 月表示會於 Chrome 瀏覽器裡移除對於 H.264 影音編碼格式的支援(註二),擴大宣示朝著開放影音格式的政策邁進。但與 WebM 有競爭關係的 H.264 影音編碼格式其實也在去年宣佈,對於免費網站採取永久不收取授權金的政策(註三),乍看之下,這似乎也是一種另類的開放專利授權。但是,這些專利影音編碼格式在授權政策上的變動,真的會如同表面上所看到那樣開放與美好?只要是應用在免費網站上,網站經營者就可以隨意選擇 WebM 或 H.264 格式來實作到影音軟體中,而無須擔心任何後續可能產生的專利授權問題?針對這些疑問,本文將會加以說明,並提出一些建議措施。
WebM 格式以公眾授權的方式釋出
WebM 是 Google 釋出的影音編碼格式,其採用 BSD License 的方式釋出(註四),並針對其中 VP8 編碼相關技術添附特許的專利適用條款(註五)。Google 之所以大力推動 WebM 格式,並且願意採用公眾授權來開放公眾利用 WebM 程式碼與專利技術,推估影響因素有二:一方面是切合 Google 自家瀏覽器 Chrome 的開發趨勢,自行掌握網路影音編碼格式來扶助 Chrome 的未來發展;而另一方面,目前世上最大的線上影音媒體網站 YouTube 為其所有,但 H.264 的所有機構 MPEG LA(註六)在專利授權規範與收費標準態度一直不明確,若是日後 MPEG LA 的專利授權態度日趨轉嚴,勢必對於 YouTube 的服務造成極大的衝擊,因此 Google 成立與推動 WebM 專案與格式,以便未來可以適時地將其所提供的線上影音格式,轉為 WebM 編碼之後再行供應,以避除日後可能得受制於 H.264 高額專利授權金下的不確定風險。
不過 MPEG LA 已經於去年表示,針對免費網站將永久不會收取專利授權金,YouTube 目前所提供的影音服務也是免費的,應該可以安心地繼續利用 H.264 格式在其影音服務中,然而 Google 仍然繼續擴大對 WebM 專案的推廣,並且宣佈在 Chrome 瀏覽器的未來開發裡,停止對於 H.264 的支援,究其要理,泰半是因為 MPEG LA 所提出不收取專利授權金的政策,其實並不如表面上所感覺到的那樣美好。
目前的 H .264 專利授權政策在內涵上與舊有的差異不大
H.264 專利編碼格式是由一家專利授權公司 MPEG LA 所擁有,這個編碼格式不但可以加強線上影音儲放上的壓縮效率,還能在各種網路環境下進行應用,所以被大量運用於線上影音播放網站上,目前 YouTube 上大部份的線上影音檔案即是採用 H.264 為其編碼格式。過去 MPEG LA 原本是採取高額的專利授權金政策,不過之後調整態度,針對終端使用者免費使用影音服務的網站,承諾到 2010 年底不收取專利授權金,後來這個期限又延長到 2015 年,到了 2011 年初又公佈將期間改為永久(註七)。從這一連串授權政策的改變,可以看的出來 MPEG LA 基本上仍然是要賺取專利授權金的收益,只是在免費網站方面採取寬鬆的態度而已,針對 DVD 播放器、影音播放軟體等商品,MPEG LA 還是繼續收取相當數額的專利授權金。
而對於非營利性質的線上影音網站而言,H.264 專利格式的影響本來便不大,因為專利權是發揮在商業行為上的專門營利權,所以使用非營利的方式研究或是利用他人專利,原則上並不一定會侵犯到專利權人的權利。所以目前網際網路上許多免費讓使用者上傳與觀看的影音串流服務,本來就不會直接受到 H.264 格式日後收費的直接衝擊,而 MPEG LA 也順應這個原理,而做出了上述不收取專利權授權金的聲明,所以這些免費授權的宣告,也被部份的評議者認為是吊餌行為(註八),因為,無論是暫時或是永遠的免費,其受益對象都侷限在非商業使用的免費網站,也就是那些依照專利權法理本來就不必然需要支付授權金的使用者,這樣的聲明與政策,並沒有真正改變現狀。
此外,提供終端使用者免費服務的影音網站,在界定上可能會產生問題。舉例來說,雖然線上影音網站提供一般使用者免費上傳與瀏覽影片的服務,不過也同時提供付費的進階服務,讓付費會員可以享有更大的上傳空間、上傳畫質更為細緻的影片,又或者可以線上觀賞出租影片,這樣進階的收費行為是否完全符合「免費提供終端使用者服務」的條件,是有疑問的;又或者,網站業者提供特殊的廣告方案,讓使用者可以在支付若干費用後,將產品或是電影的宣傳影片放在網站上,讓人免費瀏覽,這樣的營利模式是否也可以符合「免費提供終端使用者服務」的條件呢?由於網站服務日趨多元化,收費模式也因而多樣化,什麼的網站服務可以歸入「免費提供終端使用者服務」的範疇,仍是個有待理論與實務來共同補充的灰色地帶。
從以上的分析可以了解到,目前 H.264 的專利授權政策,與之前的差異並不大,並且還涉及到定義模糊不清的「免費提供終端使用者服務」的概念,顯示 MPEG LA 在本質上針對商業利用行為收取專利授權金的態度並沒有改變,因此 Google 在啟動 WebM 計畫之後,亦同步於 Chrome 瀏覽器裡移除對於 H.264 影音編碼格式的支援,這些都是可預測的合理行為與措施。
以 GIF 與 PNG 格式的歷史發展為他山之石
其實 H.264 與 WebM 之間的授權分析比較,在歷史的脈絡裡可以援引 GIF 與 PNG 作為很好的對照例子。
GIF 這個動態圖片的儲存格式,其內含 LZW (Lempel-Ziv-Welch) 專利壓縮演算法,這個優秀的演算法讓 GIF 格式的圖片佔用很小的儲存空間,但在動畫顯示上卻絲毫不影響到色彩與流暢度的表現,其專利權人 UniSys 初期將此格式提供予公眾自由使用,其後卻突然改弦易轍大舉徵收專利授權費用,從而引起自由軟體界的群起撻伐,並催生出 PNG 圖片的格式以為替代使用的方案。H.264 與 WebM 的關係與發展模式,與 GIF 與 PNG 相當近似,所以合理的推估、前車可鑑,MPEG LA 就 H.264 格式的授權金策略並不會完全走上 LZW 的舊路,其會探求較為合理且緩進的專利授權金營收模式,但無論如何,後續必然還是會朝著逐步增加專利授權費用的模式前進,同樣地,Google 也了解這樣的道理,因此未來必然會持續對 WebM 影音格式進行推廣,以避免未來陷於受制他人專利技術的窘境。
線上影音網站的未來發展與建議
從 WebM 與 H.264 格式的比較觀點出發,如果使用者所架設的線上影音網站純粹提供免費的影音服務,自然可以依照專利權的使用原則與 MPEG LA 的宣稱,永久免費的使用 H.264 為其線上影音媒體的壓縮格式,但若是網站有廣告收益日增的現象,或是日後有技術授權移轉、改變營運模式的打算,則筆者提供下列二點建議作為參考,以提醒網站的經營者可以即早規劃影音編碼專利的運用策略,降低無預警費用支出與後續法律糾紛發生的風險:
(1) 逐步以 WebM 格式之檔案代換 H.264 格式之線上影音檔案
BSD License 在解釋上,為一具不可撤回性 (irrevocable) 的自由軟體授權條款,也就是說,WebM 格式以取得授權時的既成 (as is) 狀態向外釋出,一旦取得授權之後,則此授權將不會因為專利權人的事後反悔,而對使用者本來已經取得的授權產生任何影響(註九)。這樣的授權方式,將可以使線上影音網站日後受到巨額專利授權金要求的風險性降至最低。但反過來說,目前 WebM 格式影音檔案其壓縮效率及播放效果,與 H.264 格式的表現仍有相當落差,選用哪一種影音格式的優劣得失,便要由網站開發者就現實狀況進行衡量與利弊評估之後,來加以決定。
(2) 明示授權告知清單並以之為網站技術移轉契約的一部份
原本不用支付 MPEG LA 專利授權金的網站,有可能因為買賣或者技術移轉等原因,導致網站服務型態轉為收費制,本來並不需要付費取得的 H.264 專利授權,此時即轉為需要付費後方可取得,所以實務上最可行的作法之一,便是由賣方或技術移轉出去的一方,列出一份日後必須要另行取得授權的智慧財產清單,給予買方或取得技術的一方,以盡其明示告知之義務,同時將此份清單納入成為契約的一部份,這樣一來,買方或是取得技術的一方就被明示告知,需要依清單的指示另行取得 H.264 專利授權方可收費營運網站,若其怠於取得專利授權以致事後發生爭訟,其損害之產生與後續所生的賠償責任,便不會被歸責於已善盡明示告知義務之賣方或移轉技術出去的一方。
註一:WebM 計畫網站:http://www.webmproject.org/,瀏覽日期 2011 年 4 月 20 日。
註二:HTML Video Codec Support in Chrome,http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html,瀏覽日期 2011 年 4 月 20 日。
註三:MPEG LA’s AVC License Will Not Charge Royalties for Internet Video that is Free to End Users through Life of License, http://www.mpegla.com/Lists/MPEG LA News List/Attachments/231/n-10-08-26.pdf,瀏覽日期 2011 年 4 月 20 日。
註四:New and simplified BSD license,http://www.webmproject.org/license/software/,瀏覽日期 2011 年 4 月 20 日。
註五:Additional IP Rights Grant (Patents),http://www.webmproject.org/license/additional/,瀏覽日期 2011 年 4 月 20 日。因為預設的 BSD License 並未就專利授權方面有所描述,所以 WebM 使用添加條款的方式將專利權一併授權出去讓一般人使用其專利格式,這樣的授權政策讓 WebM 所包含的程式碼著作權與技術專利權,全部都透過公眾授權模式來開放給所有人免費利用。
註六:MPEG LA 網站:http://www.mpegla.com/,瀏覽日期 2011 年 4 月 20 日。
註七:漫談高清編碼:MPEG4,H.264 與微軟 VC-1,http://www.digiasia.com.tw/?mid=Image_fabrication&listStyle=list&document_srl=1122&category=218&sort_index=readed_count&order_type=desc;MPEG LA previously announced it would not charge royalties for such video through December 31, 2015, http://www.mpegla.com/Lists/MPEG LA News List/Attachments/226/n-10-02-02.pdf。
註八:Mozilla shrugs off 'forever free' H.264 codec license, http://www.theregister.co.uk/2010/08/26/mozilla_on_h264/,瀏覽日期 2011 年 4 月 20 日。
註九:自由軟體基金會宣佈支持 WebM 專案,http://www.openfoundry.org/tw/worldwide-news/8259-fsf-announces-support-for-webm-project,瀏覽日期 2011 年 4 月 20 日。
用自由軟體 Plone 來架設網站(3)— 內部設定
marr/文
在前篇文章裡,我們實際編輯 buildout.cfg 設定檔,安裝一個擴充模組,延伸 Plone 既有的內容管理能力,加上地圖操作及編輯的功能,並認識 Plone 預設的 Archetypes 內容型別框架,了解 Schema、Field、Widget 的相依關係。接著,我們將說明客製化 Plone 網站的方式,並介紹如何使用 GenericSetup 來管理 ZODB 的設定值。
客製化 Plone 網站的方式,有兩大途徑,一種是在網頁介面進行設定,稱為 TTW (Through The Web),另一種是在檔案系統裡撰寫程式碼,稱為 TTF (Through The Filesystem)。前者的好處是直覺而快速,比較容易入門學習,但是能調整的地方有限,後者的好處之一,是日後可以重覆沿用設定值,系統化地維護網站的成長,當然,這種方式能讓你擁有最大的調整空間,也代表你要了解更多系統的運作細節。
TTW 設定方式
網頁介面的管理方式,主要是在 ZMI 環境進行,整個 ZODB (或 Zope 系統) 可以想像成一個樹狀結構,它的根目錄稱為 root Folder,通常以「/」符號來代表。如圖1 所示,在物件清單上可以看到多種物件類型,Plone Site 是其中的一種物件類型,在畫面下方有一排操作按鈕,這些物件都可以搭配「Rename」、「Cut」、「Copy」、「Delete」等按鈕,進行基本的操作,就像使用檔案總管一樣。
▲ 圖1 ZMI 根目錄的物件清單
「Import/Export」是比較特別的按鈕,搭配 Plone Site 來操作的話,它可以將整個網站匯出成為一個 ZEXP 檔案,再從另一個 Plone Instance 匯入。以 mysite 為例,選擇「Save to file on server」,它會匯出成為 /home/user/Plone/zinstance/var/instance/mysite.zexp 檔案,只要再把它放到 /home/user/Plone/zinstance/var/instance/import 目錄裡,就會在匯入項目清單裡出現,如圖2 所示。
▲ 圖2 Import/Export 操作畫面
匯出匯入的功能,目前只支援同版本的 Plone Instance,它是個方便的工具,但不是資料升級的萬靈丹。當然,個別的子目錄或是物件,也都可以執行這樣的操作,不過,要確認 portal_types 裡,物件型別資訊有啟用「Implicitly addable」的選項,如圖3 所示。如果沒有啟用,那麼就只能匯出,而不能匯入這類物件型別。
▲ 圖3 Folder 的物件型別資訊
acl_users 帳號管理
Plone Site 是 Zope 裡的一種物件類型,也就是可視為「某程度獨立的兩個系統」,因此兩者各自擁有獨立的帳號管理工具,也就容易理解了。雖然各自獨立,但使用的機制相同,而且 Zope 的管理帳號會凌駕 Plone 之上。它們都是使用 Pluggable Auth Service 的機制,簡稱為 PAS,開發者可以在這個機制裡,加上 LDAP、CAS 等驗證服務的支援,甚至寫出依照 IP 位址來驗證帳號登入的擴充模組。
▲ 圖4 /acl_users 的物件清單
剛安裝的 Zope 系統,預設只會有 admin 帳號,這樣的帳號具備最高的權限,可以管理所有物件,包括 Plone Site 在內,之後在 Plone Site 裡新增的帳號,以 mysite 為例,只會存在於 /mysite/acl_users 的 source_users 裡。
▲ 圖5 /mysite/acl_users 的物件清單
在 acl_users 裡的每一個物件項目代表一個 PAS plugin,每個 plugin 是 PAS 的功能單位。比較特別是 plugins 這個物件,它負責管理 PAS 所有的 interface 啟用資訊,還有啟用的順序。舉例來說,在 Extraction Plugins 設定畫面裡,預設有兩個啟用的 plugin,順序在上的 credentials_cookie_auth,代表它的驗證順序在 credentials_basic_auth 之上。
▲ 圖6 Extraction Plugins 設定畫面
Undo 復原管理
不小心在 Plone 網站裡誤刪資料時,管理員可以在短時間內,其他使用者還未大量修改系統之前,進入 ZMI 介面執行「Undo」的恢復動作。
「Undo」頁籤位於 ZMI 介面的中上方。設定畫面會依時間順序,列出系統執行過的動作。以刪除動作為例,通常會以「manage_delObjects」的關鍵字做記錄,請尋找最近的一筆資料記錄,在它的左方會看到方框,勾選後,點擊頁面下方的「Undo」按鈕,就可以執行復原的動作。
▲ 圖7 Undo 設定畫面
Zope 系統把每一個操作動作稱為 transaction,它們代表系統在不同時點的「特定狀態」,或稱為 snapshot。這些 transaction 資料記錄在 ZODB 裡,通常一段時間後,需要把 transaction 記錄清除,這樣的清除動作稱為 pack。
▲ 圖8 Database Management 設定畫面
清除時可以指定 transaction 的存留天數,在 ZMI 裡 /Control_Panel/Database/main 可以看到設定畫面,以天數 0 為例,代表把所有 transaction 都清空,以天數 7 為例,代表存留最近一週的 transaction 記錄。執行 pack 之後,會發現 Data.fs 的檔案大小變小了。
pack 是重要的資料庫維護動作,除了 ZMI 後台介面之外,Site Setup 前台介面的 Maintenance 裡,也有同樣功能的管理畫面。
▲ 圖9 Site Setup 的 Maintenance 畫面
content_type_registry
Plone 系統支援 FTP 和 WebDAV 通訊協定,可以想像,這是變通的結果,因為物件系統和檔案系統之間,必須進行一系列的對應動作。另外,使用 collective.uploadify 或 collective.quickupload 擴充模組,可以批次上傳檔案到 Plone 系統,上傳時同樣需要進行對應動作。
以 collective.quickupload 為例子,這個模組又稱為 Plone Quick Upload,支援 Javascript 或 Flash 操作介面,並以 status bar 顯示上傳進度。假設我同時選了 01.png 和 02.flv 兩個檔案,上傳到 mysite 網站,Plone 系統如何知道它們分別要存成哪種物件類型呢?
▲ 圖10 Plone Quick Upload 設定畫面
在 /mysite/content_type_registry 裡,Content Type Registry 就是在處理上述的問題,它維護一個對照清單,記錄怎樣的條件下,上傳的檔案使用哪種物件類型。你可以新增想要的設定值,也可以調整它們的順序。
在 ATImage_ext 項目裡,它的 Extensions 指定為「jpg jpeg png gif」,代表這四種副檔名的檔案,上傳時都會以 Image 型別儲存。在 image 項目裡,它的 Content type 指定為「image」,代表屬於 image 這種類型的資料,上傳時都會以 Image 型別儲存。
▲ 圖11 Content Type Registry 設定畫面
另外一個相關的設定項目是 mimetypes_registry,裡面記載 image/gif、image/jpeg、imag/png 之類的設定值,你也可以在這裡新增想要的 MIME 格式資料。
portal_actions
Plone 網站的 Site Map、Contact、Rules、Sharing 等選項,被稱為 (CMF) Action,依照屬性,又歸類在不同的 (CMF) Action Category 裡,例如 Site Map 歸屬在 site_actions 裡。更多例子,請參考圖12 的對照簡表。之所以會有 CMF 字樣,是 Zope 早期以 Content Management Framework 為模組名稱,建立一系列網站工具軟體,簡稱為 CMF,後來 Plone 以 CMF 為基礎發展至今,在系統裡仍然常見到這個縮寫字。
▲ 圖12 Action Category 對照簡表
想要修改或新增選項,可以在 ZMI 裡 portal_actions 進行設定,例如要取消 Accessibility 選項,請到 portal_actions 的 site_actions,找到 accessibility 項目。
▲ 圖13 Plone Actions Tool 設定畫面
在 CMF Action 設定畫面裡,有數個設定欄位,想要取消顯示的話,將「Visible」選項取消勾選,再按「Save Changes」就行。
▲ 圖14 accessibility Action 設定畫面
想要在 site_actions 裡新增 Action 的話,從下拉選單選擇 CMF Action,如圖15 所示。仿照前面的欄位設定值,要先填寫「Title」欄位,例如「Office Location」,「URL (Expression)」欄位可以是「string:${globals_view/navigationRootUrl}/office-location」,「Permissions」欄位選「View」,將「Visible」欄位勾選,儲存後完成。搭配之前的 Plone Map 模組,就可以新增一個提供地圖資訊的頁面。
▲ 圖15 新增 CMF Action 畫面
設定 RSS
Plone 的 RSS 功能,以 Collection 為基礎,請先在 Plone 前台的根目錄,新增一個 Collection 項目,「Title」欄位填寫「My Site - RSS feed」,在「Category」頁籤裡的「Language」選擇「Language neutral」,將「Settings」頁籤裡的「Exclude from navigation」選項打勾。
存檔之後,再到根目錄的「Contents」頁籤,勾選剛才新增的 Collection 項目,點擊「Rename」按鈕,將它的 id 改為「site-feed」,如圖16 所示。
▲ 圖16 更改 Collection 的 id
進入 site-feed 這個 Collection 項目,點擊「Criteria」頁籤,在「Field name」欄位,選擇「Item Type」項目,點擊「Add criteria」按鈕,如圖17 所示。
▲ 圖17 新增 Criteria 欄位條件
在「Item Type」的「Values」欄位選擇想要提供 RSS 的型別,例如「Event」和「News Item」,在「Set Sort Order」的欄位選擇「Effective Date」,勾選「Reverse」,點擊「Save」按鈕,如圖18 所示。
▲ 圖18 設定 Criteria 欄位條件
此時,已經可以從「http://localhost:8080/mysite/site-feed/RSS」這樣的網址,看到 site-feed 的 RSS 資料,如圖19 所示。
▲ 圖19 RSS feed 畫面效果
同樣的,我們可以為 mysite 網站新增一個 RSS Action。再次進入 ZMI 的 /mysite/portal_actions/site_actions,新增一個 id 為 rss 的 CMF Action,這次請將「URL (Expression)」欄位設定為「string:${object/@@plone_portal_state/portal_url}/site-feed/RSS?set_language=${object/@@plone_portal_state/language}」,其他設定值仿照前面範例就行,如圖20 所示。
▲ 圖20 RSS Site Action 設定畫面
GenericSetup
前文裡已經提過,在 ZMI 進行的設定修改,會被儲存在 ZODB 裡。由於 ZODB 使用 Python 內建的 pickles 函式來存取資料,存取物件的資訊會參照檔案系統裡的 Python 程式,如此一來,這部份的 Python 程式必須小心維護,以免更名改版的動作,造成無法找回存進 ZODB 的物件。
Plone 利用 GenericSetup 機制,協助管理員處理上述的問題,它可以把網站設定值,以 XML 格式進行匯入或匯出,我們就可以安心地利用 ZMI 來設定網站,不必擔心找不回 ZODB 裡的設定結果。
想要匯出 mysite 網站的設定值,請到 ZMI 的 /mysite/portal_setup,點擊「Export」頁籤,如圖21 所示。
▲ 圖21 portal_setup Export 畫面
點擊頁面最下方的「Export all steps」按鈕,這會下載一個 setup_tool-20110415093906.tar.gz 之類的壓縮檔案,解開之後,會看到許多 .xml 檔案,它們被稱為 profile 檔案,以 XML 格式記錄系統的設定值。
▲ 圖22 profile 檔案畫面
以 properties.xml 檔案為例,它記錄了網站的基本資訊,例如網站名稱、摘要描述、站長電郵資訊等。
▲ 圖23 properties.xml 內容
你可以在 ZMI 裡,看到上述 properties.xml 的對應設定效果,請到 /mysite 的「Properties」頁籤,它把 XML 內容的每一項設定值,以網頁方式呈現出來,如圖24 所示。
▲ 圖24 ZMI 裡 mysite 的 Properties 內容
結論
在本文裡,我們瀏覽了 ZMI 裡的入門項目,包括 PAS、transaction、pack、content type registry 等技術名詞,透過建立 Action 和 RSS 等範例,進一步地體驗 ZODB 如何把前台與後台串連起來,同時,也認識 GenericSetup 的基本原理,初見 XML 格式的 profile 設定檔,這些都是 Plone 開發架構的重要基礎。
事實上,GenericSetup 不只用於設定值的匯入和匯出,開發擴充模組時,常利用 Extension Profile 的方式,以 Plone 預設的 Base Profile 為基礎,每次只增加或修改少數的 Profile 內容,系統化地維護設定值。等到移除擴充模組時,系統則要想辦法「恢復」成之前的樣子,也就是舊版的 Profile。可是,系統有辦法「記得」之前的樣子嗎? Plone 又是如何處理這類的問題呢? 想知道如何透過 TTF 方式來客製化系統嗎? 欲知詳情,且待下回分曉。
FreeBSD 基礎設定(上)
Weithenn/文
前言
相信對於大多數的個人電腦使用者來說,或許都以為作業系統只有一套,那就是目前在個人電腦市場上佔有率 90% 的 Microsoft Windows。個人認為造成 Microsoft Windows 受到大家喜愛的原因,不外乎「習慣性」。許多初次接觸個人電腦的人,不論是愛玩線上遊戲的玩家,或者是做文書處理工作的使用者,應該都是從 Windows 作業系統開始學習並使用。這樣的使用習慣造成日後要選擇作業系統時,理所當然選擇自已熟悉又可以輕鬆掌握的作業系統。也正因為 Windows 擁有絕對優勢的市佔率,導致市場上各家軟硬體廠商西瓜靠大邊,推出支援 Windows 的軟體及驅動程式。因此使用者安裝新硬體時 Windows 通常內建有相對應的驅動程式。若沒有相對應的驅動程式,往往會附上安裝程式。安裝驅動程式時按[下一步]的安裝方式,對於使用者來說都不會造成太大的困難。
或許有人會說目前 Linux 作業系統在安裝及設定方面也很便利及直覺啊! 但是其實對於一般使用者來說操作 Linux 確實具有一定困難度,除了操作介面與使用者的習慣不同導致不適應之外,若發生問題,解決問題所花費的時間及資源也是相對較高的。例如,若使用者安裝的硬體沒有提供支援 Linux 的驅動程式時,一般使用者便很難在短時間內解決這樣的問題。
然而,Microsoft Windows 作業系統的絕對優勢僅適用於桌面端而已。除了桌面端之外,Unix-Like 作業系統以及商業應用的自由軟體不會輸給 Microsoft Windows,比方網頁伺服器中自由軟體 Apache 的市佔率便遠遠勝過 Microsoft Windows IIS 網頁伺服器。本篇文章所要介紹的作業系統,便是在學術單位及企業應用上佔有一席之地的 FreeBSD。
FreeBSD 是經過 BSD、386BSD、4.4BSD 等階段所發展出來的 Unix-Like 作業系統。與 Linux 作業系統不同,開發方式相當具有階層性,採用 Submitter、Committer、Core Team 這種自由互信且層層分工的樹狀結構來進行發展,至今已發展到穩定版本 8.2-Release ,同時還有開發中版本為 9.0-Current。以下說明 FreeBSD 團隊採用的開發分工模式:
* Submitter:一般使用者皆可參與,您可以透過寄送 Bug Report 或在 Mailing List 上面參與相關討論來協助修正 FreeBSD,通常熱心回報以及討論並且持續貢獻的 Submitter 會被進一步提名為 Committer。Committer 擁有更大的權限,能夠貢獻更多,使得 FreeBSD 更好。
* Committer:擁有存取 FreeBSD 版本控制系統 CVS 及 Subversion 的權限,負責維護龐大的軟體套件庫 (Ports Tree)。因此當使用者需要安裝軟體套件時,不必費心到網路上尋找相關 RPM 或是 Tarball,只要切換至軟體相關路徑,輸入執行指令即可安裝套件。上述安裝套件的動作雖然看起來簡單,但其實是 Committer 幫您設定好相關機制的成果,例如安裝某一套件需要相關的相依性套件時系統都會幫您自動下載並安裝。
* Core Team:為整個 FreeBSD 運作的核心團隊,負責統籌管理整個作業系統的運作,此團隊也決定下一版要加入哪些新功能,以及處理其它事務。簡單說就是負責決定整個 FreeBSD 作業系統未來及發展方向的團隊。
在開始學習 FreeBSD 以前,建議您先了解整個作業系統版本的命名規則以便日後選擇適當的版本,FreeBSD 的版本命名方式為 FreeBSD A.B.C-Tag-D 其代表意義如下:
* A:主要版本。
* B:次要版本。
* C:修正版本。
* Tag:共有 Current、Release、Stable,其中 Current 為實驗性版本,也就是導入相關新功能的版本。待此版本進入穩定階段後會推出 Release 發行版本,而 Release 經過相關的更新及修正後達到最高穩定性則是 Stable 版本。
* D:安全性更新版本。
由上述命名規則可以知道,若您要嘗試 FreeBSD 作業系統的最新功能請使用 Current 版本,若是要將 FreeBSD 安裝於要求穩定度為重的企業用環境,則請選擇 Release 或 Stable 版本。本文則以 FreeBSD 8.2 Release 版本進行示範與介紹。
建立一般使用者帳號
為了減少不必要的篇幅,本文不會說明如何安裝 FreeBSD,有興趣的讀者可以參考官方使用者手冊 FreeBSD Handbook Chapter2 Installing FreeBSD,相信有基礎的使用者一定能順利無誤的安裝起來。由於 FreeBSD 的設計是以簡潔著稱,因此您會發現安裝 FreeBSD 過程所花費的時間非常短,而安裝完成後預設情況下您只能使用 root 管理者帳號(預設密碼為空白)來登入 FreeBSD。如同管理 Microsoft Windows 主機,同樣的安全性概念,也就是一般性操作時,使用一般使用者帳號即可進行操作;若執行動作需要管理者權限時,才需要轉換身份提升權限。同樣的在首次登入 FreeBSD 後,建議您先為管理者建立一般使用者帳號,再將該使用者帳號加入管理者群組中。下列為透過指令 adduser 建立一般使用者帳號 weithenn 以及相關設定,並將該使用者加入管理者群組 wheel 當中:
▲ 圖1 新增使用者帳號並加入 wheel 群組
設定網路功能
建立好使用者帳號後,接下來設定 FreeBSD 的網路功能。在本文中網路功能是以設定固定 IP 位址來進行說明。要對 FreeBSD 設定固定 IP 位址有兩種方式,一為使用指令 sysinstall 進行互動設定,另一種方式則為將固定 IP 位址、網路遮罩、預設閘道寫入 "/etc/rc.conf" 設定檔, DNS 資訊則寫入 "/etc/resolve.conf" 設定檔中。下列先以 sysinstall 互動設定進行說明,接著再解釋手動寫入設定檔的方式:
1. 執行 sysinstall 指令使系統進入 sysinstall Main Menu 互動視窗中。
2. 進入互動視窗後請選擇【Configure】。
3. 選擇【Networking】再選擇【Interfaces】。
4. 選擇要設定固定 IP 位址的網路卡,本例為 "vxn0 3COM 3c590 / 3c595 Ethernet card"。到了這步系統會先詢問是否要啟動 IPv6 於此網路卡中,這邊選擇 "No"。
5. 系統會詢問是否要啟動此網路卡中的 DHCP 功能,此例選擇 "No"。
6. 接下來為設定固定 IP 位址及相關網路資訊,如下圖所示:
▲ 圖2 設定固定 IP 位址及資訊於網路卡 vxn0 上
透過上述互動設定好固定 IP 位址後,系統會將相關網路設定值寫入相對應的設定檔。例如,固定 IP 位址、網路遮罩、預設閘道資訊寫入至 "/etc/rc.conf" 設定檔內,而 DNS 名稱解析的網路資訊寫入 "/etc/resolv.conf" 設定檔內。所以當我們查看這二個設定檔內容時,可以看到相關網路資訊已寫入。您可依個人喜好來決定要如何設定網路資訊,看您是要使用指令 sysinstall 以互動方式來設定網路,或將相關網路設定值寫入相關設定檔內即可。就個人來說使用互動設定便可設定完成是比較簡單的方式。
▲ 圖3 查看網路設定及 DNS 名稱解析設定
上述設定完成後,您會發現 FreeBSD 主機仍然無法連上 Internet。 雖然您透過互動設定已經設定好相關網路資訊,但系統目前仍未啟動相關設定,例如,套用預設閘道設定值。建議您可以重新啟動主機或執行下列指令即可:
▲ 圖4 手動設定網路資訊及設定預設閘道
當您將主機重新啟動或執行上述指令後,可以使用 ping 指令來判斷主機是否能順利連上 Internet,並進行名稱解析,查看這台主機的網路通訊是卡在哪個環節上。
▲ 圖5 測試主機能否順利與 Internet 主機進行通訊
啟用 SSH 服務
經過上述網路設定及確認檢查後,我們可以確定主機網路功能運作無誤。接下來我們便可著手啟動 SSH 服務,以便屆時透過此服務進行主機遠端管理。要在 FreeBSD 主機中啟動 SSH 服務非常簡單,只需要把相關字串值寫入 "/etc/rc.conf" 設定檔後,執行啟動 SSH 服務的指令即可,如下所示:
▲ 圖6 啟動 SSH 服務
執行指令啟動 SSH 服務後,要如何確定主機上的 SSH 服務是否啟動成功呢?要判斷服務是否正常運作,您可透過如下指令來查詢 SSH Process 是否執行,以及 SSH 服務 Port 是否有聆聽。
▲ 圖7 檢查 SSH Process 及聆聽的 Port
Linux 的 SSH 服務預設情況下允許 root 帳號遠端登入,為何在 FreeBSD 無法使用 root 管理者帳號進行遠端登入?許多習慣在 Linux 上操作的人一定非常不習慣 FreeBSD 這樣的設計。這是因為 FreeBSD 設計理念為希望您使用一般使用者帳號遠端登入,等到需要提升權限時,再提升為管理者權限。若您非常希望使用 root 管理帳號進行遠端登入來管理系統,您可修改 sshd_config 設定檔並重新載入 SSH 服務即可。
▲ 圖8 允許 root 帳戶可以遠端登入
在管理作業系統上,安全性與便利性往往是不可兼得的,當您系統的操作便利性愈高則安全性通常會相對的降低。雖然用管理權限遠端登入很方便,筆者建議您不要使用 root 管理者帳號遠端登入管理系統,有以下兩個理由:一是增加了被入侵的機會(因為管理者帳號已經被知道了,剩下就是嘗試密碼了);二是使用管理者帳號登入若下錯指令,很有可能就把系統給毀掉,就必須乖乖至機器面前進行修復了。
有時候遠端登入主機時輸入帳號後要等很久才能輸入密碼。會發生這樣的狀況是因為 FreeBSD 在 SSH 服務時,預設會配合使用名稱解析所導致。若您主機運作的網路環境中已經過作了名稱解析,則不會發生這類問題。若發生這樣的問題,請檢查 DNS 名稱解析中,反向解析對於此主機的解析情況。若此台主機並沒有相關名稱解析的機制,您可取消 SSH 服務中會使用到名稱解析的設定。
▲ 圖9 取消 SSH 服務使用名稱解析機制
結語
本文進行至此已經建立使用者帳號及設定主機網路資訊(固定 IP 位址、網路遮罩、預設閘道、DNS伺服器),並確認網路功能運作無誤。再來則是在 FreeBSD 主機上啟動 SSH 服務,此時 FreeBSD 主機已經具備網路連通能力,而管理者也可以遠端進行管理主機的動作了。在下一篇文章中將討論透過安裝套件 sudo 來限制及記錄管理者帳號 root 的使用記錄,建立良好的 Shell 環境,以及將安裝套件的來源指向至台灣本地鏡像網站,以加快軟體套件下載時間。
歡迎報名 99 學年度第 2 學期自由軟體校園推廣講座
OSSF/編述
自由軟體鑄造場 (OSSF) 持續致力於在大專院校中推廣自由軟體的研究學習與開發應用。本學期(99 學年度第 2 學期)除了辦理單場式的演講外,更與嘉義大學、虎尾科技大學以及嶺東科技大學,合作舉辦專題研討會及系列講座,期望增加自由軟體推廣效益,並能深化在地軟體人才的培育。各場校園推廣活動已經陸續展開,歡迎有興趣的老師、同學以及各界人士踴躍報名參加。
◎ 系列一:自由軟體與多媒體資訊技術研討會
◎ 時間:2011 年 4 月 29 日(週五)早上 9:00 ~ 下午 5:00
◎ 地點:嘉義大學蘭潭校區 理工學院國際會議廳
◎ 議程與報名頁面:http://www.openfoundry.org/tw/foss-promotion-on-campus/doc_download/1409-20110429revisedfinal
◎ 系列二:自由軟體研發暨應用系列講座
◎ 時間:2011 年 5 月 4 日、11 日、18 日、25 日,以及 6 月 1 日
◎ 地點:嶺東科技大學春安校區 資訊網路中心 CY401 教室(台中市南屯區嶺東路 1 號)
◎ 議程與報名頁面:http://www.openfoundry.org/im-ltu-2011-05
◎ 更多活動資訊歡迎參考右列網頁:http://www.openfoundry.org/component/content/article/8315
台灣創用CC計劃獎助專題研究—即日起接受提案
OSSF/編述
「台灣創用CC計畫」為了擴大公眾授權 (Public Licensing)、公眾領域 (Public Domain)、自由文化 (Free Culture) 等議題之研究,特別提供為期 9 週、共 3 至 5 個專案獎助機會。期望藉此鼓勵國內大專院校學生以及對創用CC研究有興趣者,針對以上三大議題對社會造成的影響、反思、與啟發為主題,計劃專案、執行研究並完成研究報告,以期深化推廣創用CC理念之目的。
◎ 研究範疇:創用CC授權/公眾授權對社會各領域的影響、反思及啟發。其中各領域包含文字及影音創作者、媒體、網路、電子書、法律、技術、教育領域、政府部門、新型態商業模式等。
◎ 申請資格:國內大專院校學、碩、博士生,以及對公眾授權、公眾領域、自由文化等議題有研究興趣者。
◎ 獎助名額:3 至 5 名
◎ 徵求時間:即日起,至 2011 年 6 月 8 日下午 5:00 截止收件。
◎ 面試時間:收到提案後,將擇優以 E-MAIL 通知面試時間。
◎ 獎助期間:2011 年 7 至 8 月(共 9 週)
◎ 獎助金額:每月新台幣 1 萬元,共計 2 萬元整。
◎ 提案辦法:請檢附履歷及專題研究計劃書,e-mail 至 emyleo at citi.sinica.edu.tw 。更多的詳細資訊請見「創用CC 2011 專題研究獎助計畫提案徵求」活動網頁。
第九屆黃金企鵝獎系列活動-創意激發網路新商機研討會開放報名
OSSF/編述
人人都說擁有軟體開發能量才擁有決勝點,創意能夠激發出無限商機,如何開發創意的軟體更是關鍵。台北市電腦公會為了協助國內業者認識開放平台軟體開發模式,於 2011 年 4 月 28(四)舉辦「創意激發網路新商機研討會」。透過不同產業的觀點交流以及網路創業成功模式的經驗分享,希望能在國內激盪出軟體開發方面的新思維。
◎ 活動名稱:第九屆黃金企鵝獎系列活動-創意激發網路新商機研討會
◎ 活動時間:2011/4/28 (四) 10:10 ~ 16:10
◎ 活動地點:台北市電腦公會 B102、B103(台北市八德路三段 2 號 B1)
◎ 指導單位:經濟部工業局
◎ 主辦單位:台北市電腦公會
◎ 媒體協辦:癮科技
◎ 聯絡人:台北市電腦公會 林怡芳 2577-4249 ext. 220
◎ 活動網頁:http://seminar.tca.org.tw/D17p00148.asp
Tor 與網路審查制度間的微妙關係–講者 Roger Dingledine 會後專訪
彭冠雯、陳瑞霖、李婉婷/採訪
自由軟體鑄造場於 2011 年 3 月 29 日,邀請身為 Tor (The Onion Router) Project 共同創建人與現任領導成員的 Roger Dingledine(註一),針對 Tor 這個多人使用並舉世矚目的自由軟體專案(註二),面對面的與聽眾分享其專案經營與軟體開發方面的經驗,並一併說明其協助使用者防護網路隱私權的推廣理念。而在會後、鑄造場針對本次演講的內容與現場的討論資訊,擬具了幾個協助國人更進一步了解 Tor 的採訪問題,以下即為會後專訪對話的記錄與翻譯。
問題 1:我們都知道 Tor Project 的開發團隊主要是由網路志願者所組成,要將志願者聚集起來必須要有足以說服眾人的理念來支持,讓每位志願者達成共識,這個專案才有辦法持續進行。想請問 Tor 當初成立的理念是甚麼?對於這個計畫大家心中的共識是什麼?
Roger Dingledine:Tor 有很多不同的目標,計畫一開始是由美國政府下的海軍研究實驗室 (Naval Research Laboratory) 成立名為 Onion Project 的匿名系統計畫,計畫初期的定位希望能讓大型組織以及政府作業部門,甚至個人都可以安心的使用網路資源,不必擔心個人資料外洩的問題。這項計畫的基本設計原則在於:不能僅僅讓單一使用族群來運用。試想,當你發明了一套匿名系統,但這套系統是給癌症患者專屬使用的,假如有個人是這套系統的使用者,想當然爾,所有的人都會知道那個使用者就是癌症病患,這也是為什麼多數使用者需要使用 Tor 的原因。為了避免此類情形發生,Tor 需要不同種類的使用族群。因為這樣,我們的開發成員也各自為了不同的使用族群,盡其所能地讓 Tor 變得更好,這就是我們共同的目標。
問題 2-1:請問你這邊有想給那些沒有在使用 Tor 的人一些建議嗎?
Roger Dingledine:很多使用者因為不同原因正在使用 Tor,而我職責之一就是向人們解釋 Tor 能為他們做些什麼,我想目前 Tor 被使用的一個重要原因就是:你永遠不會知道未來會變得怎麽樣。有些人會說:「我在我自己的國家裡不需要 Tor 這種東西,我很安全,我也不需要網路言論自由。」但你永遠不知道什麼時候你會突然需要 Tor。舉例來說,1950 年代的美國暢行自由主義,很多人發抒己見的呼喊著:「我不確定我們現在遵循的民主制度,是治國最好的方法,雖然民主制度在我們這邊運行的還算不錯。」但誰也沒料到某天,隨著美國與蘇聯關係日趨緊張,曾經公開批評民主制度的人都可能被認為是壞人,一不小心就會被列入在政治的黑名單中。試想,在台灣的你大喊:「讓我們一起攜手將台灣變得更好吧!」接著出現一份黑名單上面列有你的名字,並且沒有人要給這些黑名單成員工作,甚至以鄙視的眼神看著你們。我不確定這樣的狀況在未來有沒有可能再度發生,但重點是:我們就是不知道未來會發生什麼事情!另外一個例子是,在美國有很多回教徒 (Muslim),回教徒的教條中有一項是:行有餘力時要捐錢給比你更需要錢的人,所以許多信奉回教的人常會定期捐款給慈善機構。而突然在 2001 年 9 月 11 號美國雙子星大廈的恐怖攻擊之後,在美國許多人都直觀地認為回教徒都是壞人,甚至有人認為只要是定期捐錢給慈善機構的都是回教徒,所以理所當然的要將定期捐錢的人認為是恐怖份子。當時若你是身在美國的回教徒,怎麽想得到有一天會突然發生恐怖攻擊,又怎麽會想到自己會因為定期捐款而被認為是恐怖份子?Tor Project 的部份目標,就是要讓使用者自主選擇他希望在網路上公開的個人資訊,相同的道理,因為你並無法預料到哪一天你會需要這些網路隱私權的保護。
問題 2-2:那麼你會希望多一些人使用 Tor 嗎?但如你在演講中所提到的,如果越多人使用,Tor 的速度會慢下來。
Roger Dingledine:這部份在技術面來說確實是一個挑戰,因為目前為止有成千上萬個人正在使用 Tor,若速度上的問題可以解決的話,相信使用者會增加至近百萬人。如果有更多人願意協助 Tor Project 新增 Relay 的 Bridge,這將可以有效地提升 Tor 的速度,並且對使用者來說更加的方便。世上有很多人需要 Tor 的幫忙來保護其網路隱私權,我們需要將 Tor 的 Bridge 擴展到能夠處理所有潛在使用者的需求,但卻不影響其使用速度的狀況。據台灣一個朋友告訴我,台灣有很多機構擁有充足的頻寬 (Bandwidth) 可以使用,所以希望台灣的朋友可以一起加入我們志工的行列,一起為全世界的使用者爭取更多網路隱私權利的保障,以及隨之確保的言論自由。
問題 3-1:可以跟我們分享一下,目前全世界大約有多少人在使用 Tor 嗎?隨著資訊安全的意識日漸升高,Tor 的使用人數也愈來愈多,這樣的趨勢對於通訊安全會有什麼樣的影響嗎?
Roger Dingledine:我們在 Tor 的一部分工作就是估算有多少使用者正在使用 Tor,但也因為 Tor 是匿名系統,所以邏輯上來講「誰在使用 Tor」或者是「為了什麼原因使用 Tor」,應該是不容易得到確定值的資訊,這才安全。所以針對數據的部份我們也只有非常概略的統計,我想現在 Tor 的使用者人數大約落在 10 萬與 100 萬之間,有可能是 20 萬人或是 50 萬人。而從網路下載次數方面來看,全球曾經安裝過 Tor 的人數約略有 500 萬人。
問題 3-2:所以 Tor 團隊從來沒有想過利用一些小程式來觀看準確的使用者人數?
Roger Dingledine:針對這個議題,我們需要非常的小心謹慎,我們之前甚至有想過要改變使用條款的內容,假設當使用者使用 Tor 的時候,他們不需要提供任何的個人資料,只要透過一個告知機制告訴我們:「我有使用 Tor!快算我!」然後我們只要每天將這些人數加總,就可以得到精確的使用者數字了,不過目前這還只是一個構想,並沒有真正開始施行。
問題 4-1:隨著資訊安全的議題逐漸受到重視,許多企業開始在關注資訊安全的相關資訊,像 Tor 這樣保障隱私的軟體,為什麼選擇採用開放源碼且免費的方式來經營呢?在這兩者間選擇的理由與依據是什麼?另外,你們是否曾經想過要用商業營利模式來經營?
Roger Dingledine:我們一定要使用自由軟體或是開源授權的方式,來讓使用者可以直接看到 Tor 的程式原始碼,如此,使用者才可以得到充份資訊後自己決定是否要使用 Tor。業界有很多公司使用私有軟體 (Proprietary Software),並且讓你相信你在使用上是安全的。但事實上不然,很多私有的隱私防護軟體在背後運作的方式,使用者是完全無法得知的。但這點 Tor Project 是完全不同,對 Tor 的使用者來說,即使其本身並不具備資訊安全方面的技術和能力,但仍然可以找到許多資訊背景使用者對 Tor 的使用意見,很多使用者會在網路上分享自己使用 Tor 與分析 Tor 原始碼的想法和意見,一般的使用者可以在參考這些評論之後,再決定是否要使用 Tor Project 來防護自己的隱私資訊。並且,選擇自由軟體開發策略的同時,Tor Project 也可以從全世界的開發者與使用者那邊,得到一些實質的改良建議及除錯回報,Open Source 讓使用者有管道可以告訴我們,Tor 的系統哪裡有狀況,也常常給我們具體的提示,怎麽做可以讓這套系統運作地更為完善。
至於商業模式,Tor Project 是非營利組織,我們從贊助商、其他組織和個人捐贈者那邊得到贊助,再從這些贊助的金額裡,撥付一些薪資給 Tor Project 主要的開發者與研究人員。但是 Tor Project 的營運目標從來也不是設立在大量的金錢收益上,因為如果我們類同一般商業軟體將設立目的放在賺錢上,那麼專案的運作方式可能就會向刪減支出或是往廣告行銷方面傾斜,最終的結果會是失去了本身在網路隱私權保護方面的技術領先定位。而且就 Tor 的理念定位來說,我們也不應該直接向使用者收取費用,第一個原因:這個收取費用的行為會曝露出是誰支付了這筆費用,因此,當我們直接向使用者收取費用時,這些使用者便再也不是匿名了。再者,如果我們因為有些人無法負擔 Tor 的使用費用就不提供服務,我們也就違反了前面談到的設計原則,那就是:Tor 在使用上兼容多種類的使用族群,以避免單一的使用族群或使用對象會被指認出來。
問題 4-2:那請問 Tor 是如何招募資金的?Tor Project 會主動向企業詢問以取得贊助嗎?
Roger Dingledine:我們的贊助商通常都是從他們認識的人那邊得知 Tor Project 的相關資訊。Tor 現在會這麼成功,主因就是使用者眾,這些使用者會向他們的朋友們解釋 Tor 的使用方式與優點所在,漸漸地協助 Tor 建立好用、易用的口碑,而這些資訊有時候會傳到 Tor Project 潛在的贊助商耳裡,等到這些潛在的贊助商了解夠多人認同並且喜歡 Tor 所提供隱私權保護服務的重要性之後,他們就會說:「沒錯,Tor 值得我們投資」。不可諱言的,Tor Project 營運的資金一開始是由美國政府下不同的組織與單位提供資助,當時我們透過撰寫研究計畫書的方式來募集資金,但目前的營運資金則大多數來自於期待 Tor Project 能夠提供更優質服務的不同團體,贊助 Tor Project 的對象已不再侷限於官方組織與官方單位。
問題 5:你認為 Tor Project 與自由軟體/開放源碼這兩者的精神有哪些相呼應的之處?請可以說一下你的看法。
Roger Dingledine:Tor Project 在營運方式上算是半個開源社群,我們也有使用許多的自由軟體與開源軟體來協助專案開發。而就開源社群的運作方式來說,其中一個重要價值在於軟體是公眾授權的,這讓軟體的使用者有使用上的自由,除此之外、開源社群運作上另一個重要價值,則在於言論的自由,也就是說,對於軟體的使用意見及批評看法是可以盡情為之的,就這點來說,Tor Project 的理念與自由軟體保障評論自由的理念完全相合,事實上 Tor 在今年稍早,以在自由軟體專案裡被認定最具人權導向的理由,而被自由軟體基金會 (Free Software Foundation) 頒發獎項。除此之外,著名的自由軟體之父 Richard Stallman 本身就是 Tor 的支持者與愛好者,他了解透過 Tor Project,不論人們在網路上發表了什麼言論,他們都不會因為這些言論而被不當關注或者肇生後續的迫害。Tor Project 這種保障使用者言論自由的態度,與自由軟體開發上追求修改自由與表意自由的理念,恰恰就是彼此相合的。
問題 6-1:前一陣子,維基解密公開各國政府的機密資料在國際上引發話題,據傳聞他們在蒐集機密資料時就是透過破解 Tor Project 服務的方式來取得的。甚至還有另一種說法指出,有 Tor Project 的員工協助維基解密的運作,對此想請問你有什麼樣的看法?
Roger Dingledine:我也耳聞過維基解密利用破解 Tor Project 的服務機制以蒐集機密資訊的傳聞。但這真的很不合理!試想,如果某個 Tor 的使用者不安好心,他藉由侵入別人電腦的方式蒐集到很多的機密文件與資料,後續為何還要將這些機密資訊藉由 Tor Project 的加密服務再行散布出去?這樣的推論一點都不合乎邏輯,所以我不能理解為什麼會有這種消息傳出來,再說,維基解密的成員也有出來澄清這項訊息是虛偽不實的,所以我個人是完全不相信這個消息。
問題 6-2:若有心人士將 Tor 的服務,套用在非法行為的匿名保護上,有任何可能的預防機制可以約束他們嗎?
Roger Dingledine:不行。但是退一步來說,這些會在網路上進行非法行為的有心人士,其本身通常都具有很強的技術能力,他們可以透過入侵他人的電腦寄發垃圾信件,架設偽裝的釣魚網站進行網路詐騙。這些非法份子就網路匿名技術方面本身就有自己的一套,就多數的狀況來說,他們根本不需要 Tor 的相關服務,就能有效的在網路上隱藏自己的身份。但反過來說,其他非惡意的網路使用者,就需要像 Tor 這樣的服務,這類的使用者包括一般民眾、公司行號、政府機構,甚至是銀行的貸款部門。舉例來說,有一次我到 FBI 給了一場演講,在演講結束後,有一位 FBI 探員到前面來向我致意說:「我每天工作都用 Tor 的服務來保護我自己,非常感謝你。」所以讓我再次重申,我們無法限定只讓特定族群使用 Tor,因為若是想要成功保障使用者的隱私安全,在服務上兼容多種類使用族群就是一個基本的設計原則。再者,就網路上的非法份子而言,我想,就算把 Tor Project 的服務撤除掉,這些有心份子還是不會就這樣憑空消失,他們總還是找得到其他遂行非法勾當的工具與手段。
問題 7:想請問你未來 Tor 的開發會朝向哪一方面發展,目前有何規劃?
Roger Dingledine:我們打算讓 Tor 的服務在運轉上更為快速,並且在操作上更為簡單。我們也需要讓某些國家的政府更難阻擋 Tor Project 的資訊防護,並且持續教育全世界的人如何在網路上有效的防護自己的隱私安全,並能進一步辨識出哪些軟體是好的資訊安全軟體。而除了上述專案推廣方面的問題,我們也要解決 Tor 在技術方面可能遭遇的防堵問題,例如某些網站的服務並不支援 Tor Project 私密瀏覽的運作方式,這部份的技術問題,也是我們未來打算著力解決的。
問題 8:想進一步請問你身為 Tor Project 領導成員的看法?或是分享你對於 Tor Project 的特殊情感?
Roger Dingledine:一開始 Tor Project 只有我一個人,後來跟進了另一個開發者,而現在 Tor 的核心團隊由 15 個人組成,而在全世界各地約有 40、50 或是 100 多個了解 Tor,並且樂於教導其他人如何加入 Tor Project 服務支援的志願開發者。Tor Project 現在已成長為一個較創建之初大型許多的組織,成員也分別致力於不同種類的多元領域,例如有個小團隊正透過在 Firefox 上建構 Tor 擴充元件的方式,確保該瀏覽器的使用者,能使用加密且安全的進階模式來進行網頁瀏覽。但目前比較挫折的方面是,能夠在 Tor Project 核心計畫裡面幫忙的人還是不夠多,所以未來如何適當地分配開發人力,也是一個當務需要改善的問題。
問題 9:還有任何想要對我們 OSSF 電子報讀者說的話嗎?
Roger Dingledine:一同幫助 Tor Project 讓這個世界變得更美好吧!我認為有一件事情很重要,那就是建議台灣的民眾,可以更加了解其他國家正在發生的變革,以及相關的世界趨勢。前陣子我於台灣大學的演講中,詢問在場聽眾是否知悉埃及正在經歷一場重要革命,但是部份聽眾仍然對這個重大的國際事件缺乏了解。我認為唯有經由深入了解國際事務、關心世界趨勢,台灣民眾才能進一步了解自己在隱私權防護與其他權利上所需要的保障究竟是什麼,從而才能採取適當作為,為自己與其他國際社會的成員爭取更為美好的生活環境。
註一:更多關於講者的詳細資訊,可參照其個人頁面:http://www.freehaven.net/~arma/cv.html
註二:TOR Project 官方網址:https://www.torproject.org/,其專案技術可以讓使用者在網際網路上進行匿名交流,許多評論者認為 2011 年近期各國的茉莉花革命,與部份突破中國網路資訊封鎖的專案都得助於 Tor Project 所提供的技術與相關服務。
報主的話
報主的話: 本電子報為摘要版,若欲訂閱全文版請按此。 |
清理 Debian/Ubuntu 儲存空間
Rex/文
讀過 Tsung 分享的 「Debian/Ubuntu Linux 空間釋放-清除沒用的檔案」 一文,筆者也來分享一下自己清理作業系統環境的方法。
筆者是 Debian GNU/Linux 的長年使用者。Debian 使用者有個壞習慣-不主動定時清理系統。因為 Debian 系統實在太穩定,裝好之後終年難得重灌,久而久之系統就會留下佔用空間的廢棄檔案。這些檔案除了使用者個人資料外,不外乎快取、歷史記錄、設定等等。此外還有曾經安裝的軟體,編譯軟體時所裝的開發函式庫等等。這裡分享幾個常用的清理檔案方法。
Personal data
首先是個人檔案。你有許多目錄,需要先找出佔用最多磁碟空間的目錄。這時候你可以透過指令列用 du 來看 disk usage。常用的參數如下:
du --max-depth=1 -x | sort -n
這個指令的意思是查詢當下目錄所佔用的大小,並依照由小到大的順序排列,-x 的意思是只查詢一個檔案系統,方便你找出單一檔案系統中最大的目錄。你也可以用 -h 讓 du 列出。
如果你不是 geek,我推薦使用 Baobao 。它具備圖形化操作界面,並提供派圖呈現磁碟佔用比例,很容易抓出佔用最多空間的目錄或檔案。另外筆者也建議 KDE 使用者用 Filelight 。
▲ 圖1 圖像來源:Disk Usage Analyzer by Fabio Marzocca
依照筆者的使用經驗,佔用最多空間的檔案往往是電子郵件,因為電子郵件中常常附夾了簡報檔、文件等等。如果已經歸檔結案,我通常會把夾檔刪掉,只留下郵件本文存檔。若你使用的郵件收發軟體是 Evolution,筆者推薦使用筆者寫的外掛程式 evolution-remove-attachments ,來整理及備份電子郵件。
apt-tools cache
從最簡單的系統安裝設定開始,系統就已經裝了許多你用不著的檔案。第一個常見的就是各國語系的說明文件與翻譯,絕大多數使用者不會去看其他語言的說明文件,像是我從來沒讀過法文、甚至日文、韓文的 man pages ,也不會使用這些語系的使用界面。而大部分軟體因為國際化的關係,往往裝了數國翻譯,如果是 OpenOffice、GNOME 或 KDE 這些大型軟體計劃,佔用的空間還不少呢。這時,推薦使用者安裝 localepurge 來移除不需要的語系。第一次安裝 localepurge 時,系統會問你要保留哪些語系,回答過一次後,未來每次透過 apt/aptitude 安裝套件時,它都會自動清理一次。下載後的 deb 安裝檔常常也佔用很大空間,特別是 OpenOffice、Xorg、kernel 等等。如果你常常升級系統,不知不覺系統就會存下很多暫存的 deb 安裝檔。這時,你可以用 apt-get 來清除它們。
# apt-get autoclean
# apt-get clean
其中 autoclean 是清掉舊版的 deb,系統會保留一份最新版本安裝檔。我個人都使用 autoclean 指令,以免發生意外的時候,沒有最新版本的 deb 檔可以重新安裝。一般使用者可以直接以 clean 清除快取。
apt-tools dependency
使用 Linux 時,或多或少會自己編譯一些軟體,需要編譯軟體時,就會需要相關的開發函式庫。但常常裝完砍掉後,這些相關的開發函式庫還留在系統中變成軟體孤兒。你除了應該儘量用 apt-get autoremove 或 aptitude 外,也可以用 deborphan 來找軟體孤兒。最常見(也很危險)的用法如下:
# aptitude remove $(deborphan --nice-mode --guess-all)
這樣 deborphan 會推估所有系統中不需要的程式,並全部移除。你也可以用以下指令找出最佔用空間的套件:
$ deborphan -a -n|sort -n
懶惰的話,你也可以裝 GtkOrphan,以圖形化界面管理。
▲ 圖2 使用 GtkOrphan 圖形化管理硬碟空間。
BleachBit (CCleaner for Linux)
雖然新的 Linux 軟體,已經逐漸使用 .local、.cache、.config 等目錄設定方式,但是還是有許多軟體會把快取存在 .config 或自己的目錄中,像是 .gnome2、.firefox 等。結果是使用者很難找到快取檔案。若使用 UbuntuOne、Dropbox 等等雲端備份工具,常常連不重要的快取都一起備份了,費時費錢。上述指令或工具,看似十分繁複,而且只能管理系統檔案。從 Windows 跳船過來的使用者一定會想,是否有類似 CCleaner 的工具,用手指點一點,就可以把垃圾檔案清乾淨?
那麼,筆者建議你使用同時具有 Windows 及 Linux 版本的 BleachBit 。BleachBit 設計了一套相當有彈性的設定描述語言— CleanerML,支援許多常見軟體的清除功能,非常類似 CCleaner,可以自動偵測可清除的軟體列表,接著只要點選需清除的檔案類型,BleachBit 就會自動刪除並計算所騰出空間。沒有 X 圖形界面時,也可以用 bleachbit_cli 指令列。
▲ 圖3
References
如果你很 Geek,可以參考 Ubuntu Wiki 上的 Reducing Disk Footprint ,上面分享了許多縮減系統大小的技巧。另外 Ubuntu 計劃要削減安裝光碟容量大小,未來新版 Ubuntu 11.04 Natty 將會採用,也會影響系統安裝後佔用記憶體的量。