你來抓蟲,我們付錢

非營利公司所維護的自由軟體專案通常都有個問題:沒有足夠的人力與時間修復每隻臭蟲。

這是起因於這類自由軟體專案多半是設計師業餘投入,以正職養活自己,讓自己閒暇時間可以投入;另一類則是以專案為主業,試圖靠贊助、付費功能養活自己。不過礙於自由軟體可自由取得的特性,投入者幾乎無法得到金錢上的回饋,所以後者的數量很少。

麻煩的事情就是,既然多數投入者都不能全心專注在這個專案上,那使用者又該如何期待軟體的品質變好、發現的臭蟲都能盡速解決呢?

這就是自由軟體專案的「投入時間」惡性循環:閒暇開發 + 自由散布 => 程式臭蟲無法迅速處理 + 沒有從專案獲得收入 => 使用者失去興趣 + 無意捐款 => 找正職養活自己 + 副業自由軟體開發。

然而,專案受到歡迎也會另開發者頭痛,因為回報的臭蟲量會大量增加,如果開發者不多時,將對專案帶來管理上的災難。究竟是要先停下腳步,分類好臭蟲逐步處理到某個程度後再繼續開發新功能呢?還是一邊開發新功能,一邊處理臭蟲呢?這成了該專案是否能繼續下去的關鍵時刻。除非有更多新血人力協助處理,否則專案受歡迎的同時,原本開發團隊的步調、規劃、目標,會被突然湧入的回饋打昏。可是人力要怎麼吸引過來?這又回到了今天的重點:投入時間的惡性循環。

圍繞在這循環中的關鍵,就在於是否能解決投入者生活上的金錢問題,一旦生活無虞,就能全心投入,臭蟲也就逐漸少了,功能也越加豐富了。


自由軟體與專有軟體相比,其實對於資金的需求相去不遠,就是所得資金要滿足開發軟體的成本;差異只在於資金的投入方式而已。自由軟體的資金投入方式有:開發者自行投入 (以正職來養自己作副業)、募款 (使用者、公司行號、基金會給予捐助)、組織機構參與 (公司行號、基金會直接參與開發,多半為大型、企業相關領域之開源軟體專案才有此種投入)。

由於小型自由軟體專案很難取得公司行號、基金會的捐助或參與,想要增加投入時間、拉攏人力參與,能仰賴的資金來源扣掉自己的薪水外,就只能仰賴使用者了。可是,別忘了自由軟體幾乎皆能免費取得!自由軟體可是直接給予使用者使用、研究、改善軟體的權利,並不像專有軟體般,需要付費才能取得使用授權。以資金的流入量,單就「使用者」這領域來說,自由軟體可是落差大了。

近來也有不少專案都試圖透過群募資金平台,徵集特定數目資金來支付開發者在某段時間內開發出某些功能的案例。有在關注自由軟體的朋友,不難發現每隔一段時間就會有個專案跳出來群募資金,這種方式已眾人熟知。雖然有的募集成功,有的募集失敗,但這個方法仍是目前募集資金的重要手段。

比起群募資金,早在很久很久以前,自由軟體發展不久那時,就有不少人腦中有「好,既然你需要錢,那我們湊些錢來付修正某些臭蟲所需的工資吧!」的想法誕生,因而有不少網站針對這個議題出發,希望能協助專案、開發者、使用者處理此惡性循環;這就是我今天想討論的主題。不過這項措施個人推論常有以下缺點:一、資金過於分散,二、所要的目標難以查詢,三、有興趣者很難得知有此管道,或是即使得知目標,但資金太少而不具吸引力... 等,所以現實上不怎麼有名。


以 elementaryOS 為例,elementaryOS 的受歡迎,迫使開發者面臨一樣的問題:參與人力、投入時間不足。不過由於開發者從早期經驗中認知到,越早發放 testing iso 只會更困擾開發流程,所以只在功能特色明確定下、程式自我使用測試達一定穩定後才會發 beta,接著最終版。即使如此,還是有不少臭蟲回報累積在追蹤器中。為了吸引更多人參與、投入,elementaryOS 團隊決定使用 Bountysource 來改善問題,口號是「你來抓蟲,我們付錢」(Fix Bugs, Get Paid.),並且張貼網誌推廣 (實際施行情況請參見 elementaryOS 的 Bounty 網站 )。對於某功能特色 (feature request) 或臭蟲修正 (bug fix) 有的人都可以喊聲出錢,所以越有人望籌到的錢越多 (前提是此網站曝光率夠高、夠多使用者能完成出錢的門檻),有興趣的人就可以去修正。目前看起來略有成效,對專案與開發者來說不無小補。


觀察臺灣的情況,以國外自由軟體專案發展經驗為參考,可整理出大型自由軟體專案 (如 GNU、Linux kernel、GNOME、LibreOffice... 等) 皆需要基金會、公司行號的參與投入,但臺灣缺乏此類機構,因此臺灣不可能發展出大型自由軟體專案,最多只能到中小型規模。此外,就引進國外自由軟體加以利用來看,臺灣對在地化 (不只翻譯,還包括各種中文支援、本地常用功能特色支援,例如農民曆整合、象棋、毛筆筆刷、渲染效果、中一刀紙張大小、字數計算... 等) 領域來說,與前議題一樣,也十分缺乏人、缺乏閒參與。單就翻譯一事,排除中文或在地功能、習慣支援,許多大型自由軟體專案都是零星兩三人貢獻的,而且同個人多半跨足多項大型自由軟體專案。至於大型自由軟體專案的中文支援、在地化功能與習慣支援,就幾乎可以完全忽略臺灣的參與了,頂多一兩人偶爾貢獻一兩個必備基礎功能 (例如中文文章字數計算) 罷了。

可以歸納出,臺灣在桌面應用領域 (此處指辦公、繪畫、多媒體、行事曆... 等桌面應用) 的多項國際自由軟體專案上,目前頂多只能到玩票性質 (Just for fun),而非大型專職性質 (Professional,如 Linux kernel、GNU)。elementaryOS 所採的吸引參與方案,可以是臺灣在國際自由軟體專案參與上的借鏡與學習榜樣,或許推廣、引進這類系統,能夠些微提昇各專案其臭蟲修正、特色提請等回報的參與。單靠外國人的努力,絕對無法快速完成良好在地化的 (如 LibreOffice 加入中一刀紙張格式大小、PDF 浮水印支援漢字;GNOME 整合的行事曆加入農民曆;GNU Chess 加入象棋;Gimp 加入毛筆筆刷、渲染效果...等 )。

在臺灣有基金會能贊助自由軟體專案參與之前,或許就拿 LibreOffice 來試驗看看,先以 Bountysource 為平台推動看看,希望以「你來抓蟲,我們付錢」方式,來提高臺灣在本地化領域相關臭蟲修正、特色提請回報上的參與吧!

留言

  1. 「......,而且同個人多半跨足多項大型自由軟體專案。」
    頗有同感@@

    回覆刪除

張貼留言

這個網誌中的熱門文章

直行橫列,以及 line (列/行), column (欄), row (列)

Permission 取用權/權能; Permission denied 取用遭拒; Ask for permission 請求取用權/權能; Don't have the right permission to 無權/沒有權能

正體中文、繁體中文?