自由軟體開發

自由軟體開發

自由軟體開發

每個圖書館都有自己的目標、任務與讀者群,因而有自己的政策、核心館藏與服務模式以滿足讀者資訊需求。在變動快速資訊化的時代,數位資料透過網路傳送到任何人的數位設備中,且持續不斷的在改變以往種種資訊尋求模式,圖書館面對這樣的變化往往措手不及。以往圖書館面臨到新的需求總是只能透過商業模式,購買軟體解決現有問題,甚至買了軟體還不能解決問題的窘境,這是因為商業軟體預想的需求與實際差異甚大所導致。尤其新時代的資訊進展不斷衝擊各種傳統的資訊尋求行為,廠商對於圖書館的需求不甚負荷,往往採取拖延、不理或是索取高昂費用進行軟體客制,對圖書館負擔甚大。

自由軟體的靈活、可自由複製、分享的價值,將有效解決資訊管理成本及商業軟體高成本負擔的問題。面對需求快速變化的時代,解決問題的視野應該更遠,採取自由軟體方案的長遠效益絕對勝過商業軟體模式。在此提供導入自由軟體模式之建議:

  • 先搜尋既有自由軟體且符合自身需求之專案
  • 次找需求接近之自由軟體方案
  • 自行開發

第一必須要先搜尋既有自由軟體且符合自身需求之專案,可以到前文所提得 oss4lib 圖書館自由軟體入口網站,該網站自 1999 年開始收錄許多與圖書館有關的專案。另外在 Sourceforge 也可以找到數個分類專門蒐集圖書館相關的專案,筆者在 Education 的 Library 中有找到 將近 600 個專案且持續增加中。網路上有更多蒐錄自由軟體專的的網站例如Google Code、Freshmeat、Hot Scripts等,都可以找到不少資源。

第二是找需求接近之自由軟體方案,利用自由軟體的四大自由,將該專案原始碼修改成符合自身需求的方式,重新釋出新的分支版本。這樣的好處是站在巨人的肩膀上,不用寫重複的原始碼,省時省力。分享與釋出新分支版本的好處是形成社群共同開發與維護,獲得社群的貢獻以增加新的功能與錯誤修正。

最後是自行開發,為什麼圖書館需要自行開發自由軟體呢?主要就是讓館員有機會可以透過自由軟體的優勢,主動決定或是設計更符合自己圖書館功能的軟體;而不是由廠商所主導,館員只能被動的要求廠商。下圖為自行開發自由軟體之模式

{{http://www.my-net.idv.tw/%7Ethomas/wp/wp-content/uploads/2007/06/develop-model.png

這個圖很清楚的表示出自由軟體通常是由使用者和開發者社群中針對特定的主題有共同的興趣,由使用者提出各種需求與回饋,讓開發者了解並進行開發。

與商業軟體相比的話,自由軟體有以下優勢:

  • 有能力開發的使用者可以自行開發
  • 修改後的版本可獨立發佈
  • 使用者的需求更容易被接受
  • 更快速的新功能與錯誤修正
  • 符合使用者需求與期待

以下介紹自行開發之案例,Michael Doran 是位優秀的系統館員,在 University of Texas at Arlington 服務。他在網頁裏面秀了兩套自由軟體,一是 The New Books List 另一套是 ShelfLister ,網站提供展示與試用,在 2005 年的時候些了一份簡報並參加多場會議,說明整個開發的情形。

圖書館館員大多忙得不可開交,圖書館業務繁重之際,Doran 身為系統館員,應該也是有相當多的業務,卻仍能夠開發自由軟體,根據其簡報整理如下:

自由軟體的典型開發過程:

  • 圖書館面臨新的需求
  • 館員撰寫軟體
  • 可以適用於其他圖書館或是樂於被他人所使用
  • 以GPL方式授權,公佈原始碼於網站上

其中第三、四點就是自由軟體的特色,自由軟體允許使用者使用、修改、複製、散佈,這樣的好處應該是軟體的開發是集大眾之智慧而形成。過程中館員不需要一個人做到十全十美,只要把所作的貢獻出來,不論是否有缺陷,到最後會有更多人參與使專案更加完善,Linux 與維基百科就是證據。

其中提到了自由軟體成功的要素有:

  • 符合需求
  • 容易使用
  • 快速安裝與修改
  • 豐富的文件說明
  • 市場行銷
  • 技術支援
  • 更多功能與升級更新

自由軟體是可被大眾使用與修改的,容易使用與修改的要素就是文件。理想的狀態,軟體好用就不太需要使用手冊與文件,軟體的開發設計的夠彈性也不太需要技術文件就可以上手;但是一般自由軟體多會根據自己的需求而修改程式碼,文件就會非常重要!如何讓自由軟體成功有貢獻,其中模組化是重要的關鍵,寫程式不是從頭寫到尾,而是像專案管理一樣有組織有進度持續完成的,容易做修正而不影響到前後流程,這真的是非常重要且有幫助。開發自由軟體不只是寫程式和文件,還有許多事情像是回答使用者問題、製作 FAQ、行銷、投稿等。雖然談起自行開發自由軟體,大家總是怯步,但是談起其精神與優勢是商業軟體無法與之相比的,開發過程中的回答使用者問題、製作 FAQ本來就是館員的基本技能,行銷、投稿等也是館員能力所及,唯程式開發建構力有未逮,但是在台灣找具有撰寫軟體能力的人並不難,因此圖書館是有能力與資源自行開發的。

convert from Thomas blog post id 130 old convert log: ./094645/tag%3E2007%2007%20librarian%20idea%20linux)

@2007 @07 @librarian @idea @linux

Comments