2010年2月2日 星期二

自由軟體常見問答(FAQ)

自由軟體常見問答(FAQ)

涂敏怡
中央研究院自由軟體鑄造廠計畫(OSSF)工作小組
(出自「中央研究院自由軟體鑄造廠網站」)


定義篇

Q︰什麼是自由軟體(Free Software)?

A︰自由軟體是指可以自由使用、下載、修改、散布的軟體。更精確地說,自由軟體賦予軟體使用者以下四種自由:

  • 【自由0】使用的自由:可以不受任何限制地來使用軟體。
  • 【自由1】研究的自由:可以研究該軟體的運作方式、並使其適合個人需要。
  • 【自由2】散布的自由:可以自由地複製此軟體並散布給他人。
  • 【自由3】改良的自由:可以自行改良軟體並散布改良後的版本,以受益全體社群。

它和商業軟體之間最顯著的差異在於:

  1. 自由軟體鼓勵你複製、散布。
  2. 自由軟體允許你研究、改良。

正因為自由軟體允許你研究、改良,使得人們得以「站在巨人的肩膀上」,而不必「重新發明輪子」,這種和科學研究類似的作法,對於科技的進步有著巨大的影響。

Q︰什麼是開放源碼軟體(Open Source Software)?

A︰開放源碼的授權基礎主要是根據開放源碼組織(Open Source Initiative, OSI)的規範,主要內涵除了標榜源碼的開放之外,亦包括了自由散布的形式、管道與授權方式等權利義務的規範。期望透過開放性所凝聚的社群開發力量,使軟 體功能更臻完美,這也是吸引廠商或軟體開發人員投入的主要原因。開放源碼組織(OSI)列出的開放源碼定義包含下列十點特性︰

  1. 免費自由重複散布
  2. 軟體應附有原程式碼
  3. 允許修改軟體和衍生軟體
  4. 原程式碼的完整性
  5. 不得歧視任何人或團體
  6. 不得歧視任何專業工作領域
  7. 授權條款的散布
  8. 授權條款不得具體針對一項軟體產品
  9. 授權條款的規定不得影響其他軟體
  10. 授權條款非基於特定之技術或平台

Q︰源碼的共享是否即是自由/開放源碼軟體軟體模式?

A︰開放源碼的定義主要是基於開放源碼組織(OSI)所列的十項條件。其中,源碼的共享(Shared source)僅是條件之一。

因此,需釐清的一點是,共享源碼不等同於自由/開放源碼軟體模式。共享源碼僅僅達到源碼的公開,但與自由/開放源碼軟體社群的作法仍有相當大的差異,因其對於源碼取得以及研發成果的散布仍有多重限制。例如,微軟在 2003 年初透過政府安全計畫(Government Security Program; GSP)免費開放視窗作業系統源碼給全球政府單位,以及昇陽電腦 Sun Community Source Licensing(SCSL)計畫的推動,均僅是在特定條件下進行源碼的公開,並非純粹自由/開放源碼軟體的模式,也不符合自由/開放源碼軟體的精神。

在此前提下,需瞭解的是自由/開放源碼軟體係在不同授權機制下,廠商可根據各授權條款的精神,衍生出相關研發成果或服務模式的機會,源碼的取得則僅是過程 中的一個環節。因此,如何在不違反智慧財產權與自由/開放源碼軟體精神的前提下,選擇適當的授權模式,反而是有意投入此領域的廠商所面臨的的挑戰。

Q︰自由/開放源碼軟體否會違反現行著作權等智慧財產權相關法令?

A︰不會。自由/開放源軟體是由創作者在著作權的架構下,利用著作權法所賦予作者的著作財產權,作各種不同的授權方式。使用者在自由/開放源碼軟體的授權之下,有更多利用其著作的自由。

解疑篇

Q︰ 自由/開放源碼軟體因為源碼開放,是否容易造成駭客入侵?

A︰大家通常以為「駭客(Hacker)」是一群以破壞、入侵系統為樂的人,不過這是把「駭客」污名化的想法,這些搞破壞的人其實是所謂的「鬼客(Cracker)」,在這裡我們將真正的 Hacker 翻成「黑客」。當黑客的條件不一定要有高深的程式設計功力,而是願意為寫程式而去寫程式,並能樂在其中的人。實際上大部分的自由軟體,都是由這一群熱心的黑客默默撰寫奉獻出來的,他們通常以電腦技術交流為宗旨,以窮探系統奧秘為樂趣,可以算是一群「以程式會友」的團體。

那麼,使用自由/開放源碼軟體會不會有「病毒」之類的危險?這是屬於系統安全的深入議題,簡單地做個比喻,人吃五穀雜糧,總是會生病,想要身體強健或免疫 力高,確實是有些健康之道,但總很少人敢拍胸腑保證,一定不會生病。想要自己的系統安全有保障,自己就得多投入關心,以一般的經驗來說,依賴防毒軟體之類 工具的朋友,並不保證就遠離了電腦病毒的高危險群 ,若您對成為一名黑客有興趣,要看的不是 BBS 的破解板,應先參考以下兩篇文章的中譯,相信能有一些啟發: 「如何成為駭客(How to be a hacker)」、「Brief History of Hackerdom 中譯」。

Q︰聽說自由/開放源碼軟體對硬體支援不佳、安裝困難、缺乏友善的圖形介面、欠缺應用軟體……,是真的嗎?

A︰這些可能是比較過時、片面、靜態的描述。整體而言,自由/開放源碼軟體的發展仍在持續進行,上述的問題,隨著投入改進的人員或廠商日益增加,將有機會獲得解決。我們先從安裝的容易度或相容性談起。

「相容性」是一個很龐雜的題目,通常可與「支援度」一詞互通。一般而言,我們可初略分為「硬體週邊的支援」、「函式庫應用程式介面的支援」、「資料格式的支援」等不同層次的相容議題。

在硬體週邊的支援上,指的就是作業系統核心在驅動程式上的服務功能。以 Linux 為例,它是自由/開放源碼軟體世界裡最具知名度的作業系統核心,已經有很多硬體週邊廠商提供公用或專屬的驅動程式,不過,一般消費者如果希望很方便地獲得這些驅動程式的便利,通常還是要等到散布套件廠商,例如紅帽公司,在新版的 Linux 光碟裡,把驅動程式整合進去,並且提供使用者容易選用的安裝介面。

值得注意的是,一般消費者在購買硬體週邊時,通常並不知道如何「確認」它們對於 Linux 這類作業系統的支援狀況。舉例來說,顯示卡就是許多朋友覺得頭大的問題,因為不知道如何讓自己的顯示卡驅動成功,而對於 Linux 的作業環境,感到不得其門而入,甚至產生排斥或放棄的態度。

解決這類問題最簡單的方式,是在購買硬體週邊時,優先考慮選購支援 Linux 的產品,您可以主動詢問商家,或是詢問其他自由/開放源碼軟體使用者的經驗,藉以成為自己購買相容硬體週體時的參考。其次,以一般人熟悉的 MS Windows 作業環境為例,您可以優先試用許多跨平台的應用程式,諸如 Open Office、Mozilla……等,這些應用程式的簡介,我們整理於後。由於「操作習慣」是選擇軟體的一項重要因素,如果早日熟悉像是 Open Office、Mozilla 這類基本軟體,日後就比較不容易因為操作習慣,而被迫在狹隘的選項裡進行選擇。

Q︰在 MS Windows 環境上也能夠使用自由/開放源碼軟體嗎?

A︰MS Windows 環境上不但可以使用自由/開放源碼軟體,一般人常見的應用程式,也都陸續出現相當完整而豐富的自由/開放源碼軟體相對應的解決方案。我們整理了一個簡單的對照表如下,推薦的例子多數是自由/開放源碼軟體,少數是免費軟體(Freeware);多數是 Linux 或 Windows 都可以執行的程式,少數是只能在特定平台上執行:

應用系統   自由(免費)軟體工具   非自由軟體工具  
辦公室應用   OpenOffice.org   MS Office  
電子郵件   evolution   MS Outlook  
影像處理   GIMP   Adobe Photoshop  
看圖軟體   gqview   ACDSee  
多媒體播放   mplayer   Windows Media Player  
MP3播放   XMMS   winamp  
IRC   xchat, irssi   MS Chat  
即時傳訊   gaim   ICQ, MSN Messenger
網頁瀏覽   Firefox, Opera   Windows Internet Explorer  
網頁動態語言   PHP   ASP
網站架設   Apache   IIS
資料庫   MySQL   Oracle, Microsoft SQL Server
程式語言   Perl, Python   Visual Basic
網頁應用程式伺服器   Zope   IBM Websphere

Q︰我可以在哪裡下載自由/開放源碼軟體?

A︰您可以在網路上許多地方找到你想找的自由/開放源碼軟體,您可以參考下列網址︰

Q︰自由軟體和我們的日常生活有什麼關係?

A︰相信絕大多數的讀者都有使用網際網路上網的經驗,但各位可能不知道的是,我們平常用到的許多網路服務,背後都是使用自由/開放源碼軟體在運作。例如,全世界有將近七成的電子郵件,都是透過一套名為 Sendmail 的自由/開放源碼軟體伺服器進行傳遞與交換;另外,當您在閱讀這篇文章的時候,根據 Netcraft 網站的統計,自由/開放源碼軟體網頁伺服器 Apache 已經佔據全世界 64.52% 的佔有率,領先微軟 IIS 的 23.54%;當您輸入「http://openfoundry.org/」這樣的網址後,協助查詢網址所在主機位置的程式,是一套名為 BIND 的自由/開放源碼軟體網域解析系統;即使是微軟的 IE 瀏覽器,也在說明部分撰寫以下的補充聲明:「以 NCSA Mosaic 為基礎,NCSA Mosaic(TM) 最初是由伊利諾大學香檳校區的國家超級計算應用中心(National Center for Supercomputer Applications,NCSA)所開發……。」說明 IE 瀏覽器也是根據最初的自由/開放源碼軟體瀏覽器 Mosaic 改寫而成。此外,校園裡最常用的 BBS、MUD 等軟體程式也是源自於自由/開放源碼軟體。

自由/開放源碼軟體並不是為了和特定的廠商作對而存在,但是,自由/開放源碼軟體的知識分享理念,確實是和一般人們實質渴求的利益一致,而這點是有意壟斷 市場的廠商所不願見到的。雖然有些朋友藉著推廣自由/開放源碼軟體將矛頭指向特定廠商,但表面上,就先簡單想像成棒球場上為不同球隊加油的君子之爭,在深 層的意義裡,我們可以先從知識分享、技術交流的角度來一窺自由/開放源碼軟體世界。

商業篇

Q︰ 自由/開放源碼軟體是否等於免費的軟體?

A︰開放源碼軟體軟體亦常被稱為「自由軟體」(Free software),但 "Free" 一字常使自由軟體被誤解為「免費軟體」,以致於被誤解為無商業化經營的可能性。事實上,Free 所代表的是「自由」,亦即代表自由軟體自由傳遞的開放性,而非成本上的「免費」。

以最常被引用的自由軟體授權模式 GPL(GNU General Public License)為例,其授權條款中即明確指出:授權的軟體並不包含保固責任在內,原作者不需因其它軟體開發者不斷地增加或修改新功能而負起保固責任。然 而,為產品提供額外保固以及為實體傳輸產品而進行收費則是被允許的(註:但若為程式原始碼的傳送,則不得超過實體傳輸所需成本)。亦即,廠商在 GPL 模式下,可營利的來源主要為服務的模式,以產品導入或後續的維護服務為主。至於其它授權條款如 BSD(Berkeley Software Distribution)或 MPL(Mozilla Public License),則亦允許藉由自由/開放源碼軟體開發專屬軟體,因此除上述的服務模式之外,同時也增加了產品銷售的收入來源。

簡言之,自由/開放源碼軟體的目的在透過源碼自由散布的開放性使軟體功能更臻完美,不可與免費混為一談。

Q︰如果軟體可以自由下載而不收費,我要如何經由自由/開放源碼軟體賺錢?

A︰您仍然可以藉著自由/開放源碼軟體賺錢,事實上也有商業公司藉由販售自由/開放源碼軟體而獲利,例如紅帽(Red Hat)、Cygnus 等公司就是很好的例子。由於源碼可以自由散布,表示您必須要為源碼創造額外的營利價值,例如提供軟體販售支援與諮詢服務、軟體搭售、撰寫工具書、提供更親合的軟體介面、或是認證測試以保證軟體源碼的品質等等。

Q︰我要如何取得自由/開放源碼軟體的支援?

A︰自由/開放源碼軟體的支援服務其實不難取得,目前也有以提供自由/開放源碼軟體服務為主要業務的公司,當您的公司或組織考慮要更換使用自由軟體 時,可以尋找這方面的公司尋求支援。若您是個剛接觸自由/開放源碼軟體的個人使用者,網路上已有針對各種自由/開放源碼軟體/開放源碼軟體而寫成的大量說 明文件供您參考,您也可以至各大自由/開放源碼軟體教學網站或 BBS 站的相關討論區發問或參與討論,進一步解決您所遇到的困難。如果您有較難解決的問題,也可以直接到各自由/開放源碼軟體專案的網站、mail list、IRC 等直接向專案成員請教。

參考資料

  1. 軟體自由協會《自由軟體總藍圖》網站 http://slat.org
  2. 自由軟體基金會 (Free Software Foundation, FSF) 網站 http://www.fsf.org
  3. 開放源碼組織 (OSI) 網站 http://www.opensource.org
  4. 資策會資訊市場情報中心 (MIC),《商業化開放源碼軟體的迷思》
  5. 洪朝貴,《窗外有自由—給自己一個正確認識 Linux 的機會》
  6. Robert Young,《紅帽旋風 (Under The Radar)》

0 意見: