自由軟體協同開發網站的背景和比較

近年自由軟體漸受各界青睞,就是其背後的開發流程及開發時使用的協同工具也越受重視。甚至連開發封閉原碼的商業機構,也採用自由軟體的開發流程和協同工具 而改善開發效率。效率提高的主因,就是自由軟體的協同工具能加強各部門的彼此之間的溝通和合作 [1]。本文會先介紹自由軟體協同工具歷史背景、兩類不同供應自由軟體協同開發的網站和作出簡單的比較。 如果我們追溯一下,故事可由美國MIT的人工智能實驗室說起。這實驗室其實對自由軟體運動有深遠的影響,自由軟體基金會的創會人兼主席 Richard Stallman 也曾在此實驗室工作,而自由軟體基金會亦秉承了人工智能實驗室原有的自由、分享等黑客文化原素。早在六十年代末,在此實驗室開發的 Incompatible Time-sharing System (ITS),已把協同的因素在考慮在設計當中,令用戶可以用各種方法來溝通和合作。在系統中雖有的不同用戶賬號,不過一律沒有密碼沒有權限,在系統中的一 切檔案也可更改。而螢幕的設計也加入了可看見他人的螢幕顯示的功能,令協合作編程時更加方便 [2]。大家可能會問為何這個毫不設防的系統不會出亂子,原因就是因為所有用戶也在 實驗室裡面,彼此都認識,在系統內做了什麼愚蠢的修改就會被奚落,所以可有效地協合編程。而 ITS 亦因為其開放的設計,成為黑客文化中代表性的作業系統。

ITS 在九十年代初停用,而網際網路的興起,新的協同工具亦應運而生。早期的工具多數是常用的網路溝通工具如電子郵件,新聞群組和FTP 伺服器等。Linux 的開發在使用 BitKeeper 之前,仍十分依賴通信論壇和FTP伺服器 [3]。後來一些特別為編程協同而寫的工具也出現了,如在八十年代末,一套叫 CVS 版本控制系統也出現了,成為在自由軟體界最常用的版本控制系統。一些待辦事項追蹤系統如 GNATS、Jitterbug 和更後期的 BugZilla 也出現了,令開發計劃管理上更有系統。

有了以上的工具,開發自由軟體變得更為方便,不過提供這些工具的伺服器多數分散在網際網路,除非自架伺服器,否則就要周圍搜尋資源。 SourceForge 是其中一個把這些資源集中的自由軟體協同開發的網站。SourceForge 的始創人 Tim Perdue 憶述他當初跟幾個在 VA Linux 的工程師一起開發此計劃時,此計劃原是一個為資訊科技經理而設的管理系統,能讓他們可以透過網路遙距管理多個軟體開發計劃。這個計劃本非 VA Linux 這間硬體為本的公司的核心業務,不過因為多人認識 SourceForge 的大名,公司要求 Tim Perdue 等先開發軟體計劃存放系統,以作宣傳,於是就成為了今日 SourceForge 的基本架構 [4]。

好境不常,VA Linux 的硬體業務越來越差,就想出買 SourceForge 以圖利的辦法 [5]。執行這計劃時包括要不再開放 SourceForge 的原碼。Tim Perdue 亦因此事離開了 VA Linux。也有不同的團體和人士批評 SourceForge 的做法及其他管理的問題 [6-8]。SourceForge 亦出現了不同的分叉 (fork) 計劃,其中包括 BerliOS、Savannah和 GForge 等。儘管 SourceForge 有以上的歷史和問題,它仍是最有名和最多人使用的自由軟體協同開發的網站。

SourceForge 提供的功能除了包括上述的通信論壇、CVS 版本控制系統和待辦事項追蹤系統外,還有網上討論區、檔案釋出系統、新聞發報和文件總管等功能。除了以上的功能,SourceForge 也提供不同的渠道,好讓參與不同的計劃的開發人員可以彼此參詳,例如把相同性質的計劃編入同一個鑄造場 (e.g Perl Foundry)。另一個增加溝通 的方法是把計劃的活躍程度數據作比較,增加良性競爭。在保安方面,每個用戶當然各有密碼,SourceForge 更使用 SSL 和 SSH 等加密通訊協定。SourceForge 提供了一個統一、有系統和方便管理的架構來存放自由軟體計劃。除了上述的分叉 (fork) 計劃 BerliOS、Savannah 和 GForge 外,還有 Asynchrony、GBorg 和 Novell Forge 等網站也使用類似的架構。

使用類似 SourceForge 架構的站似乎是主流,不過也有其他網站如icculus.org、SEUL 和 SunSITE.dk 等,提供另類的自由軟體協同開發的網站。他們提供的既定工具比 SourceForge 少,卻鼓勵用戶自己設計自由軟體計劃主頁的樣式和安裝工具。其實加上自行安裝工具,這些站可提供的功能不會比 SourceForge 差得遠,而且用戶可以有更大的自由去自行設定工具的選項。因為沒有既定架構,網站也可以照顧用戶的特別需要,作出特別的設定。令用戶能得到更個人化的服 務。其實這些站對個人需要的重視可在 icculus.org 的首頁看到。在首頁的右下方,有一個捐贈的名單,捐贈的項目錢和硬體等。據筆者的了解,捐贈的受益人其實不是網站的總管,而是站上用戶互相捐贈以提高士 氣,而這站就成為了他們媒人。

這些另類的站可以提供更個人化的服務,不過在站上的用戶人數和存放自由軟體計劃的數目比 SourceForge 少得多,可能因為數目增加就必須要使用系統化的管理。數目增多,人氣也會上升,不過個人化的可能性也減少。

自由軟體運動和網際網路發展至今,在網上架一個完全開放,像 ITS 般的系統,必會被人破壞。不過其開放的設計,仍有值得令人深思之處。開放和系統化是對立,但是在哪個情況,其中一方會比一另方優勝?這個問題仍有待探討。 (有關自由軟體協同開發網站的詳細比較,可參考 https://www.ibiblio.org/fosphost/exhost.htm 有關自由軟體協同開發網站需具備的質素,可參考 ttp://www.openfoundry.org/archives/000093.html)

作者介紹:蘇孝恆 (Haggen So) 先生是墨爾本皇家理工大學 (Royal Melbourne Institute of Technology) 博士生,專研領域為自由軟體。曾任香港大學及香港城市大學擔任研究員,Grace Computer (Hong Kong) Ltd. 營運經理 (Operation Manager) 及系統分析員 (System Analyst)。曾來台參加 ICOS2002 開放源碼國際研討會,並 發表論文,亦在自由軟體、資訊科技教育和生物醫學工程等範疇發表國際論文。

相關網址/文章:
[1] Derome, J & Huang, K 2003, Creating and Delivering Value with Collaborative Software Development Tools, viewed 28 Oct 2003,
https://www.collab.net/downloads/index.xhtml?docid=34
[2] Levy, S 1984, Hackers: Heroes of The Computer Revolution, Anchor Press/Doubleday, Garden City, New York.
[3] Asklund, U & Bendix, L 2002, 'A Study of Configuration Management in Open Source Software Projects',
IEE Proceedings - Software, vol. 149, no. 1, pp. 40-6.
[4] OSDir.com 2002, Interview with OSDir: Interview with Tim Perdue. GForge and behind the scenes at SourceForge,
viewed 22 Jul 2003,
https://osdir.com/modules.php?op=modload&name=News&file=article&sid=102
[5] Wire, B 2000, VA Linux Launches 'SourceForge OnSite' Enterprise Solution, viewed 6 Feb 2001,
https://www.businesswire.com/cgi-bin/f_headline.cgi?bw.120500/203400154&ticker=LNUX
[6] Advogato 2001, Leaving SourceForge, viewed 23 Apr 2002,
https://www.advogato.org/article/357.html
[7] Dachary, L 2001, SourceForge drifting, viewed 21 Nov 2001, https://www.fsfeurope.org/news/article2001-10-20-01.en.html
[8] Kuykendall, D 2001, phpGroupWare is leaving SourceForge, viewed 8 Feb 2002,
https://mail.gnu.org/pipermail/phpgroupware-developers/2001-November/000002.html



自由軟體鑄造場電子報 : 第 6 期 自由軟體協同開發

分類: 自由專欄