跳至內容

Ict@創新:釋放您的非洲 IT 業務/1-1

來自華夏公益教科書,開放世界的開放書籍

模組 1.1 通用 FOSS 概念

[編輯 | 編輯原始碼]

1:15 小時

交付方式

[編輯 | 編輯原始碼]

出於教學目的,建議培訓師/講師使用“焦點小組討論”作為交付本模組的主要方式。此外,講座、演示和練習也是本模組合適的交付方式。

儘管免費和開源軟體 (FOSS) 在生活的所有領域(包括教育、軟體工程和 IT 領域、公共行政和商業圈)中得到廣泛採用和利用,但仍然存在人們普遍認為的關於 FOSS 是什麼以及什麼構成開源軟體的誤解。在很大程度上,這些誤解阻礙了 FOSS 的採用,並使企業難以向客戶解釋他們正在“銷售”或提供的軟體和服務是高質量的,並且可以與專有軟體相媲美甚至更好。關於術語也存在混淆,當不同的個人和研究人員使用同一個詞來指代同一個概念時。因此,本模組借鑑現有的研究文獻和來自網站和部落格的敘述以及專家經驗,為潛在的 FOSS 商業企業家提供一瞥 FOSS 是什麼以及不是什麼。如果要建立一家企業並培訓個人如何建立一家基於 FOSS 的企業,那麼揭露圍繞 FOSS 的誤解至關重要。

免費/自由和開源軟體 (FOSS) 背後的總體概念是提高訪問計算機程式的質量。這包括提供減少開發人員/使用者限制的許可證,以及使軟體的原始碼(人類可讀的程式碼)可供任何想要獲取它的人訪問。二進位制檔案或可執行檔案(機器可讀程式碼)也可以透過網際網路獲得,並且可以“免費”下載和使用。

這意味著 FOSS 可以共享,可以學習,可以被任何擁有適當技能的人修改和調整。但是,這並不意味著 FOSS 沒有所有者。FOSS 受與限制專有軟體使用可能性的相同版權法保護。但是,透過 FOSS 的使用許可,授予了使用、共享、學習和修改軟體的權利。自由軟體許可證的示例是 GNU 通用公共許可證 (GPL),除了授予這些自由之外,它還要求生產的任何衍生作品保持相同的許可證,從而保持自由。

概念和術語

[編輯 | 編輯原始碼]

在文獻中,許多術語被用來描述 FOSS 現象。值得注意的是,自由軟體 (FS),這是自由軟體基金會 (FSF) 使用的術語,以及開源軟體 (OSS),這是開源計劃 (OSI) 使用的術語。

FSF 方法強調圍繞自由的哲學/倫理/政治論證。FSF 這樣說

"自由軟體是賦予使用者共享、學習和修改它的自由的軟體。我們稱之為自由軟體,因為使用者是自由的。"


這個想法在題為“將自由軟體和自由知識的理念與南非自由憲章相一致”(Jolliffe RM,2006)的文章中得到了很好的體現。OSI 方法主要基於圍繞開發速度、營銷和創新的技術優勢和商業論據。OSI 這樣說

"開源是一種軟體開發方法,它利用了分散式同行評審和流程透明性的力量。開源的承諾是更高的質量、更高的可靠性、更大的靈活性和更低的成本,以及終結掠奪性供應商鎖定。"


此外,其他常用的術語是免費和開源軟體 (FOSS),它試圖統一 FSF 和 OSI 的觀點,以及自由軟體 (LS),它試圖消除“免費”一詞的歧義。今後,術語免費/自由/開源軟體或 FOSS 和 FOSS 將在本檔案中被接受,以指代使用者在使用、修改、分發甚至以較少的義務出售軟體方面的自由,如同在專有或封閉源軟體中一樣。

有時,專有現成 (POTS) 和商用現成 (COTS) 用於描述限制使用、修改和重新分發的軟體協議,恕不經供應商事先同意。

探索“免費”的含義

[編輯 | 編輯原始碼]

“免費”不意味著我不必為該軟體付費嗎?

不。在英語中,“免費”一詞有兩個含義。

  • “免費啤酒”中的“免費”,指的是零成本。
  • “言論自由”和“自由市場”中的“免費”,指的是自由。

自由軟體中的“免費”指的是我們上面談論過的人們擁有的自由。自由軟體的定義中沒有任何內容規定您不能以價格出售給某人。事實上,有些公司的整個商業模式都圍繞著收集、編譯和出售自由軟體。但是,由於獲得自由軟體許可的人可以自由地轉售或贈送它,因此您可以輕鬆地從網際網路或其他程式碼庫(如 Sourceforge.net)下載該軟體(並且合法)。

正如“FOSS 概念手冊[1]”所表達的那樣,當您聽到“自由軟體”時,請想想自由、自由,甚至“自由企業”。

那麼,其他型別的軟體有什麼“不免費”的呢?

當今世界上許多非免費軟體並非出售的。從複雜的 作業系統到小型遊戲或螢幕保護程式,軟體的終端使用者都擁有在終端使用者許可協議 (EULA) 中規定的條件下使用它的許可證。該協議列出了使用者可以使用軟體的條件 - 通常會對軟體的使用範圍施加限制。在幾乎所有情況下,使用者明確被禁止“拆開軟體”以研究其工作原理,不能修改或改進它,只允許製作軟體的單個副本(用於備份目的),並且嚴格禁止將副本提供給其他人。

提示!從 FOSS 概念手冊獲取更多資訊 https://wikibook.tw/wiki/FOSS_Concept_Booklet

Linux 故事

[編輯 | 編輯原始碼]

重要的是要注意,FOSS 開發並非始於 1991 年 Linux 作業系統的誕生。相反,這個概念自 SHARE 成立以來就已存在,SHARE 是一個工作組,旨在協調 IBM 701 的程式設計工作。此外,大學等研發機構始終珍惜與同事自由分享知識和資源。使 Linux 聞名並使其成為可能的原因可以歸結為四個主要因素

  • GNU 通用公共許可證 (GNU GPL) 允許 Linus Torvalds 使用 GNU 系統的大部分程式碼並對其進行修改,使其在其家用電腦上執行為一個功能齊全的作業系統。GPL 意味著他的作業系統(Linux)可以免費供他人使用、複製、修改和分發。
  • Torvalds 能夠訪問網際網路,以便他能夠與對他的專案感興趣的其他人進行交流和協作(透過開源內容管理系統 (CMS) - CVS)。
  • 資源有限。Linux 作業系統旨在執行在資源或計算能力有限的計算機上。這意味著更多的人可以負擔得起執行和測試該系統。如果 Linux 作業系統需要超級計算能力,那麼可能只有少數人會參與測試和改進該系統。
  • 管理良好。Linus Torvalds以其軟體專案管理的智慧而聞名,被稱為“仁慈的獨裁者”。他開始開發 GNU Linux 作業系統,並以一種開放和協作的方式管理他的工作,鼓勵其他人免費參與這項工作。人們基於精英制加入開發,只根據貢獻質量和為所有人推進和發展 Linux 核心的承諾進行判斷。

開源軟體開發模式:教堂與集市

[編輯 | 編輯原始碼]

FOSS 徹底改變了軟體的開發、分發、營銷、維護和支援方式 (Sowe 等人,2007 年)。集市模式首次為軟體工程師提供了教堂模式或開發封閉原始碼軟體的傳統方式的替代方案。教堂與集市模式 (Raymond,1999 年) 表徵了傳統的軟體開發。根據教堂模式,軟體開發以集中化的方式進行,每個軟體開發階段 (從需求分析、設計、實現到測試和維護) 都有明確定義的角色。

在集市模式中,角色沒有明確定義,並且軟體使用者通常被視為共同開發者。在 FOSS 中,軟體通常比封閉原始碼軟體更早更頻繁地釋出。作為其有效性的證明,或者如大量“不成功”的 FOSS 專案在許多 Forge 中所顯示的那樣,其缺乏有效性 (例如 Sourceforge.net)。集市模式在作業系統領域產生了大量成功的應用程式 (GNU/Linux),有時被稱為發行版或 Distro (Ubuntu、Debian),電子郵件和網路服務 (Sendmail、Apache、SeaMonkey),資料庫 (MySQL、PostgreSQL),即時通訊 (Kopete、Pidgin),桌面環境 (GNOME、KDE),文字處理 (KOffice、OpenOffice 套件) 等。開發 FOSS 的集市模式促進了軟體知識的建立、傳播和轉化,其速度在軟體開發史上是前所未有的。

FOSS 開發過程的特徵

[編輯 | 編輯原始碼]

當開發人員修改開源軟體時,她可以選擇將所做的更改保密,也可以將它們返回給 FOSS 社群,以便每個人都能從她的衍生工作中受益。從商業角度來看,當一家公司釋出其可以作為參考經驗和間接無償營銷的公司、企業或個人的修改時。當您釋出修改時,它們可能會包含在將來的版本中,這會降低維護和創新的成本。軟體原始碼獲取、修改、分發和重新獲取的迴圈性質是 FOSS 開發過程的一個重要方面。下圖顯示了典型的 FOSS 開發 (編碼) 活動以及迴圈中可能的退出方式。

有權訪問專案原始碼庫的開發人員從專案庫中檢出程式碼,開始軟體開發活動。有些人只獲取原始碼,不再參與專案活動 (退出 1)。許多其他人透過修改程式碼、修復錯誤和新增新功能來繼續開發過程。對專案開發或專案管理和協調方式不滿意的開發人員可能會退出迴圈,並帶有修改後的程式碼,開始他們自己的“變異”版本,即所謂的“分叉” (退出 2)。分叉是一個基於現有專案原始碼版本構建的競爭專案。由於可以輕鬆訪問原始碼,因此每個 FOSS 專案都可能分叉。雖然聽起來很憤世嫉俗,但分叉在 FOSS 中是健康的,因為它可以促進競爭,甚至可能產生比前身更優秀的軟體。專家軟體開發人員和新手使用者理解程式碼、軟體開發過程和社群的前景現在非常光明。

辯論:FOSS 與封閉原始碼軟體

[編輯 | 編輯原始碼]

下表總結了 FOSS 的一些特徵,提供了封閉原始碼軟體與 F/OSS 的商業視角。


封閉原始碼軟體
FOSS
購買,不要構建或編碼 訪問程式碼,“免費”下載和重用
供應商鎖定 自由修改、定製程式碼 (如果您能夠) 或與其他人簽訂合同
缺乏某些客戶的定製功能 每個人都可以根據自己的需求定製軟體
以有限的語言部署 可以本地化為多種語言
動機:外在的,經濟利益 外在和內在
生成和保留知識以獲得競爭優勢 生成和共享知識以造福大眾
向許可證持有者提供支援,並按照先到先得的原則提供支援。網站上還提供第三方支援、驅動程式下載和軟體更新。 可以透過專案論壇、郵件列表等從任何人獲得支援。還可以從商業供應商、分銷商或諮詢公司購買。
由於版權限制,難以與其他軟體相容。 易於與其他由社群維護的 FOSS (universe) 和受法律問題限制的軟體 (multiverse) 相容。

關於 FOSS 的一些神話

[編輯 | 編輯原始碼]

隨著 FOSS 變得更加主流,超越技術和地理障礙,圍繞 FOSS 概念和方法論的神話也隨之產生。對於許多人來說,地理分佈的個人如何協作和友好地生產或建立以軟體形式提供的商品和服務,其效能可與他們習慣使用的商業現成 (COTS) 專有軟體相媲美甚至超越,這是難以理解的。更深植於 FOSS 神話的是,如何才能從免費的東西中賺錢或產生收入。有關 FOSS 中十個常見神話的更多資訊,請參閱 O'reilly (1999 年)。下表總結了關於 FOSS 的一些神話和事實。


神話 事實
這是 Linux 與 Windows 之事 超過 400,000 個 FOSS 專案 (18,000 個成熟專案),涵蓋所有 IT 領域
FOSS 不可靠或不受支援 主要的 FOSS 解決方案比專有解決方案更可靠;FOSS 提供專業支援
大公司不使用 FOSS 大約 90% 的財富 1000 強公司部署 FOSS;IBM、Sun、HP、Oracle... 推廣 FOSS
FOSS 對“智慧財產權”不友好 FOSS 許可證基於版權法
FOSS 無法賺錢 HP:2003 年 25 億美元;RedHat:2006 年 4 億美元
FOSS 運動不公平且不可持續,因為程式設計師沒有為他們的努力獲得報酬 > 50% 的 FOSS 開發人員獲得報酬,其他人是志願者,出於個人動機而做出貢獻
如果我啟動一個 FOSS 專案,會有很多開發人員免費為我工作 社群發展需要大量投資
FOSS 是程式設計師的事情,使用者和決策者不必擔心 FOSS 引領著一種所有人都應該瞭解的新創新模式
FOSS 一直在追趕商業世界,所有創新都來自商業世界 創新專案的比例 (12%) 在 FOSS 和專有軟體中大致相同

FOSS 軟體示例

[編輯 | 編輯原始碼]

下表提供了一些常見的 FOSS 軟體示例

a) 執行在 Microsoft Windows、Gnu/Linux 以及某些情況下執行在 Apple Max、Unix 和 BSD 作業系統上的 FOSS 軟體列表

  • 基於生產力的應用程式

b) 基於 Web 的 FOSS 軟體列表


類別 應用程式名稱 網站
部落格 WordPress http://wordpress.org/
CMS (內容管理系統) Joomla http://www.joomla.org/
購物車 Magento http://www.magentocommerce.com/
論壇 phpBB http://www.phpbb.com/
簡訊閘道器 Kannel http://www.kannel.org/overview.shtml
圖片庫 Gallery http://gallery.menalto.com/
客戶關係管理 (CRM) Vtiger http://www.vtiger.com/
工作流程 CuteFlow http://www.cuteflow.org/
網路監控 NAGIOS http://www.nagios.org/
網路附加儲存 (NAS) FREENAS http://www.freenas.org/
人力資源管理 Orange HRM http://www.orangehrm.com/
呼叫中心 SIT http://sitracker.org/
伺服器管理 Webmin http://webmin.com

模組 1.1:評估

[編輯 | 編輯原始碼]
  • 討論 1:討論並列出盡可能多的詞語或短語,以最佳地描述您當地語言中的 FOSS 概念。
  • 討論 2:討論並列出貴企業組織使用 FOSS 所面臨的障礙。
  • 討論 3:討論開源軟體開發中“分叉”的概念。
  • 您認為分叉是一種健康的做法嗎?
  • 請一位參與者自願講述一個關於一個開源專案或社群的演變和結構組織的故事(例如,FreeBSD、MySQL、Apache、Ubuntu)。
  • 辯論:組成 2 個小組,圍繞主題“FOSS 與閉源軟體”進行辯論,重點強調其商業影響。
  • 頭腦風暴:將參與者分成 3-5 人的小組。每個小組都應該說服其他小組 FOSS 如何使他們受益,以及為什麼他們應該或不應該在他們的業務中使用 FOSS。
  • 講故事:請一位參與者自願講述一個關於一個開源專案或社群的演變和結構組織的故事(例如,FreeBSD、MySQL、Apache、Ubuntu)。
  • 作業 1:撰寫一份 150-350 字的摘要報告,詳細說明一個開源專案的歷史。具體指出該專案的成功之處,以及可能失敗的領域。
  • 作業 2:列出您國家/地區中使用 FOSS 的 3 個組織和 5 家公司的名稱。
  • 作業 3:列出 5 個商用現成 (COTS) 軟體及其近似的 FOSS 等效軟體。
  • 作業 4:撰寫一份 150-350 字的摘要報告,詳細說明一個開源專案的歷史。具體指出該專案的成功之處,以及可能失敗的領域。
  • 學生自我評估:說明以下陳述是真還是假。
  1. FOSS 不花任何錢 (真/假)
  2. OSI 代表安大略豬肉改良 (真/假)
  3. 自由軟體和 Linux 是同一個東西 (真/假)
  4. FOSS 應用程式可以在 Windows 上使用 (真/假)
  5. FOSS 可以幫助減少供應商鎖定 (真/假)
  1. https://wikibook.tw/wiki/FOSS_Concept_Booklet

上一章 | 下一章

華夏公益教科書