第二章 文獻探討
2.5 O PEN S OURCE
2.5.1 Open Source 的定義
在近年發展迅速的電腦世界中,發生了許多對網際網路的發展有重大影響的事件,這 些事件都很特殊且令人津津樂道,其中較為人所熟悉的幾件事如:
1. 世界上最重要的計算機標準組織(IETF,網際網路標準制定委員會)於 1989 年 成立,IETF 是一個開放性的國際社團,由參加它通信論壇 (mailing list) 的人們 所共同組成,任何人只要願意付合理費用,即可成為 IETF 的一員,他們一年會 舉行三次的會議,協調網際網路的作業、管理和演進,並且解決中小型範圍的通 訊協定和架構問題,任何人在會議中都具有發言權,藉由會議討論去瞭解意見一 致的程度,但是決議需獲得大多數與會人士的同意,但也不需要全部人士都同意 方可。
2. 1991 年一位芬蘭的大學生(Linus Torvalds)寫了一個作業系統的核心,並且將此 核心系統公開發表,在很短的時間內,Linux 作業系統的使用者不斷地增加,目 前已超過七百萬人以上,且使用者數量仍不斷地在成長。Linux 作業系統更成為 目前成長最快的伺服器作業系統之一,IBM、Sun 的伺服器都己宣佈支授 Linux 作業系統。
4. 1994 年夏天在學校宿舍裡的兩位大學生(Yahoo 的楊致遠和 David Filo)透過使 用可自由取得的軟體建立一個大學生的網站資料手冊,並成功地建立了一個新的 商務模式(Business Model),也建立了一家價值數百萬美元以上的公司。
這些以往我們未曾想到卻正在網際網路中發展的事都十分地重要,因為他們都大 大改變了人們使用網際網路的習慣並促成網際網路的發展。如果在數年前,你問一些大公 司的資訊部門主管們對於所謂自由軟體 (free software) 的看法時,他們很可能會告訴你,
他們沒有使用所謂自由軟體這類的軟體,原因是因為這些所謂的自由軟體沒有特定的人或 Raymond "奠基" 論文內容中指出,Linux 作業系統在技術上和市場上成功的關鍵是因為其 以自由及可散佈的原始碼為基礎的發展方法。因此 Raymond 認為並宣揚開放原始碼軟體 不是非獨佔性軟體,所以傾向於免費的觀念,但自由軟體創始人 Richard Stallman 認為,”free software”中的 free 如同"free speech" (言論自由)中的 free 一般,是自由的意思,而非是"free beer" (免費啤酒)中的免費意思。在會議之後不久,Corel、Informix 和 Oracle 等公司便相 繼宣告他們已經或願意在不久的將來要把他們的產品移植到 Linux 的作業平台上,此舉無 疑大大提昇了開放原始碼軟體的聲勢,因為 Linux 作業系統正是開放原始碼軟體中為人所 熟知的軟體之一。1998 年七月的時候, IBM 公司此國際大廠更宣告加入 Apache 小組,
讓 Apache 的 Web 伺服器成為 IBM WebSphere 這項產品的核心,不僅如此,IBM 公司更 投入一個由程式工程師所組成的小組,協助將 Apache 與 NT 的作業平台整合。1998 年 九月的時候,Intel、Netscape 和投資公司 Greylock 和 Benchmark Partners 更投資 Linux 的 發行商 Red Hat 軟體公司,此時,人們才開始意識到,早已有許多開放原始碼軟體已默默 構成網際網路的使用基礎,如網域名稱服務 (DNS) 中使用的 BIND (the Berkeley Internet
Name Daemon)、傳送 e-mail 所使用的 sendmail 及 Perl、Tcl 和 Python 這些程式語言更 已被 Yahoo!和 Amazon.com 這些知名網站大量採用來發展維護其網站,除此之外,這些 程式語言更被納入許多作業系統中,成為其作業系統的一部份,如 Sun 及 Red Hat Linux 作業系統等。
忽然之間,開放原始碼成了電腦領域中一個被廣泛討論的話題,但開放原始碼到底是 什麼呢?又如何能從開放原始碼中找到能獲利的商機呢?
根據 Open Source Initiative (OSI)對開放原始碼軟體的定義,開放原始碼軟體基本上必須符 合:
個計劃的名義來散佈時,則全部擁有這個授權書的人都擁有與原始散播者相同的權
中也培育了能維護這個軟體的社群。
開放原始碼運動中最常被提出的範例之一就是網際網路標準制定委員會(Internet Engineering Task Force 簡寫成 IETF)的運作方式,IETF 所定出的標準規格,促成了網際網 路的誕生,而 IETF 制定這些網際網路標準的過程中,多是藉由通信論譠(mailing list)的彼 此討論,每個工作群組真正面對面的開會討論,只有在每年只舉行三次的會議中才有機會,
任何對制定網際網路規格有興趣的人都可以參加 IETF 的通信論譠及討論會,而且每個人 都有發言權,但是如果你沒有充分準備或團體的支持,那麼你的聲音將會很容易被忽略或 被其他聲音壓過。長期參與 IETF 的哈佛大學人士 Scott Bradner 便指出:"IETF 中沒有所謂 的投票過程,只有彼此試著去瞭解意見一致的程度,每個參與的人可以透過舉手、低哼示 意或其他主席可以認可的方式來表達想法,但是最終決議的結果需獲得大多數人的同意,
方算成立。若最終結果為 51 比 49,便不算有了最終結果,而要再次討論,但最終結果也 不需要全部的人都同意才算數,但必需是 80 比 20 或 90 比 10 這種絕對多數的結果,才算 有了最終結果。"所以大致上來說,IETF 的運作模式就如 Dave Clark 所描述的"沒有王者也 沒有尊者,只有大略的意見一致和可執行的程式。"
當然,除此之外,就像其他許多成功的開放原始碼專案一樣,IETF 有一個基本的未來 想法,這些未來的想法大部份都會在網際網路結構公佈欄(Internet Architecture Board,簡稱 IAB)中有詳細的描述。而 IETF 是一個由下而上的網際網路標準制定團體,在每個 IETF 的 工作團隊裡,都有一名分組總監來帶領各團員,這些分組總監稱之為 Area Directors(簡稱 AD),他們並非由任何中央機關、政府或團體所指派,這些 AD 是在尋找最佳解決方案的 過程中受同儕推派而產生的,專門負責技術審核與管理,而這些 AD 都屬於 Internet Engineer Steering Board (簡稱 IESG)或 IAB 的會員。IAB 是一個負責監督審核 TCP/IP 以及公佈各類 標準的機構,而 IESG 與 IAB 這兩個機構都是經由 ISOC 認可的機構,IESG 通常都會由一 出一個結構模型(architectural model),並將之整合到 OSS 的專案計畫中。而且 OSS 的許多 專案計畫中,因為有眾多實用的工具程式和簡潔的協定組合,所以能在伺服器的應用上,
佔有一席之地,這種情形大大地威脅了微軟的軟體王國,所以微軟想藉由擴充 OSS 所使用 的協定或發展新的協定來阻擋 OSS 專案計畫進入市場的入口。
在中古世紀的時候,由於缺乏健全的資訊傳播管道與方法,所有文件都僅能依靠手寫
這種昂貴的代價才能複製,所以當時的文件必需具有即時的價值才會以手寫的方式進行複 才能散佈,只需透過 FTP、Web 的伺服器或是目前所流行的 P2P(Peer to Peer)軟體,便 可以成為一個方便且便宜的軟體散佈平台。
2.5.2 開放原始碼授權書之簡介
開放原始碼的授權書在最佳的情況下,能夠培養軟體發展者和軟體使用者間共享、同 榮的合作關係。然而,開放原始碼的授權書有非常多種,在 2005 年四月為止,自由軟體基 金會(Free Software Foundation,簡稱 FSF)所公佈的授權書已有六十種以上之多,而這些 授權書目前也有許多已經建立起成功的模式,如 BSD 式的授權書、GNU 通用公眾授權書
(GPL)或 LGPL、Mozilla 公眾授權書、Apple Public Source License (APSL)與 Q Public License (QPL)等,茲將三個最主要的授權書介紹如下:
BSD 式的授權書 (BSD-style License)
BSD 式的授權書這個名稱源自於 Berkeley Software Distribution UNIX,其為最早期發 展出來的開放源始碼授權書,規範也最為寬鬆,BSD 式的授權書是由加州大學柏克萊分校 時應載明的事項及特定組織名稱是否具背書(Endorsement)效力等項目進行規範。除 BSD UNIX 本身採取 BSD 形式授權之外,亦有許多軟體的授權條款採取 BSD 形式的授權方式,
例如常見的 X-11、Apache software license、Python Copyright 等都是。BSD 式的授權書可 以授權給衍生的私有軟體(Proprietary software),就如同傳統的商業軟體一般不提供原始程 式碼,至於衍生的私有軟體中的改變是否要回饋給原來的公用版本,廠商可以自行決定,
並無嚴格規範。
然而在開放原始碼的社群中,有部份人士對於 third parties(非主流廠商)的產品利用公 用的軟體來獲取私人利益,卻對原來的公用版本沒有任何回饋貢獻的現象感到憤恨不平,
此種現象在經濟學中稱為 "搭便車"問題。僅管授權書中的條款沒有任何的規定要求,但這 種授權方式仍引來許多志願者彼此合作去發展公用軟體,許多網際網路上的重要軟體都是 因此而產生,且都採用 BSD 式的授權方式,如 BIND、Apache 和 sendmail 等都是耳熟能 詳採 BSD 式授權方式的軟體。
GNU 通用公眾授權書 (GNU General Public License -- GPL)
GNU 的通用公眾授權書為源於 1983 年美國自由軟體基金會(Free Software Foundation) 的 GNU 計畫,由 Richard Stallman 所草擬。當時,原本的目的是為了規範在自由的基礎下,
"卻允許無限制的複製、修改。然而,"反版權"的使用者仍必須負擔一些責任,且散佈衍生 的原始碼時,必須是免費且只能採用"反版權" 式的授權方式。
GNU 專案的重點是"free software”,其中 free 這個字在英文中有免費及自由二種意義,
在這裡的定義為自由而不是免費。你可以出售自由軟體,但同時必須附上或確定能讓使用 庫的意義相背離了,基於此種需求,FSF 提出了 LGPL(GNU Lesser General Public License)
這種新的授權方式。LGPL 仍是基於 GPL 的精神所發展出來授權方式,所以可以與 GPL 相容,也可以使得開放原始碼軟體有機會與 GPL 或非 GPL 授權的軟體結合。
GPL 的授權方式因為嚴格規範需將原始碼開放,所以擅長於防止獨家的壟斷行為,在 UNIX 市場發展過程中,扮演著相當重要的角色,在 2002 年四月份的 Freshmeat.net 報告中
GPL 的授權方式因為嚴格規範需將原始碼開放,所以擅長於防止獨家的壟斷行為,在 UNIX 市場發展過程中,扮演著相當重要的角色,在 2002 年四月份的 Freshmeat.net 報告中