1.1 研究動機
有鑒於目前開放原始碼軟體日漸普及,但仍欠缺完整理論說明開放程式碼與 商業程式碼之間品質的差異。若以制度化的機制來檢驗開放程式碼專案,將有助 於衡量開放原始碼專案的品質,亦可由各種不同相度去評斷一個專案的優缺點。
也希望藉此統計專案發展者的貢獻度,以及開放程式碼專案之間互相引用的情 形,以正比例回報所付出的貢獻度。我們將提出評估方法,以評斷專案的各項指 標對於開放程式碼軟體持續度(sustainability)的影響,以及貢獻度的分析,以利找 出開放程式碼專案的成功因素。
1.2 背景
”The Cathedral and the Bazaar”由 Eric Raymond 所提出,是開放程式碼研究 中相當重要的理論,他提出兩種極端的現象。一種是像蓋教堂(Cathedral)的形式,
由有經驗的工匠以集中的方式蓋好一座精緻的教堂,這種狀況下發展的軟體比較 封閉;只靠一些人,集中在一起全力工作,工作過程中整個團隊的人只與團隊中 的成員溝通討論,而不會採用團體之外的意見。另一種則是像市集的模式一般,
每個人可以任意挑選自己想要的物品,每個攤販賣的物品都有不同的風格和價 值,挑選東西之外,也可以自己發展有自己特色的商品,或者給予其他人一些建 議以激盪出更棒的商品。簡單來說,一個是以集中管理來發展軟體,一個是以各 取所需的方式發展軟體。自從Eric Raymond提出”The Cathedral and the Bazaar”的 理論後,後續互有差異的理論接連發表,也使用開放程式碼的觀念日漸普及。
提到開放程式碼軟體,多數人都會聯想到Linux,以及以它為基礎再發展的 軟體。這是因為Linux的出現之後,有人開始貢獻開放程式碼,並將程式碼置於
開放的網路空間上,其他人可以取用這些程式碼再做修改,影響開放程式碼社群 的發展。OSDN(Open Source Developer Network)推出Sourceforge後,大家更能享受 開放程式碼所帶來的便利,也可開發自己構想的開放程式碼軟體。SourceForge為 一開放的網站,除了提供使用者下載專案的原始碼、安裝程式之外,也提供專案 管理者以及發展者許多管理功能,例如Bug track、Patch等的forum以及CVS系統,
讓發展者在開發軟體更加便利。我們的統計資料有極大部分都來取自這個網站。
下圖Figure 1表示開放程式碼中專案開發分布的狀況。
Figure1.Open Source Software 專案分布示意圖
在已發表文獻中[7,11,12,14,16],對於開放程式碼與商業軟體品質優劣有甚多 爭論,這裡將藉由參考論文提出的方法,加以融合改進分析。
1.3 研究目標
持續度分析(Sustainability):開放程式碼社群中的成員流動頻繁,但不一定都 會保持一定數量的人維持專案的成長與服務(support) 。在此我們提出持續度 (Sustainability)的概念,持續度代表一個專案成長到一個階段後,期之後的表現均 可維持在一定水準。最簡單的評比方式,是藉由比對當月最有潛力專案,其活躍 值曲線的起伏,來檢視該專案是否有這樣的特性。
雛型(Prototype) :若開放程式碼專案在註冊之初若有雛型模組(prototype)或有 已一個開發團隊在運作,則可能加速這個專案的成長。亦即專案在 Sourceforge 註冊時就已有一個小的 prototype,藉此可以在短時間內就吸引夠多的使用者族群 來使用,回報錯誤以及提供更多建議,幫助專案的成長,若符合這樣條件的專案,
其活躍值可能會較其他一開始沒有雛型的專案略高。
生命力(vitality)以及歡迎程度(popularity) :Sourceforge 中只用活躍度(activity) 來代表了一個專案的活動力,但在 freshmeat.net 中則細分為生命力(vitality)以及歡 迎程度(popularity)。其中的生命力代表的是專案內部的活動情形,而歡迎程度近 似於專案實際被外界使用的程度,這裡嘗試探討極端的例子,若單就 SF.net 提供 的資訊來看,以目前有名 P2P 軟體的 Emule 為例,就是屬於受歡迎(popular)但生 命力(vitality)不高的例子。
核心與週邊關係(core-periphery):我們嘗試探討開放程式碼發展過程,觀察 核心與週邊之間的互動關係,例如核心設計者審核週邊使用者的臭重回報以及所 進行的修正等,分析兩方的貢獻度,包括統計核心設計者專注於演算法的貢獻比 例,與週邊使用者在於推廣專案的狀況。