Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

OpenFoundry自由軟體充電報

OpenFoundry自由軟體充電報
2006.8.7/報主.Tumi

本期內容:
[源碼報報] Google 推出開放源碼專案平台
[源碼報報] 開放源碼界年度盛會-OSCON 2006
[OSSF新聞] 台法自由軟體教育經驗交流圓滿落幕
[OSSF專欄] 方便實用的分散式版本控制系統-SVK

[源碼報報] Google 推出開放源碼專案平台

謝良奇/編譯 2006/07/28

搜尋引擎龍頭 Google 選擇在甫落幕的 O'Reilly 開放源碼開發者大會 (O'Reilly Open Source Developers Conference,OSCON) 上,公開了新服務 Project Hosting。

和開放源碼社群裡無人不知的著名開放源碼專案管理平台 SourceForge 一樣,Project Hosting 提供給開發者的,是一個可以隨時追蹤專案進度與程式碼,並允許開發者相互溝通的專案管理平台。這麼一來,不禁令人聯想 Google 這次是否要以 SourceForge 做為競爭目標。除 SourceForge 外,目前社群已有 Tigris 等各類型專案平台,Google 這次端出的菜色和檯面上的各平台又有何不同,也引人好奇。

◎ Google 的開放源碼專案管理服務

Google 在 OSCON 大會安排了演說,題目為給開放源碼社群的 Google 服務 (A Google Service for the Open Source Community)。演說人是 Google 工程經理同時也是 Apache 軟體基金會主席 Greg Stein。在演說中 Stein 發表了 Google 的開放源碼專案管理平台 Project Hosting。

Stein 表示,Project Hosting 提供 Google 的搜尋與基礎架構,讓開放源碼開發者有效地追蹤軟體開發事項 (issues)。Stein 說雖然這套服務還在初期 beta 階段,其目標在於簡化事項與除錯追蹤,藉此改善開放源碼軟體開發。

他表示,Google 希望讓大家一起來使用這套服務,給與他們回應,好讓服務變得更好。會這麼早就釋出 Project Hosting 就是想要聽取用戶的意見。

Google 開放源碼計劃經理 Chris DiBona 表示,Project Hosting 特別著重開發者的需求。大部份這類型軟體比較傾向照顧企業與大型專案的需要,而 Google Project Hosting 服務則較看重開放源碼開發人員的要求。

Project Hosting 可自 Google Code 進入使用,Google Code 是 Google 提供各類 API 與開發工具的網站,可供開發者運用在應用軟體開發中。服務會提供用戶專案空間、版本控制、事項追蹤 (issue tracking) 與 Google Groups 的郵件列表功能。Project Hosting 無需用戶邀請,一般用戶即可申請帳號加入使用。

◎ 重新思考事項追蹤

Stein 在演說中表示,Project Hosting 可說是事項追蹤的全新思考。他說,Google 的 Hosting 服務會呈現出事項追蹤的全新風貌,應該能有利於開放源碼專案,這是過去從未有過的嘗試。同時 DiBona 和 Stein 也不諱言 Project Hosting 服務在功能上不會和 SourceForge.net 等其它專案管理平台完全相同,甚至可能缺少某些開放源碼專案與企業用戶可能想要看見的功能。

Stein 認為 Google 在這個新服務中省去許多龐雜的架構,將 Google 全文搜尋技術應用在開放源碼專案樂見的功能上。他說,如今免去在層層疊疊中搜尋,可以直接做全文搜尋,對於事項追蹤提供了有力卻更為簡化的機制。

Google 為了 Project Hosting 更重新設計了 Subversion 軟體版本控制系統,提供了相當具延展性的倉儲系統,其中運用了 Google 的高效能、高延展性的儲存技術 Big Table。服務提供了 AJAX 介面,根據 Stein 的說法,用戶可以用更簡單的查詢,搜尋專案事項與除錯歷程。

◎ 授權限制

Project Hosting 雖然沒有所謂的審核流程,不過想要使用 Project Hosting 的開放源碼專案必須使用以下 7 種開放源碼授權之一:General Public License (GPL)、Apache license、Artistic License、Lesser General Public License (LGPL)、Mozilla License、BSD license 與 MIT license。Stein 表示,未來 GPL 第三版釋出後,也將納入 Project Hosting 支援的授權。

他表示,鑑於開放源碼授權數量持續增加,彼此間重疊的情況越來越多,將開放源碼的定義模糊化,他們的態度很明確,不希望助長授權種類過於氾濫。他說,他們不希望見到雙重授權。

他跟著補充說,不適合 Project Hosting 的開放源碼專案還是可以尋求 SourceForge、Tigris 或其它服務。他們並不想囊括所有專案。

◎ 不做 SourceForge 殺手

Google 推出自己的 Project Hosting 後,外界開始懷疑這個服務是否會衝擊到目前最大的開放源碼專案平台 SourceForge。

對此 Stein 認為,Project Hosting 的目的不在於取代 SourceForge,事實上 Google 反倒與 SourceForge 彼此進行合作,保護 SourceForge 多達 16 萬餘個專案名稱不致遭到盜用。他說,他們並不想打擊 SourceForge,Google 想做的是加入自己獨特的元素,並彰顯自己在簡單性、延展性與穩固性的優勢。

為了預防盜用專案名稱的情況發生,Google 已經取得 SourceForge 專案的列表,以防新專案侵害現有專案的名稱。舉例而言,除非取得 SourceForge.net 上 Gaim 專案擁有人的許可,就無法在 Project Hosting 上另行發起 Gaim 專案。

如今開放源碼開發者已經可以在 Project Hosting 上註冊專案。儘管對於 Project Hosting,社群仍然抱持不少疑問,特別是當 Stein 宣佈 Project Hosting 系統程式碼本身不會開放源碼時,引發不少開發者的失望情緒,開放源碼開發者給予 Project Hosting 的回應基本上仍是正面居多,許多人認為開放源碼專案平台多了一些競爭,將可為社群帶來好處。

相關網址:
1.Google 推出開放源碼專案平台
2.Google 提供開放源碼專案管理平台服務
3.Google 有了開放源碼專案管理平台
4.Google 推出源碼管理計劃



[源碼報報] 開放源碼界年度盛會-OSCON 2006

謝良奇/編譯 2006/07/30

集開放源碼領導人物與社群明星的盛會,第八屆 O'Reilly 開放源碼大會 (O'Reilly Open Source Convention,OSCON) 日前已於奧勒岡州波特蘭市畫下句點。這次大會主題延續 OSCON 2005 探討的三大開放源碼趨勢:軟體普及化 (commoditization)、網路協同合作、軟體客製化。特別的是,隨著開放源碼的壯大,OSCON 不僅吸引開放源碼熱衷支持者,同時也成為了私有軟體公司了解開放源碼的最佳場所。

◎ Python Web 快速開發框架 Django 登場

OSCON 2006 第一天以教學為主,由 Django 首席開發者之一 Jacob Kaplan-Moss 發表的 Django:追上記者時程的 Web 開發 (Django: Web Development with Journalists' Deadlines),主題是 Django 這套 Lawrence.com 與 LJWorld.com 採用的 Python Web 快速開發框架。根據 Kaplan-Moss 的說法,Django 有辦法讓 LJWorld.com 在下班前實作出當天中午想到的點子。他在課程中說明了 Django 的設計方法、設定與模版的使用方式等等。

Kaplan-Moss 更以採用 Django 的開發中專案 Jellyroll 進行展示。Jellyroll 的功能可以搜尋多個 Web 2.0 應用軟體的歷史記錄,好比說用戶可以在單一程式中搜尋自己的 Google 搜尋記錄、del.icio.us 的書籤等等。

Django 也可以用在其它方面,像是 Kaplan-Moss 自己就用 Django 做投影片,LJWorld.com 則是將網站內容輸入 QuarkXPress 做為印刷之用。PediaPress 更利用 Django 依需求產生 Wikipedia 文章的出版品。

軟體 PBX 系統 Asterisk 專案由 Brian Capouch 發表教學課程。課程以語音物理特性開始,探討了傳統電話服務的運作方式與語音取樣技術,在經過一連串歷史介紹後,則說明了 Asterisk 組態設定、設定檔架構、呼叫流程、Asterisk 模組等技術層面。Capouch 跟著以實際現場範例,輔以先行發放給與會者的手冊,讓與會者了解 Asterisk 命令列與管理介面的操作。

◎ 開放源碼在 Web 2.0 時代的挑戰

今年新設的會議「O'Reilly 雷達:高層對話」於第二天舉行。第二天尚有 Perl 發明者 Larry Wall 的洋蔥會報 (State of the Onion report) 以及 Google-O'Reilly 開放源碼頒獎典禮 (Google-O'Reilly Open Source Awards)等活動,讓與會者應接不暇。

高層對話由 Tim O'Reilly 討論 Web 2.0 對開放源碼的挑戰開始,O'Reilly 認為在 Web 2.0 時代,企業轉向以服務為基礎,而非散佈程式碼,開放兩字的意義要重新審視。像是 Google Mail、del.icio.us、Flickr 等知名應用軟體都可免費使用,但其原始程式碼並不開放給大眾。他說,即使其原始碼開放出來,大多數用戶也沒有能執行這些原始碼的資源,好比 Google Search 就需要數千部電腦才行,更別提相關的 Google 資料。

O'Reilly 認為資料將越來越重要。在 Web 2.0 應用環境下,用戶必須思考他們的資料夠不夠自由,這意味著用戶能否從服務中取出自己的資料,以及是否擁有貢獻出去的資料等等問題。舉例而言,用戶能不能從 Flickr 中取回自己上傳相片的抽象資料,如評論與標籤 (tags),或者將相片移轉到另一個不同服務,而無須自己動手重新上傳。

一向是開放源碼討論重點的授權,O'Reilly 認為在 Web 2.0 到來後,開放源碼授權是否已經過時的觀點,譬如企業修改並部署 GPL 授權的程式碼提供服務,但並沒有散佈程式碼的行為,GPL 並沒有強制該企業散佈其程式碼的能力。

但 O'Reilly 並未提及新版 GPL 可能將會納入服務型應用軟體的相關條款一事,此外,Affero General Public License (AGPL) 也已經早以針對這個問題提出解決方法。

Larry Wall 的洋蔥會報一向是重頭戲。雖然重點應該在說明 Perl 的進度,90% 的時間 Larry Wall 都在搞笑。Wall 表示 Perl 團隊雖然不願給定 Perl 6 的確切時間表,不過他說在耶誕節時 Perl 6 應該就會大勢底定,到時候釋出的雖然不是最終版本,看起來明年 Perl 滿 20 歲時,Perl 6 應該就會就定位。

◎ 明日巨星、開放源碼與政府、Linux 核心現況

大會亦在「誰是明日巨星」 (Who's on the O'Reilly Open Source Radar?) 議程中選出若干未來一年中值得觀注的開放源碼企業,被選出的公司包括 DabbleDB、Hyperic、Greenplum、Alfresco、Django 與 Mulesource 等,清一色都和資料脫不了關係,都是以協助企業進行資料管理為核心業務。

以上例外的是 Ubuntu 這套 Linux 散佈套件。O'Reilly 會議中多次提及 Ubuntu,這套新興 Linux 散佈套件在 Linux 圈子裡的重要性也就可見一斑。

第三天由 RadiantBlue Technologies 的 John Scott 擔綱的開放技術開發:開放源碼與美國政府 (Open Technology Development: Open Source and the US Government),討論美國國防部 (Department of Defense,DOD) 如何改善軟體採購流程以及藉助開放源碼與開放源碼方法論,在 DOD 內部降低成本及提升開發速度。John Scott 本身就是 DOD 開放技術開發小組 (Open Technology Development Initiative) 的專案領導人。

由 Greg Kroah-Hartman 擔任講者的 Linux 核心現況 (Current State of the Linux Kernel) 也排在第三天,這個議程主要以問答方式進行,Kroah-Hartman 會回答聽眾有關核心的相關問題。

過去兩年內,有 1725 個人送出核心修補,目前核心有七百萬行程式碼。根據 Kroah-Hartman 的說法,新的核心開發方法,也就是捨棄 長期進行未穩定開發的模式,改採快速釋出新功能,從 2.5 版開始應用一直到 2.6 版核心,目前運作正常。

◎ 自由精粹 (The Zen of Free)

OSCON 2006 最後一天重要的議程包括 Sun 首席開放源碼主管 Simon Phipps 的自由精粹 (The Zen of Free) 和 Perl 6、Python 的進度報告。

Simon Phipps 的演說主題是開放源碼的運作與本質。Phipps 以禪的公案來說明開放源碼的基本精神是利他無須犧牲 (altruism without sacrifice)、授權無須律師 (licensing without lawyers)、社群管理無須控制 (controlling the community without control)、以及留下是因為有權離開 (staying because I have the freedom to leave)。

Phipps 討論了開放源碼專案中各類參與者的作法以及專案與廠商的目標。他認為授權的大多數議題已經底定,如今最需要關注的是管理問題,如專案運作方式,以及提交權 (commit access) 和功能控管等等。

他認為差勁的管理一眼就能看穿,但好的管理卻很難辨認出來。因此,他提議設置可鑑定開放源碼專案管理模式的績效方法,而不是一昧的只看專案是不是提倡自由。

資料自由似乎已成為 OSCON 2006 的一貫議題。Phipps 也談到資料自由的重要性,用戶必須擁有轉移到不同廠商或軟體套件的自由。

◎ Perl 6、Python 3.0 進度報告

Python 與 Perl 目前都在進行重大改版。Python 創造者 Guido van Rossum 主講的議程 Python 3000 討論了 Python 3.0 的改版工作、新的設計哲學與暫定的開發時間表。

van Rossum 表示他不想對 Python 做類似 Perl 6 那樣的大幅度改造。他只想修正許多早期的設計錯誤,若干改變會使得 Python 3.0 不相容於早期版本,同時也希望揚棄過時的部份

根據 van Rossum 給定的時程,2007 就會有 Python 3.0 的 alpha 版本,最終版本應該會在 2008 釋出,同時 Python 2.x 的開發也會繼續下去,8 月應該就會見到 Python 2.5 最終釋出版,3.0 版前應該還會有 2.6 版,甚至是 2.7、2.8 版。

Larry Wall 與 Damian Conway 在這一天也在 Perl 6 的議程中,介紹了 Perl 6 開發進度。在這場名為 Perl 6 Update 的議程中,主要談到去年對 Perl 6 語言語法進行的小幅度修改。例如 Perl 變數範圍 (ranges) 加入了可以描述到達而不包括 (up to but excluding) 以及大於而不超過 (after this,but up to) 等表示式,從而簡化變數範圍的操作。針對 Perl 6 的時程,Larry Wall 與 Damian Conway 沒有給出明確的時間表,只表示整個重新設計的核心已經差不多完成。

相關網址:
1.OSCON 全速進發
2.OSCON 第 1 天
3.OSCON2006:Django:配合新聞記者截稿期限的網站開發
4.OSCON 第 2 天
5.Alfresco 獲選為 OSCON 2006 大會焦點
6.OSCON 第 4 天: 禪與蕃茄



[OSSF新聞] 台法自由軟體教育經驗交流圓滿落幕

葉名軒、李貞臻/文 2006/08/04

2006 台法自由軟體教育經驗交流研討會 (2006 Libre Software Meeting) 於七月七日在中中央研究院資訊科學研究所圓滿落幕。透過自由軟體鑄造場 (OSSF) 的安排,讓台法雙方熱衷自由軟體教育者,以跨國視訊會議的方式進行互動。與會國家除了台灣、法國之外,還有西班牙及南非,互相分享如何將自由軟體推廣在學校、教育領域的經驗。

一開始由來自法國的 Francois Schnell 介紹他們的 Liberlab Project及其產出成果,Liberlab 的目標主要是希望在介面上能創造出便宜(少於 15 歐元)、用極少的零件就能組裝、有發展性的、多平台的,以及 Free / Open Source 的環境,藉此鼓勵創新的使用方式。其中他展示一種經過設計、外形簡潔美觀且可以利用程式簡易操作的電腦組件,十分令人驚豔。台灣這邊的資訊老師認為這對國中生的資訊知識學習很有助益,並向 Schnell 詢問何處可購得,不過 Schnell 表示,因為這種 chips 台灣未生產,他會從法國將樣品寄過來給有興趣的台灣朋友。

而來自西班牙的 Juan Rafael Fernandez 則分享西班牙如何運用教育導向的自由軟體並散布其套件,他表示西班牙從 2002 年開始推動,2003 年間進行 "ICT school" 的計畫,他們利用以 Ubuntu Breezy為基礎建構的 Guadalinex v3,開始在一些中學校裡推廣,從 2003 至 2004 年間僅有 100 所學校使用,不過到今年 (2006) 已有 858 所學校,也就是說有 180000 台學校電腦在使用這個系統平台。儘管西班牙推行的成效顯著,但是他也提出了自由軟體在教育領域中尚待改進的問題,諸如:更友善的使用介面、整合更多教育方面的軟體資源及工具,更貼近在地的需求等等。他最後強調,身為教育者的老師,若是在家裡或是學校的電腦使用習慣上,都能採用相同的自由軟體,那會使他們在用自由軟體教學上獲得更大的自信及習慣。

而在台灣方面,宜蘭梗枋國小校長林光章、南港高中資訊教師陳靜蓉所介紹的自由軟體導入校園的實際推動經驗,吸引國外與會者的目光。林光章表示,梗枋國小的老師除了利用 tablet computer 和無線網路進行課堂互動及戶外教學應用外,也使用自由軟體來製作教學 live CD,讓螢幕另一頭的國外與會者興致盎然的向林校長詢問 live CD 的作法、內容及老師們如何互相學習這些技術等。而陳靜蓉老師則介紹南港高中將自由軟體的知識及軟硬體設備導入學生的資訊課程和電腦使用上。經過觀察,她認為在國高中階段對學生導入自由軟體使用的知識及觀念,學生都反應極高的接受度和使用度。

越來越多學校開始採用自由軟體,但是台灣的 Linux 廠商卻仍然慘淡經營苦苦支撐著,百資科技的業者花志忠先生在會後討論時間中,談到台灣在政策上,儘管政府已經規定業者需要提供雙系統的選擇給買主,但是由於 Linux 內部的 OS 非常自由多元,不同 OS 之間的落差很大,每個軟體和 OS 之間也存在著相容的問題,今天老師有意願教學生固然立意很好,但在不同系統間,學生如何去適應?另外他也提到,加強 Linux 系統服務廠商的認證及解決 Linux 使用環境執行速度品質的問題,是自由軟體要在教育領域中推廣的重要環節。

台中清水國小資訊教師吳仁智則認為,台灣其實並不缺買商業軟體的錢,鼓勵學生去使用自由軟體,更重要是希望學生能藉此建立在多元環境、多元系統下的適應能力。許多系統的視窗操作環境其實大同小異,老師要教的其實是概念和原理,而不是按圖索驥的死板步驟。從教育立場切入,培養學生自動去找不同的解決方法,其實是希望自由軟體帶給學生的啟發。

「商業軟體和自由軟體並非互相敵對,」全國中小學自由軟體諮詢中心執行秘書孫賜萍表示,「就如同汽車與捷運,包裝水與自來水一樣,商軟就是汽車和包裝水,當我們趕時間或圖方便時,當然可以去使用商軟;然而自由軟體如同捷運和自來水般,重點在於公共性的投入,讓我們在使用上有更多的選擇權。」

促成這次跨國會議的主辦單位-自由軟體鑄造場 (OSSF) 表示,透過本次研討會與其他國家的熱烈激盪及經驗分享,希望能帶給台灣的自由軟體教育推動者更多有效的啟發,讓自由軟體的運用能在學校教育中展露光芒!

活動參考資料



[OSSF專欄] 方便實用的分散式版本控制系統-SVK

涂敏怡/文 2006/8/4

SVK 是一套分散式且可供個人及企業使用的強力版本控制工具,此系統以 Subversion 為基礎,延伸開發出 repository mirroring 和可以在使用者端進行 local patchset 的管理支援。SVK 1.0 版於 2005 年 5 月釋出,目前最新版為 6 月 19 日出的 1.08 版,採用 Artistic 授權。

這套分散式的版本控制程式是由資深的 Perl 開發者高嘉良 (clkao) 發明,創造 SVK 的源起要回溯至 2003 年,當時在本地開放源碼社群小有名氣的他,熱衷於爬山與泡野溪溫泉等活動、時常身處深山裡沒有網路連線的地方,若想將剛寫好的程式上傳至 SVN 伺服器較為困難,因此他開始思考可以在深山中邊泡溫泉邊寫程式碼的方法,也就是離線進行版本控制,並以 Subversion 為本,改寫可離線使用的分散式版本控制程式。經過一年多的獨力開發,高嘉良終於完成這套程式,獨一無二的分散式版本控制管理程式 "SVK" 就此誕生,

SVK 與 Subversion 的不同、同時也是 SVK 的創新之處,在於 SVK 可以在 client 端 mirror 全部遠端的 Subversion repositories(在本地端稱為 depot),如此程式碼不但有可以接觸整個 project 的 history 和權限,更可以先創建本地端分支 (branch),在本地端撰寫並預先和下載的 repositories同步,等到了有網路的環境中,便可用一個簡單的指令將本地端的資料與伺服器資料再次同步,或是將本地端分支和其他的 Subversion repository 合併,不致因為網路連線環境的缺乏或故障而耽誤工作的進行。若將此概念延伸,程式開發者或公司員工便可在任何地點(如飛機上、無公司網路的家中、其他人的辦公室)進行工作,可大幅提升專案運作的效率。

由於 SVK 是根據 Subversion 開發而成,因此與 CVS、Perforce、Subversion、Arch 和 cvsbk 等版本控制程式相容性高。在其他開發者的共同開發下,SVK 目前已具有 Win32 版本、使用者可在 Windows 環境下透過 GUI 安裝程式安裝 SVK,另亦有 Mac OS X 版本。目前約有 10 位開發者進行 SVK 的開發,根據 SVK 專案參與者 hcchien 表示,除了高嘉良進行主要開發外,包括 Audrey、gugod、klight、matthewd、Tlaloc亦參與了 SVK 的開發工作,其中Audrey負責 win32 的 package,Tlaloc 則負責 OSX 上的 package。

SVK 除了在 Perl 綜合典藏網 (CPAN) 釋出外,同時選擇在中央研究院自由軟體鑄造場 (OSSF) 專案平台建立專案與設置通信論壇,並開始受到社群與使用者的注意。三年多來 SVK 始終是 OSSF 專案平台上的十大熱門下載專案,並產生了不少的愛用者,如 OSSF 專案平台所採用的 RT(Request Tracker) 所屬公司 Best Practical Solution 負責人、同時也是 RT 的發明人 Jesse Vincent 即為 SVK 的重度使用者。有鑒於 SVK 未來發展潛力看好,Best Practical Solution 於 2006 年 6 月宣佈買下SVK專案,開始提供SVK的商業服務,包括客戶諮詢、訓練、轉換、客製化軟體開發等服務,同時高嘉良亦成為 Best Practical Solution 的合夥人,讓開放源碼社群專案商業化的成功案例又添一樁佳話。

除了可以滿足個人需求,目前有許多大型的開放源碼計劃和商業公司亦開始採用 SVK 進行版本控制,包括 KDE、WINE、Samba、RT、Kwiki、甚至蘋果電腦部門團隊等均採用 SVK 作為版本控制工具,國內的重要開放源碼專案如 OpenVanilla 輸入法及文字處理架構亦持續使用 SVK 作為開發工具,使得 SVK 的應用層面更加多樣化。

儘管 SVK 已經獲得廣泛的使用,SVK 開發團隊不以此為滿足,高嘉良表示 SVK 2.0 版即將推出,將增加許多新功能,例如可自訂一個virtual checkout layout 的 viewpoint 功能,以及 merge 功能的加強、如對 copy / move 的支援;展望未來,SVK 計畫將開發更多更實用的功能,例如 usability 的加強以及 thin-client 的計畫等。在 SVK 計畫的待辦事項 (todo list) 上,還有規劃以 svkup / svkupd 取代現行 freebsd 中行之有年、略嫌老舊的 cvsup 以提升其效能,以及開發 Web-based tools,將來透過瀏覽器便能用 SVK 執行例行工作等,以改進現有的文字命令列的操作介面。

如同多數偉大的開放源碼專案,SVK 專案亦是從滿足開發者的個人需求出發,從而創造出分散式、可以不用透過網路進行「無痛 merging」的版本控制方法,對於需要 SVN 或 Subversion、但又為網路問題所苦的的企業與專案來說是方便實用的解決方案,亦造福了整個社群的軟體開發方式。

參考網址:
1.OSSF平台上的SVK專案
2.SVK計畫網站
3.《Version Control with SVK》
4.高嘉良專訪



報主的話:
本電子報為摘要版,若欲訂閱全文版請按此