2017年12月13日 星期三

GNU 網站翻譯計畫

今年初我在協會中提案希望能翻譯 GNU 網站上的內容,長期目標是翻譯完自由軟體基金會出版的《Free Software, Free Society》和《Free as in Freedom (2.0)》這兩本書。

其中《Free Software, Free Society》是 Richard Stallman 的文選,基本上都放在 GNU 網站上,所以只要翻譯好 GNU 上對應的文章即可完成,計 43 篇文章與 2 篇附錄,為本翻譯計畫的優先實現目標。

目前已完成 1-1 The Free Software Definition, 1-2 The GNU Project, 1-5 Why Software Should Not Have Owners, 1-10 Selling Free Software, 2-13 Categories of Free and Nonfree Software, 3-21 What Is Copyleft?

至於非書籍文選方面,則翻譯好 GNU 官網首頁common distrosgnuabout gnugnu historyphilosophy

GNU 專案網站
非常歡迎有興趣的朋友一同協助翻譯!

GNU 網站中文翻譯的郵遞論壇:www-zh-tw-translators@gnu.org
郵遞論壇訂閱網頁:https://lists.gnu.org/mailman/listinfo/www-zh-tw-translators
翻譯參與指引:https://www.gnu.org/server/standards/README.translations.html#how
翻譯的任務協調、議題追蹤站 Savannah:https://savannah.gnu.org/projects/www-zh-tw/
翻譯者手冊:https://www.gnu.org/software/trans-coord/manual/web-trans/
翻譯的官方建議優先序:https://www.gnu.org/server/standards/translations/priorities.html

翻譯流程:
  1. 請在 Savannah註冊帳號
  2. 加入 Savannah 上的 www-zh-tw 專案
  3. 有任何問題請利用 www-zh-tw 專案提供的郵遞論壇:www-zh-tw-translators@gnu.org
  4. 開 Tasks 認領翻譯,或開 Bugs 提報翻譯問題(想協助翻譯時的任何疑問,請利用上述郵遞論壇)
  5. 術語請參考翻譯對照表(目前放在這裡
  6. 完成工作後,將狀態改為 Ready For Test,並找其他人校對
  7. 其他人校對完後,提請我協助提交翻譯 po 檔,並將狀態改為 Done
Savannah 網站
歡迎有興趣的朋友一起參與 GNU 網站的翻譯!

作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。

2017年9月16日 星期六

軟體自由日 -- 協會 2016-2017 總結,向大眾報告


今天是 2017 年度的軟體自由日,軟體自由協會委託藝術設計專家吳傳浩理事所設計新的視覺識別系統,選在這一天於協會粉絲頁正式啟用,而新的吉祥物也即將與大家見面!敬請各位期待。

接著依照過去兩年的慣例,協會在此向大家報告過去一年協會完成與進行中的事項。

過去這一年在軟體自由運動方面,最大的進展當屬國家技能檢定中心的「網頁設計」丙級類科,終於將相關之自由軟體(包括 BlueGriffon、Gimp、Inkscape 等)列入考試預裝軟體選項之一。搭配 104 人力銀行與 1111 人力銀行陸續將自由軟體列於專長列表之中,我們可以更有力地在職校與企業中,推動軟體自由的概念 -- 軟體自由並不是要求所有人都要用自由軟體,但是在教育界使用自由軟體搭配公共授權的素材,不但可以達成教育公平性的目標,並且可以讓過去以工具為導向的教學思維轉變為以技術觀念為導向。學生進入職場後面對相同領域的各式自由/專有軟體,均不會受到限制。

接下來,協會仍然持續與國家發展委員會合作推動開放文件格式 ODF 相關政策。2017 年 8 月協會邀請文件基金會暨 LibreOffice 共同創辦人之一的 Italo Vignoli 來台參加 COSCUP 演講,並偕同社群朋友一起到行政院拜訪數位政委唐鳳。Italo Vignoli 回國後撰文表示對台灣之行充滿正面評價,台灣無疑地是文件基金會與 LibreOffice 的一座堅強據點。

開放授權的書籍方面,協會於 2016 年初發行「不插電的資訊科學」後,至今已售出超過 1,600 本,顯見即使是有電子書可以無償下載,但許多老師與朋友們仍願意支持協會持續進行。更令人高興的是,「不插電的資訊科學」在各地開花,開發出許多不同面向的教案與故事情境等。2017 年 5 月,由南投埔里國中謝宗翔老師發想,台北力行國小顏國雄老師協助以 HTML5 撰寫動畫模擬教材,共同創作出的「偷插電的資訊科學」同樣以 CC 授權分享在網站上,並透過協會出版成書。至今短短四個月的時間,也售出了超過 900 本。最後,完全由交大紙飛機團隊自主發起翻譯成書的「不用電腦學程式」,同樣以開放授權方式釋出。該書現階段不販售,採免費贈送,但要求索書的教育者貢獻分享教案,與協會的理念不謀而合。此書協會以現有資源協助紙飛機團隊申請出版與處理物流等事物,希望有更多老師能共創共享,一起改變台灣的資訊教育。

協會在採用新的視覺辨識系統後,也會開始製作一系列的週邊商品來販售籌措營運經費。也請大家屆時多多購買贊助協會,讓協會更有力量在軟體自由運動上持續努力與大家溝通、推廣!


2017年9月13日 星期三

【新聞稿】拿人民的納稅錢?就該做公開透明的資訊系統!


全世界超過 30 個組織要求改進政府數位資訊建設的流程與思維



21世紀的民主國家中,政府機關所提供與使用的數位資訊服務,已經是基本而至關重要的基礎建設。為了建立值得信賴的資訊系統,我們必須確定政府單位對其所使用的軟體、電腦系統等數位資訊基礎建設之核心擁有完整的控制權。然而,目前的狀況卻很少有政府單位能確保這一點,因為所使用的系統都囿於軟體的授權限制。

現在,全世界有超過 30 個組織一起連署,發表了一封公開信(https://publiccode.eu/openletter/),呼籲他們的國會議員與立法委員制定法律,要求公眾納稅所建置或開發的軟體系統,必須使用自由暨開源軟體的授權。這些初步參與連署的組織包括混沌電腦俱樂部(Chaos Computer Club, CCC)、歐洲數位權利協會(European Digital Rights Association, EDRi)、歐洲自由軟體基金會(Free Software Foundation Europe, FSFE)、KDE、德國開放知識基金會(Open Knowledge Foundation Gemery)、開源商業聯盟(Open Source Business Alliance)、開放源碼促進會(Open Source Initiative, OSI)、文件基金會(The Document Foundation, TDF)、德國維基媒體協會(Wikimedia Germany)、還有中華民國軟體自由協會(SLAT)等。這些組織聯合聲名,邀集所有支持此一理念的個人與組織一起來連署(https://publiccode.eu/#action)。

這封公開信會送到德國國會大選候選人、2019 年歐洲議會議員選舉候選人,以及其他歐盟代表與歐盟會員國代表等人手上。此外,歐洲自由軟體基金會主席 Matthias Kirschner 也特別強調,「雖然這個活動與公開信是針對歐洲國家舉辦,但很高興有歐洲以外國家的組織一起參與連署,因為我們相信全世界任何國家都可以因為制定此一法律而受惠。」

每年政府單位都會花大筆經費,開發打造符合他們需求的軟體系統。而公家單位的採購部門在選擇允許哪些公司進入競標,以及使用納稅人的錢開發購置怎樣的軟體則有決定性的影響。然而,各層級的公家單位通常少和其他單位共享軟體,即便該軟體完全是由政府機關自己的經費開發出來的。此外,缺乏第三方公正獨立單位對軟體程式碼作稽核或其他安全性檢查,也讓民眾的隱私資料常年暴露在危機之中。

「我們需要的是可以促進好點子與好技術交流的軟體,這樣我們便得以改善社會大眾所利用的資訊科技服務。我們需要的是可以保證人民自由選擇、取用,並維持服務廠商間良性競爭的軟體。我們需要的是能讓政府機關完全自主掌控其重大資訊基礎建設系統的軟體,如此這些公共基礎系統才不會被少數特定廠商掌控。」 Matthias Kirschner 說。

這就是為何全世界有三十多個組織呼籲立委與議員們支持我們的主張,隨著時代的潮流,將那些運用全民納稅錢所建置開發的資訊基礎建設,奠基於自由暨開源軟體之上,讓其他公家機關與任何公司、組織、個人都可以自由使用、研究、分享與改善。如此,我們才能保護公家機關所提供與採用的資訊服務,不會被特定廠商利用妨礙競爭的限制性授權鎖定、套牢與壟斷;讓程式源始碼可以被公開檢視,若後門程式或安全漏洞被發現之時才不必仰賴特定廠商才能修復。

新聞自由基金會(Freedom of Press Foundation)主席 Edward Snowden 對此一運動發表支持聲明,他說:「因為專有軟體的程式源始碼通常都是商業機密,所以從根本上大幅增加找出軟體漏洞的難度,不管是意外產生的漏洞、還是刻意被植入的漏洞都極為困難。在現今的環境下,對專有軟體做逆向工程以便改進或加強其安全性已經是絕對必要的事;但這個相當基本的技術需求,在絕大多數狀況下與絕大部份地區裡都是違法行為。今年有許多重要的基礎產業,如醫院、汽車工廠、貨運物流等,都發生過因為專有軟體藏有缺失,結果導致意外而停工的事件;我相信各國都有責任不能再以特殊法律權利,去護航這些不受公眾稽核的專有軟體所產生的缺憾,因為這類軟體造成的損失可是用生命計算的。

時至今日,有許多政府重大的公共基礎建設的設計藍圖都沒有公開給社會大眾知道。若能制定法律要求以人民納稅錢所做的資訊系統必須是自由軟體——『自由軟體』代表軟體的源始程式碼可以攤在陽光下讓公眾檢視——我們才得以在人民開始習慣因軟體缺陷而造成下間醫院停擺之前,找出問題並修正過來。」

中華民國軟體自由協會在此邀集所有認同此一理念的組織與個人一同參與連署,並向立委與議員們大聲說出我們的主張:「政府機關是靠全體納稅人的錢運作。所以,我們要求政府機關有效率、負責任地運用這些經費。用的是納稅人的錢,就應該建立公開透明的資訊系統!」

相關連結:
影片連結:https://vimeo.com/232524527
                    https://www.youtube.com/watch?v=iuVUzg6x2yo






2017年8月29日 星期二

再談自由軟體與專有軟體


一直以來都時常會有些討論自由軟體、專有軟體的貼文有些似是而非的看法,所以本人在此不吝提出一些觀點,並針對混淆之處作澄清,希望各位讀者能參考參考。

一、有些人認為採用自由軟體會抹殺從事軟體開發的工作機會。我認為這是誤解,[0] 請見後述逐項說明。

二、自由軟體與免費無關,也有許多公司提供自由軟體的商業支援、或銷售自由軟體產品,這些即所謂商業自由軟體公司,例如美商 Red Hat 公司就銷售需付費的 Red Hat Enterprise Linux。[1] 至於我們常見的自由軟體願意無償提供,只是軟體開發單位自己歡喜甘願而已,將自由軟體和免費混為一談是討論自由軟體時最常見的錯誤見解。[2]

三、自由軟體的開發一樣要成本、維護也同樣要成本,這些成本多半來自於個人無償奉獻、商業公司、或基金會的支持,任何人都能向這些商業公司購買自由軟體,或是隨喜捐款給自由軟體背後的獨立開發者或維護的基金會。此外,向各位提供一個數據作參考:Linux 基金會公佈2016年 Linux 作業系統核心的程式碼開發有 92.3% 都出自商業公司;[3] 各位也可以進一步研究世界軟體大廠諸如 Oracle、Red Hat、Canonical、Novel 等是怎樣運用自由軟體產品賺錢的。自由軟體唯一與專有軟體不大相同的地方,就是他們的自由軟體成品取之於前人知識、技術、經驗,但成果不私藏,願意拿出來和大家分享,無論有無收費任何人都能自由使用、研究修改、再次散布、改善並回饋給社會大眾。

四、再來聊聊軟體的著作權問題。法律上,一般的實體有物權(有體財產),可以給來給去、賣來賣去;但抽象概念、辦事方法如軟體這類創作沒有實體(無體財產),只能用契約約定如何利用,這就是軟體授權的由來。目前根據伯恩公約之約定,任何人的著作在完成後都將自動取得著作權,所以不管是專有軟體或是自由軟體都受到著作權法保障:只是專有軟體想要佔有專門權利,所以拿著作權法去限制其他人如何使用獨家軟體(故稱專有軟體);[4] 而自由軟體希望利他,所以拿著作權法來保障任何人都能自由善用其軟體(故稱自由軟體)。[5]

五、接著談一下軟體的專利。軟體,說穿了,它的源始形式就是一串數學運算式,這些式子的主旨在於描寫如何完成某件事情的方法。在美國產業中,絕大多數的軟體專利都圍繞著含混不明的文字敘述打轉,甚至是將那些數學公式的描述換句話說(可參考網路上許多談論「軟體的荒謬性」相關文章)。[6] 這也是為何歐盟不允許軟體本身申請專利、以及對資訊表達的方式申請專利。然而,實務上為了抵禦專利蟑螂或其他專有軟體公司的侵害,無論前述的 Oracle、Red Hat、Canonical、Novel 等公司,或是大量利用自由軟體作服務的公司如 Google、Facebook 等,皆保有自己的軟體專利作防護,也甚至有 Open Invention Network 這樣的專利聯盟在保護自由與開源軟體。[7]

六、最後,人們今日所處社會的成果,無一不是建立在前人的知識、技術、文化上。牛頓曾說過:「如果說我看得比別人遠些,那是因為我站在巨人的肩膀上」。試想如果我們處在一個沒有自由軟體、只有專有軟體,並且處處充滿軟體專利的極端社會中,那麼要從頭寫一個不會被告的軟體大概難如登天,任何同領域的新創公司難與既有公司相競爭,整個市場終將被大型專有軟體廠商壟斷。這時我們就能瞭解,自由軟體得以讓任何人使用、修改、散布、回饋,也包括任何廠商,各廠商都能利用自由軟體推出商業服務、並積極修正改善或增添新功能爭取客戶,而這才是保障任何廠商都能參與競爭的公平做法。

好比手機市場,如果當年沒有自由的 Linux 內核心,那麼利用它作基底的 Android 也就無法於焉誕生,而市場上就更難有人白手起家和已成氣候的蘋果 iOS 競爭了。(附註:Android 系統是由許多自由軟體和專有軟體搭配構成,而非完全都是自由軟體)

至於教育上的應用,自由軟體允許任何人研究程式碼並做出改善,這點無疑是更平等、更自由的教材。[8]

以上個人淺見給各位參考。

可進一步參照之資料

0. https://www.getgnulinux.org/zh-tw/linux/misunderstanding_free_software/
1. https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
2. https://www.gnu.org/philosophy/selling.zh-tw.html
3. http://blog.nutsfactory.net/2016/08/30/linux-%e4%ba%8c%e5%8d%81%e4%ba%94%e9%80%b1%e5%b9%b4/
4. https://www.getgnulinux.org/zh-tw/windows/restrictions/
5. https://www.gnu.org/philosophy/free-sw.html
6. http://blog.nutsfactory.net/2010/05/16/patent-absurdity/
7. https://www.openfoundry.org/tw/foss-news/8592-open-source-innovation-patents-and-the-android-platform-in-perspective
8. https://www.getgnulinux.org/zh-tw/windows/stand_for_a_free_society/ 

作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。  

2017年8月8日 星期二

【新聞稿】軟體自由協會與國際開源社群成員拜會政委唐鳳


中華民國軟體自由協會理事長翁佳驥、常務理事曾政嘉,在87日偕同國內開源社群成員及國際開源社群「文件基金會」 (The Document Foundation) 創始人之一的 Italo Vignoli,前往行政院拜會數位政委唐鳳。共同出席的還有國發會資管處潘國才處長、王誠明高級分析師等四名國發會同仁。

Vignoli 在會中強調,在數位化的時代,人們不該再把文檔等同於紙本文件,而應該更著重互通性 (interoperability)。以這點來考量,開放文件格式 (ODF) 的檔案複雜度較低、格式穩定性高,比起微軟所開發的 OOXML 格式明顯勝出。

王誠明於會中提問,微軟 Office 存成的 ODF 格式並不標準,未來微軟會不會願意全面支援?Vignoli 則回應,他不能替微軟發言,但在近幾年微軟受邀卻均未參加的幾場 ODF 測試大會 (ODF Plugfest) 中,可以發現微軟 Office 存成的 ODF 檔在註解等功能不合標準,Vignoli 認為這可能是出自 ODF OOXML 在可讀性 (human readable) 上的基本差異。

此外,Vignoli也指出,雖然不清楚亞洲的狀況,但可確定微軟花費大量金錢遊說歐美各國政府。許多成功抵抗微軟壓力的政府,多半還是倚賴個別推動人員的決心,甚少是來自整個政府對民眾福祉的追求。

對於目前開源運動在台灣政府的推行狀況,唐鳳強調政府已經開發出整合各種線上開源服務的 Sandstorm 系統,並也問及 LibreOffice Online 的發展現況。Vignoli 認為協作文件仍有其限制,例如較長的文件就比較不適合使用線上服務,但也說 LibreOffice Online 持續在發展與改進中,相信將會愈來愈好。


翁佳驥則指出,台灣近三年來積極推動以 ODF 為政府文件交換標準的政策,受到文件基金會的高度重視。此次特別邀請 Italo Vignoli 來台參加開源人年會,並拜訪數位政委唐鳳及國發會相關業務推動單位,就是希望促進文件基金會以及政府的直接交流與合作,也期待未來軟體自由協會能繼續扮演台灣與國際社群溝通的橋樑。 

2017年7月28日 星期五

【新聞稿】LibreOffice 5.4 發行,Writer、Calc 與 Impress 增添新功能

2017 7 28 日柏林報導】文件基金會宣布發行 LibreOffice 5.4 版,這個版本將是 LibreOffice 5.x 系列的最後一個主版本更新,涵蓋 WindowsMacOS Linux 版,以及線上雲端版本。
LibreOffice 5.4 的每個模組都新增了許多功能,其中對微軟 Office 檔案的相容性也有顯著提升。

簡約、靈活的文件讓檔案互通更容易

如同達文西的名言:「簡約是細膩的極致」(Simplicity is the ultimate sophistication)LibreOffice 的開發者們致力於讓檔案更簡約,從而達到互通性(interoperability) 的極致。如此一來,這套自由的辦公套裝軟體所產生的 ODF OOXML 檔,比起其他辦公套裝軟體所產生的檔案版本,會更穩定、也更容易與其他使用者交換互通檔案。
在開發者的努力下,由 LibreOffice 所產生的新檔案,其中的 XML 描述部份比起目前市佔率較高的專有辦公套裝軟體來說,針對 ODF (ODT) 格式而言縮小了 50%,至於 OOXML (DOCX) 而言更縮小了 90%
關於檔案簡化的細節可以參考這份背景文件: https://tdf.io/tdfiofilesimplicityzhtw

LibreOffice 5.4 新亮點

  • 加入了新的標準調色盤,以 RYB 色彩模式為基底。
  • 改善了檔案格式相容性,提高對 EMF 向量圖形的支援,讓您更容易匯入其他辦公套裝軟體所產生的圖表。
  • 改進匯入 PDF 檔或將 PDF 檔插入一份文件時的成像品質。另外從 Writer Impress 匯出 PDF 檔時,新增支援嵌入影片(用 Acrobat Reader 開啟時則可讀取連結的影片)。
  • LibreOffice 5.4 Linux 版支援使用 OpenPGP 金鑰來簽署 ODF 文件。若您已經使用 GPG/PGP 金鑰來簽署電子郵件,這功能可以確保您的 ODF 文件未被更改,不管用哪種形式來傳送或儲存。

Writer

  • Writer 中可以從 Microsoft Word DOTM 範本檔中匯入 AutoText 自動圖文集。
  • 匯出或以純文字模式貼上項目符號或編號時,完整的結構能被保留。
  • 在「格式」選單中,您可以為文件建立自訂的水印。
  • 在內文選單項目中新增了對區段、註腳、尾註與樣式的項目。

Calc

  • Calc 現在支援從樞紐分析表的資料來建立樞紐分析圖。當分析表資料變化時,圖表也會自動更新。
  • 新版中更容易管理評註,只要從選單即可顯示、隱藏或刪除所有的評註。
  • 對儲存格套用條件式格式設定時,可以利用上下鍵改變規則的優先權。
  • 新增了幾個工作表保護的選項,允許選擇性地插入或刪除列與欄。
  • 最後,在您匯出 CSV 格式時,匯出的設定將會被記住以便下次使用。

Impress

  • Impress 中複製物件時,新版可以指定斜向角度。此外,您的設定也會保留以便下次複製時使用。

Online

  • 最後,LibreOffice Online 也做了不少改進,其中包括效能改善,還有頁面可以自動適應行動載具的畫面大小,並且新增了唯讀模式。
關於 5.4 版的主要新增功能可以參考此一短片:
https://www.youtube.com/watch?v=lBNWOWJul4w 關於新功能的解說與相關資源的連結可以參考共筆系統上的頁面:
https://wiki.documentfoundation.org/ReleaseNotes/5.4
值得一提的是,感謝上百名志願者的努力工作,LibreOffice 5.4 的「內在」有很大的改善,讓這套開源的辦公套裝軟體在開發、維護與除錯等層面上更為容易。雖然這部份的成果是使用者看不到的,但對於企業和組織的導入來說是至關重要的改變。

LibreOffice Online 雲端應用版

LibreOffice Online 本質上是個伺服器服務,只要另外搭配雲端儲存空間、以及 SSL 憑證即可(不包含在這套解決方案中)。它可以作為網路服務業者(ISP)提供的公有雲、以及企業或大型組織自建私有雲的促進科技(指大幅改變使用者能力或文化的創新科技)。
最新版本的 LibreOffice Online 程式源碼組建版可以透過 Docker 映像檔取得:
https://hub.docker.com/r/libreoffice/online/
以下這份基本背景文件描述 LibreOffice Online 的定位: http://tdf.io/loonlinebackcht

企業佈署資訊

LibreOffice 5.4 代表著開源辦公應用套裝軟體最新功能的先鋒。此版本適合對相關技術愛好者、早期導入者、與資深使用者採用。
至於企業佈署,目前文件基金會仍維護著較成熟的 5.3 版系列(很快將會釋出 5.3.5 版)。企業若有相關需要,可以向全球各地認證過的專家 (http://www.libreoffice.org/get-help/professional-support/) 尋求支援。
此外,在文件基金會的諮詢顧問團 (Advisory Board, http://www.documentfoundation.org/governance/advisory-board/) 中的幾間公司亦提供了 LibreOffice 長期支援版本 (Long Term Supported versions) 或是導入、教育訓練等服務。
LibreOffice 在世界各地都有大型組織佈署的成功案例。在維基頁面上列出了幾個媒體報導過的導入案例: https://wiki.documentfoundation.org/LibreOffice_Migrations

下載 LibreOffice 5.4

LibreOffice 5.4 即刻可以在以下連結下載: http://www.libreoffice.org/download/ LibreOffice 使用者、自由軟體推廣者、和所有社群朋友都可以前往 http://www.libreoffice.org/donate 捐款,藉此支持文件基金會。
LibreOffice 5.4 中的文件轉換函式庫來自文件自由專案 (Document Liberation Project)http://www.documentliberation.org

新聞資源包

包含高畫質圖片與相關文件的新聞素材包,可自下列網址下載:
https://nextcloud.documentfoundation.org/s/pfz28pVIhoZJ7uO

亞洲地區聯絡窗口


 關於亞洲地區 ODF 的推動政策,以及政府、企業、非營利組織等導入 LibreOffice 的相關資訊,可以聯繫臺灣的 LibreOffice 認證導入專家代表(LibreOffice Migration Professional)— 翁佳驥先生(Franklin Weng <franklin@slat.org>),他同時也是現任中華民國軟體自由協會理事長。

2017年7月8日 星期六

數位生活、作品、教育、和自由軟體

我們現在是數位時代了吧,人手一機的,但未來的人們可能會笑我們還不夠數位卻自稱數位時代。

數位時代很大一部分都是依靠軟體,然而軟體依據授權模式分成兩種,一種是你可以自由使用、研究和修改、散布、回饋的(詳情請見自由軟體基金會《自由軟體是什麼?》);另一種是反正都不行,有白紙黑字寫在授權書上才可以,並且附帶各種限制;前者叫作「自由軟體」,後者稱為「專有軟體」。

好吧,數位時代的作品,不管是文件好了、藝術創作好了,反正只要是內容,只要是以數位形式存在,就必得透過數位工具來製作、修改、讀取,一旦工具被專有軟體壟斷,這個作品的取用就有了門檻,整體相關衍生出的文化就產生了屏障。

怎麼說?專有軟體的一大特色就是,軟體被廠商控制,他們想開價多少、想要怎樣收費都取決於其策略,既然你的資產都套牢在他們的產品手上,你有說不的權力嗎?你說我們可以來反壟斷,但今天如果一個國家政府的資產全都掌握在這間公司手上,那這些金權之間的糾葛、國際之間的角力難分明,將無法讓人確信真有跳脫牢籠的一絲光明。

再來提提教育,當我們國家的教育建立在專有軟體之上,無疑是幫這些廠商訓練未來潛在客戶,即使如此義無反顧幫忙、長久而持續地培養將來廠商可以直接收割的種子,還是要繳交軟體的授權費用給廠商。何況,學校所教的軟體,如果學生因為經濟問題無法使用,難道灌輸他們盜版?(註:許多院校在教授專有軟體時,都有私傳謎樣光碟片的風氣,今日社會對數位產品的法律觀念可見一斑。)別異想天開說可以讓學生自由去學校教室練習了,誰來開教室,薪水誰來付,誰來保證學生與硬體財產安全?更別提這些無法購買專有軟體的弱勢學生,真有時間、精力能待在學校教室了,多半不是打工,就是要幫忙家裡。於是,從學校選擇的軟體開始,就初步劃分了階級,建立在專有軟體之上的教育,並沒有機會平等可言。當我們無法保證學生真有心力學習,至少我們必須保證學生若願意學習、也俱備硬體時,所有人都能享受到一樣的資源,沒有任何進入門檻。學生畢業後想用怎樣的軟體,憑個人選擇、公司考量、自我能力而定,但起碼教育階段中不應存在因軟體授權而起的差異。

Tree by  Martin Svedén, licensed under CC-by 2.0

唯有自由軟體是解脫之道,人人都能自由取用。

你可能說,既然自由軟體可以自由散布,任何人都可以隨意取得,那麼誰來維護自由軟體?誰來支付自由軟體開發者的薪水?沒有人要開發自由軟體的話,那麼自由軟體應該很難用吧!

不,世上早有許多公司和基金會投入自由軟體開發,例如 Android 手機中採用的作業系統內部核心 ─ Linux,也是自由軟體,但有超過九成以上的貢獻都來自商業公司的僱員。LibreOffice 這套自由的辦公軟體,除了志工協助之外,也有專業的開發公司如 Collabora、Red Hat…等有僱用員工開發、改善。

所以我們知道,自由軟體的開發跟專有軟體沒有太大差異,除了志願參與的熱情朋友之外,寫軟體還是一樣靠職業開發者處理。軟體開發是專業的事,我們在使用軟體上總會遇到問題,想要解決問題?除了有能力能自己動手之外,沒有能力也可僱用專業程式設計師去開發、改善。就好比家裡水電有問題,當我們自己無法處理時,總必須請專人來修理;當遇到法律問題,我們若自己無法處理,總必須請律師諮詢。

這世上可沒有白吃的午餐,如果以為採用自由軟體代表免費,可就大錯特錯,畢竟即使自己真有能力可以自行開發、修改、維護自由軟體好了,以機會成本的觀念看來,這些都依然是自己必須吸收的成本。免費取得,但凡事都得親力親為自己來,並不真正「免費」。至於學校採用自由軟體的好處是:如果願意投入資金,代表投入的資金將回饋到全體社會上,而非特定廠商;若願意培養學生,代表未來的人力資源都圍繞著自由軟體,也就會有更多人使用軟體、軟體問題有更高機率被改善、也將創造出更多自由開放的文化資產。教育者應該要知悉到自己一時所選的軟體,對於未來社會整體文化將產生的持續效果。

程式教育正在興起,試想未來人人都有程式設計基礎,只要有心,誰都能從自由軟體所開放的源始碼中學習、和世界各地參與該自由軟體專案的朋友們溝通、合作,無疑是很好的動手實作教材。除了自己可以動手改善外,不會寫程式的人若有需求,也都可以聘請專業的程式設計師,將這個自由軟體修改成符合自己期待的模樣。一旦程式改善了,只要發布出去就能造福更多受到相同問題困擾的人,人們不只滿足自己利益,同時也能讓整個社會全體一同得到利益,自利且利他。以任何方式貢獻自由軟體的朋友,不管是交流推廣、心得分享、協助翻譯、捐款贊助、除錯開發…等,其實同時都在幫助全世界的人。

我相信人類社會之所以有今天,是站在前人的肩膀之上,人類將知識、技術、文化,一代接一代傳承下去,再發揚光大;我認為傳承之間不應存在門檻,知識、技術、文化不應私藏成為獨家,所有資源皆應平等自由取用,再任接受者天性自由發展,成就新的知識、技術、文化。

自由軟體,是我堅信的未來。

作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。 

自由軟體的本質

自由軟體的存在,建立在四大自由之上。
  • 零:自由執行程式,無論任何目的。
  • 壹:自由研究該程式如何運作,並依照想法修改以符合自身所需。(能存取源始碼是這項自由的先決條件)
  • 貳:自由再次散布程式副本,幫助親朋好友街坊鄰居。
  • 參:自由將修改後版本散布給他人,如此一來就有機會讓改善惠及社群整體。(能存取源始碼是這項自由的先決條件)
於是,自由軟體就不再是個人專屬的,它更是全民共有的。

BabyGnuTux-Big,作者 Nicolas Rougier,源始檔在此

漢文中所謂軟體,泛指一切智慧、思想的資源,與硬體相對。而硬體泛指一切建設的實質設施。

基本上我們可以這麼想,電腦世界中的軟體是程式碼,是種具有實用性質的數學式,在互相組合交織之後得以完成某些事務的智慧思想過程,人們將之寫下並交付給電腦運行。就像數學一樣,軟體需要相當進階的專業知識才能夠正確地調整、改善和使用,這就是為什麼有許多人會僱用程式設計師來更新軟體與改良。

自由軟體的特性,就是個人和群體都能自由運用這些以數學式形式存在的事務處理思維過程。也因為自由軟體這樣的特性,造就個人與群體之間的連結與互動,形成了「社群」。

歷史

就歷史而言,起源自理查・史托曼 (Richard Stallman) 的重大自由軟體專案 — GNU 專案。其創立本身旨在完成理查・史托曼的個人理想,打造出完全是自由軟體的 Unix 風作業系統,一套不同但類似(且相容)於當時主流之專有 Unix 的作業系統,他將這套作業系統稱為 GNU,意思代表 GNU's Not Unix。於是世界各地認同這個理念的人們就這麼聯合起來,成為社群,互助合作共同打造 GNU 作業系統。

在1991年時,GNU 將近完成,只欠 Unix 風作業系統中最內部用來分配機器資源、並和硬體對話的程式,也就是「核心」,英文稱為 kernel。剛好林納思・托瓦茲 (Linus Torvalds) 所開發的 Linux 核心可以補完欠缺之處,許多人開始將 GNU 和 Linux 結合一起,打包成「GNU/Linux」作業系統,自此為自由軟體運動的濫觴。

不過林納思・托瓦茲為何要開發 Linux 核心呢?他本人說是「Just for fun.」純屬樂趣為之。但正因為自由軟體兼屬個人與集體的特性,他這個人樂趣之產物,向外接觸到他人之後,他人若覺方便好用可將之改善,再散布給另外他人(包括回饋給原作者林納思・托瓦茲), 於是又造就了個人與群體之間的連結互動。

後續林納思・托瓦茲在開發 Linux 的過程中,需要和他人合作,創造出 git 版本控制系統。這是種分散式架構,任何人都可以有 Linux 源始程式碼的儲存庫,方便他人在自己的機器上修改程式碼,也方便回饋到原作者的儲存庫中。人們依據自身需求可以如河流般分支出自己的旁支,抑可以再合併回元初的主道,反映了自由軟體的內在本質。

自由軟體的本質

在自由軟體的世界中,人們和程式碼相同,都會聚在一起、成型、扭曲、纏繞,有時又還原、斷裂,再次連接。這就是自由軟體的本質。這項基本性質,其實反映出許多人類文化的思想,亦可以說這些文化底蘊正是自由軟體根源的本質。

以東方的佛教思想體系來看,自由軟體正是「自利利他」的體現。以這種觀點來看自由軟體世界中的自利,如理查・史托曼想要打造「GNU 作業系統」的理想、林納思・托瓦茲「Just for fun」的個人樂趣,而依據自由軟體的本質,無論何時都將利他。深層點我們可以看到這些想法背後皆是由其他所有事物構成,亦即包含整個宇宙,是我、和無我的概念。亦是荒川弘所著之《鋼の錬金術師》中一再提及之「一為全、全為一」的道理。甚者,源自南非復興的 Ubuntu 精神意涵:「I am what I am because of who we all are. 」亦復如此。

以西方的思想來看,自由軟體亦是「自由・平等・友愛 」的體現。在自由軟體的世界中,人人皆有可以使用、研究改善、散布程式(無論有無修改)的自由,所以人人皆平等,沒有軟體被誰專有的情事,而自由軟體所構築的社群,正對應兄弟關係或類兄弟關係的社群價值之友愛 (Fraternité)

在日本動畫家和電影導演新海誠作品《君の名は。》所講述的「むすび」(結び)神道思想中,萬物皆有靈,無論是連接繩線、連接人與人、時間的流動都是むすび,所有事物的推移全都是神明的力量。人們做的結繩是神的作品,亦是時間流動的體現:聚在一起、成型、扭曲、纏繞,有時又還原、斷裂,再次連接。而這樣的描述正好和前述自由軟體世界的運作不謀而合,人們和程式碼都是如此結合成社群。

自由軟體的本質,就是如此反映出人類文化的思想底蘊。每當我們在使用、貢獻、推廣自由軟體之時,其實就已在其中了;瞭解至此,我們也就不意外為何世界上會有這些人,在各地個人卻又集體地發展自由軟體了。

深入閱讀


作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。

2017年4月7日 星期五

開源版本控制系統 GitLab 9.0 釋出



版本更新


近期 GitLab 正式釋出 9.0 版本,我也將手上的舊系統更新上來,介面改動不小。


GitLab 8.x 管理介面


GitLab 9.x 管理介面



版本改進


這個版本做了很多改進,極有誠意。以下僅列出我較關注社群版 (CE) 有支援的部份:

  1. 除了原本的群組功能,現在還可以再開子群組。
     
  2. 伺服器環境監控,方便管理者在 GitLab 後台就掌握主機情況。
     
  3. 效能優化提升,我從 8.x 更新至 9.x,使用起來速度確實明顯變快。
     
  4. 採用全新彈出式導航列,取代原本固定在左方的功能表。(老實說這個改變我到現在還沒習慣)
     
  5. 問題看版!問題看版!問題看版!
     
  6. 強化群組的搜尋功能。
     
  7. 可以在程式版本差異處增加標註。(我相信這是 Code Review 狂人主管的最愛)



更新方式


GitLab 有多種更新版本的方法,我個人偏好使用「Omnibus packages」最為簡單方便,一行「sudo apt-get update gitlab-ce」搞定。

官方版本更新說明頁



完整介紹


GitLab 官方完整 9.0 Release 介紹頁
https://about.gitlab.com/2017/03/22/gitlab-9-0-released/


本文轉自「節省工具箱 / Jason Tools」部落格。

2017年4月5日 星期三

【新聞稿】軟體自由協會舉辦世界文件自由日活動,呼籲中央單位積極配合國家標準

我國自民國104年起,由行政院國家發展委員會主導,推動政府單位以國家標準 ODF-CNS15251 為文件交換標準格式,分階段要求網站上提供下載可編輯之檔案必須同時提供開放標準格式(Open Document Format,ODF)之檔案,電子公文傳遞之附檔必須使用 ODF 或 PDF 格式,以及最終全面使用能正確產生標準 ODF 檔之辦公套裝軟體。中華民國軟體自由協會長久以來推動自由軟體、開放格式,有幸與國家發展委員會合作,提供各政府單位、學校等顧問諮詢與政策說明等服務,期能達到公文與檔案長久保存,以及徹底解決因格式不相容而無法開啟之目標。

適逢全世界一年一度,於每年三月最後一週所舉辦的世界文件自由日活動(Document Freedom Day),中華民國軟體自由協會分為兩階段舉辦活動。第一階段於 3 月 27 日,由理事長翁佳驥偕同我國三位ODF青年大使吳念祖、呂昀翰與陳奕熹,於下午一時卅分前往立法院拜會,由立法院資訊處王偉毅管理師接見。協會分享了與開放文件格式相關的資訊與文章等,王偉毅管理師表示願意配合國家政策。雙方並交換了許多相關想法與意見。

第二階段於 4 月 5 日,由理事長翁佳驥與另一位ODF青年大使歐政寬共同前往總統府拜會,由總統府黃重諺發言人接見。在半個小時的會談中,除了開放文件格式相關議題之外,雙方也針對近來重要的教育議題,如程式教育、縮短城鄉落差等交換意見。此外,ODF 青年大使歐政寬也介紹了由成功大學學生主導成立的 Edu.FOSS 社群,以及該社群所進行的計畫,展現青年學生對自由軟體、開放格式與教育應用等議題的關切。

本次世界文件自由日活動,協會透過拜會總統府與立法院,傳遞此一利國利民之國家政策相關資訊,期待由總統府與五院單位身先士卒,帶動其他地方政府跟進,真正做到政府與政府、政府與民間溝通「書同文、車同軌」的目標;不再被特定廠商所把持與套牢,達到真正文件自由、軟體自由的目的。

2017年3月31日 星期五

開源程式碼品質檢測系統 SonarQube



SonarQube 開源程式碼品質檢測系統,它有提供雲端版本,不過雲端版本只提供用來檢測開源專案,若您要檢測自己的專案且不公開,可以採用自建版,於公司內做更多的分析與應用。

支援超過 20 種程式語言,例如 C/C++、C#、Objective-C、JavaScript、VBNET、PHP、Swift、HTML、PL/SQL、Python、COBOL(驚!)、... 等。

透過 SonarQube 自動找出潛在問題並提供建議的解決方式,協助大量節省許多人工檢測時間。



本文轉自「節省工具箱 / Jason Tools」部落格。

開源弱點掃描系統 OpenVAS 推出最新版本 9



開源弱點掃描系統「OpenVAS」,24 個月後最新的 9 版終於來了。

其中一個亮點是改進了網頁介面的呈現,看看上圖這個 Dashboard,順眼多啊。

OpenVAS 9 Release 說明頁:
http://www.openvas.org/news.html#openvas9 

OpenVAS 9 的 VM 檔也已經準備好,下載頁:
http://www.openvas.org/vm.html



本文轉自「節省工具箱 / Jason Tools」部落格。

2017年3月29日 星期三

企業資料備份的開源方案推薦




現代企業正處於「十倍速時代」,所有知識與資料的數量以非常驚人的爆炸性成長往上攀升,也因為所有的營運都與數位資料息息相關,如何儲存與備份就是一個令企業資訊單位非常頭痛的問題。



頭痛的問題點在那裡?


「儲存系統運作」

需要考量效能與管理難易,此議題可參考另一篇拙作 企業應用經驗:開源儲存系統「FreeNAS」 。


「容量無限需求」

海量數據需要依賴龐大的儲存容量,如果已經有了良好的儲存運作中心,剩下要擴充容量就只有一個因素:「錢」。 
經費是所有資訊單位的痛,關於此議題同樣可參考拙作 企業應用經驗:開源儲存系統「FreeNAS」 。



「做好備份機制」

即便解決了上述兩項問題,仍然有最後一道關卡「備份」。 
別忘了,資料不是存在良好的伺服器與硬碟上就永遠不會出問題,在電子的世界裡,沒有人能保證所有系統維持 100% 的妥善率。 
而這個備份問題,就是本篇要討論的主要題目。



資料備份又有什麼問題?


備份的問題非常複雜,除了備份軟體的功能與支援度,還有備份目的地這件事需要考量。

早期高容量儲存技術,主要以磁帶機、磁帶櫃為存放標的,隨著硬碟技術逐漸進步與成本降低,備份方式已經轉移到硬碟來做存放,例如搭配 NAS 網路儲存系統作為備份伺服器。



然而再怎麼建置備份系統,只擺一份還是危險,若整座機房發生災難,則全部毀於一旦。

因此,衍生出「異地存放」的需求,但是中小企業那裡來的錢可以找到適合的場地與線路擺放第二個異地備份裝置?

幸好,這幾年雲端服務非常火熱,相關的服務供應商雨後春筍般陸續成立,Amazon、Google、Microsotf 等紛紛投入市場,一夕之間,異地備份的問題迎刃而解。

也就是說,備份趨勢的改變,由 磁帶 ("T"ape) -&gt; 磁碟 ("D"isk) - &gt; 雲端 ("C"loud) 方向進行蛻變。


在備份策略上,可以進行多種應用,例如,從運作的系統先備份到另一台同樣機房裡的備份伺服器,再由此備份伺服器轉存到磁帶上,再把磁帶運送到其它地點,完成兩個備份目的端,這就是「D2D2T」的模式。


同樣道理,最後一端也可以是 NAS 伺服器,並且擺在異地,這是「D2D2D」。

最新的模式,則是將最後一端直接上傳到雲端儲存,完成真正的異地備份,這就是「D2D2C」。


有什麼好方案介紹?


當然有,市面上已經有許多發展成熟的備份軟體,在不少企業中都已應用的非常廣泛,尤其是前者,我也曾經非常喜歡。






在雲端上傳部份,我也曾經使用過 NAS 系統提供的應用來做 Google Drive 上傳,例如 Synology 群暉科技 NAS 設備所提供的功能。




那麼,我的開源選擇呢?


當然,還是要找找究竟有沒有開源軟體可以符合我的需求?

對我來說,最重要的評估項目有幾點:

  1. 具有靈活設定排程備份。
     
  2. 支援壓縮,用以節省備份容量與流量。
     
  3. 提供檔案加密,來避免備份檔被竊取或外流造成機密曝光。
     
  4. 容易操作的還原介面,以時間點為主要選擇項目。
     
  5. 多種備份目的地支援,包含 Local Driver / Folder、FTP、SFTP、CIFS、Google Drive / Cloud Storage、Amazon Cloud Drive / S3、Azure BLOB。
     
  6. 可以設定要切割上傳的容量大小,這個非常重要,因為許多雲端空間都有單檔容量的上限。
     
  7. 跨平台支援,包含 Windows、Linux、MacOS。
     
  8. 支援 VSS (Volume Shadow Copy Service,陰影複製),才能備份 Windows 中被鎖定或佔用的檔案。


在這麼多的要求條件之下,有些商業軟體甚至都已經被刷掉了。

不過,我們運氣非常好,剛好就有這麼一套開源軟體可以符合上述條件。


Duplicati

Duplicati 是一款跨平台的備份軟體,但是很多人沒意會到一個重點,Duplicati 是用標準微軟 .NET 平台以 C# 開發的程式,在 Linux、MacOS 上透過 Mono Framework 進行運作。


Duplicati 從 2.0 起,操作介面改為清爽的 Web 模式,並支援 RWD,所以只要有瀏覽器即可進行該伺服器的備份設定與管理,非常方便也提升顯示相容性。


如上述所提,Duplicati 支援的雲端儲存相當豐富,而且隨著持續改版也會不斷加入各種雲端儲存空間的支援。



還有沒有其它適合企業應用的開源方案呢?


有的,如果您有企業集中備份的管理需求,可以採用另一套企業級開源備份軟體,提供中央管理伺服器,只需在要備份的主機上安裝好 Agent,剩下的事都交給伺服器處理。

Bacula



Bacula,本圖取自官網」


特別說明:
Bacula Windows 版的 Agent 在使用上要注意授權,僅限「personal use only」,若您要商業使用請記得購買授權。 
[官方說明頁面]


結論


資料備份,刻不容緩。
及早預防,及早治療。



本文轉自「節省工具箱 / Jason Tools」部落格。

2017年3月27日 星期一

線上問卷與投票系統的選擇



近期公司有投票及問卷系統的需求,上網找了一下有那些開源的方案可以自行建置,不找還好,一找就發現一套驚為天人的好系統,經過試用後決定推薦一番。



免費線上服務從不缺少


此類型的系統,在網路上可以找到滿坑滿谷的線上服務,只要簡單註冊後即可開始使用,對於臨時或小情境可以善加利用。





如果要更進階專業的功能,還有專精於這類服務的供應商,幾乎是比問卷系統當成一門專業事業在經營。



Typeform



雲端系統 vs 自建系統


雖然上述服務都能提供豐富且完整的功能,但是對於企業應用來說,總是有些擔心把資料放
別人家會不會有問題,例如服務倒閉、收費提高、本地管理... 等各種疑慮,從而想要自己架設一套在自己的公司裡。





自己開發當然是一條很棒的路,然而現實上不見得划算。在這樣情況下,尋找既有的方案是條可行的道路。




良好的開源方案已經存在


在多方比較與試用過後,我特別推薦使用「LimeSurvey」這個開源方案,它是一款強大且彈性的開源線上問卷系統,以 PHP 及 MySQL 開發。


LimeSurvey



我試用過後的心得如下,提供各位參考。


  1. 類型豐富,單選、多選、陣列表格、數字、文字、日期、檔案上傳...等。
     
  2. 介面支援多國語系,題目也可以提供語系選擇,重點是介面有中文、中文、中文!
     
  3. 可以匿名投票,或用 CSV 或 LDAP 吃人員名單,還內建邀請碼機制與發送郵件邀請與提醒,邀請碼可以一次對名單所有人個別產生。
     
  4. 題目之間可以設定條件與流程,適用於不同答題顯示不同後續題目的場合,甚至支援正規表示式來做判斷。
     
  5. 題目與答案可以用 HTML 視覺化編輯器,想要放圖片放影片放表格都可以。
     
  6. 支援亂數題目,還可以將同一張問卷的題目分群組,針對群組各自亂數取提。
     
  7. 可以一題一頁、一題組一頁、全部一頁,三種顯示方式。
     
  8. 採 AJAX 設計並支援 RWD,手機瀏覽器無痛使用。
     
  9. 可以選擇問卷是否記錄答題者IP位址、來源網址、可以記錄答題時間。
     
  10. 可以在交卷前先儲存目前答題狀況,之後再回來續做。
     
  11. 問卷支援模版系統,可以自行定義想要的問卷長相。
     
  12. 提供統計數據,有圖表,也可以匯出為 pdf、excel 等。
     
  13. 它是開源 Open Source 的!



多種題目與答案形式可選用


甚至提供陣列(表格)形式的題目與答案


問卷的外觀形式可任意自行定義





結論


目前來看,LimeSurvey 適合對外使用,若要在企業內部使用,欠缺 AD/LDAP 的認證整合,只能用邀請碼替代較為不便,希望未來能予以整合或是找到適當的外掛搭配。


本文轉自「節省工具箱 / Jason Tools」部落格。

2017年3月10日 星期五

開放源始碼和安全性有什麼關係?

Security,圖採 CC-by 2.0 授權,作者 GotCredit (http://www.gotcredit.com/)

誠如密碼學專家 Bruce Schneier(布魯斯・施奈爾)所著《秘密與謊言:如何建構網路安全防衛系統》一書第二十二章【產品測試及驗證】中的描述,他認為公眾開放的密碼學加密方法其安全上的好處優於私人專有的方法,因為唯一可以確認密碼方法之安全性的作法,即是由許多專家投注一段很長的時間評估,而將該方法公諸於世是經濟效益最佳的方法;所以基於相同理由,他認為任何與安全防衛相關的事務都應有公眾的解決方案,這包括採用開放源碼方式發佈軟體,就讓世上所有專家評估、讓時間考驗。

他認為一個優良的安全防衛設計,其設計細節不會有什麼必須隱瞞之處;換句話說,這套安全防衛設計之所以安全,純粹來自於產品本身,以及產品自身可以改變的祕密:如密鑰、密碼、信符…等等。但如果是透過隱匿的方式獲得安全性(security by obscurity):即系統的細節是安全防衛的一環,那麼一旦設計細節公諸於世,它們可能會在極短的時間內被破解。若一個軟體的安全設計相當拙劣,就只能期待設計細節不曝光來得到安全;若系統設計相當優良,即便將相關細節公諸於世,也依然安全無虞。

而軟體也是一樣,要在源始程式碼中找到安全防衛上的漏洞,唯一的方法是評估檢驗,但你不可以隨便找人評估,你需要的是安全防衛軟體專家來評估,你需要它們從各種不同角度、經年累月的一再檢驗。雖然聘請這類專家是可行的,但是讓大眾一同動手會更省錢、也更有效率,所以最簡單的方式就是公佈軟體的源始碼

說到這,最常見的反對論點是:公布軟體的源始程式碼只會給怪客們找尋弱點所需之資訊,並且利用這些資訊來作惡。這些人認為,保護源始碼秘而不宣,能夠阻斷攻擊者得到相關資訊。Bruce Schneier 講到這裡說:「除了驚嘆他們的天真之外,我還真不知道該說些什麼」。

畢竟將軟體源始碼公諸於世,並沒有因此增加該軟體的臭蟲與缺陷數目,唯一增加的是一般大眾對它們認識的可能性而已。他提到:「那些把程式碼隱匿不為人知的廠商多半很懶散;而願意將產品源始碼公諸於世的廠商,往往可以因此找到漏洞,所以,他們也就能修補它們。」「秘密的軟體是脆弱的:它就像密碼學一樣。若將源始碼公諸於世,會比隱匿源始碼的措施提供更紮實的安全防衛」。

然而,開放源始碼軟體並不能保證安全,他認為大眾應該把兩件警告銘記在心

首先,僅僅將源始碼公開並不自動等於人們會檢驗它的安全漏洞,並且,當然這也不代表專家們會檢驗它的安全漏洞。
他舉例說:「研究員在 MIT 麻省理工開發的 Kerberos 程式碼發表後十年,才在其中找到緩衝器超限的問題」、「另一個開放源始碼的軟體 Mailman,用來管理郵遞清單,有顯著的安全問題存在長達三年之久⋯⋯直至原作者檢查源始碼,才找到問題所在」。畢竟安全防衛專家是一群常為雜事分神、極其忙碌的一群人。他們沒有什麼時間,也沒有意向想檢閱世上所有公布的源始碼。所以,雖然公布源始碼是件好事,但是它無法帶給你安全的保證。

其次,僅僅將源始碼公諸於世,並不自動等於安全問題只要一發現就可以被迅速解決。
我們沒有任何理由推論:一個兩年的開放源始碼軟體之安全性,會比一個兩年的專有源碼軟體的漏洞少。如果開放源始碼的軟體已經被專家詳細檢驗過,那麼以上的論調有可能是真的。但若只是因為一段程式碼已經公諸於世多年,並不具任何特別的意義。

Bruce Schneier 總結道:「我相信軟體開放源始碼有潛力可以增進安全防衛能力。但是,軟體並不會因為源始碼公開而自動變得很安全,就像不能因為程式碼不公開,就下斷語認為它不安全一樣」。

最後,Bruce Scheier 提及軟體開發模式也是影響軟體安全性的因素之一,而上述探討只針對源始碼開放與否作分析,沒有涉及到「哪一種開發程序可能在設計上產生安全的軟體」。他認為若採用傳統的專有軟體方式(教堂式開發)或許較能產出高品質、大規模的軟體;所以對於安全防衛而言,最好的作法也許是先以教堂式開發製作出專有授權的軟體;然後,再將它轉為開放源始碼公開讓所有人檢驗、讓時間考驗。

參考資料

祕密與謊言書封,合理引用

書名:《秘密與謊言:如何建構網路安全防衛系統》

作者:Bruce Schneier
譯者:吳蔓玲

出版社:商周出版
出版日期:2011/09/18

註,本書已絕版,可於各大圖書館查詢借閱。



關於 Bruce Schneier

Bruce Schneier 個人網頁
Wikipedia 上的 Bruce Shneier 介紹
Bruce Schneier 於 TED 上的分享內容《安全的錯覺》

進階閱讀

開放原始碼比較不安全?看看微軟的中標率吧(冷笑)》,作者洪朝貴