編輯嚴選
「開源協作」能解決所有問題嗎?以台灣g0v為例

2020/11/16閱讀時間約 7 分鐘
還記得年初Covid-19爆發時,口罩一度成為稀缺資源嗎?沒想到,在口罩實名制上路當日,各式實時顯示口罩販售點與存量的民間應用接連如雨後春筍般冒出,不但有效緩解「搶購不到」的恐慌,也透過即時更新庫存量資訊疏散排隊人潮、避免群聚。究竟是什麼原因,讓公民能在短短幾天內迅速開發出上百個相關應用?
除了參與公共事務的熱忱,「開源協作」也是關鍵之一。

開源提供協作基礎,協作凝聚群眾力量

政府在第一時間內釋出的開放資料是防疫應用的基礎,讓眾多公民能據此徹夜開發出地圖、Line Bot、app等各式解決方案;眾多專案又因為「開源」,得以廣納開發者加入協作,或以此為基礎改做其他應用。而開放協作的過程,就是此次得以迅速且大量產生防疫應用的關鍵。
這種開放精神,可追溯至「開放原始碼」的概念,意指將構成軟體的基礎-程式碼, 開放給所有人使用、修改、散布與再利用。源碼開放所帶來的透明與自由,得以發揮群眾外包(crowdsourcing)的力量,讓所有人可一起開發與維護,既提升軟體優化的速度,也能促進廣泛的改作應用。對開發者來說,若看到缺陷或想新增功能,可選擇將自己修改的程式碼分支(fork)成新程式,或合併(merge)回上游,上游的維護者可選擇是否接受修正建議。(引自民主季刊)
在台灣多元而蓬勃的開源社群之中,有些著重於討論開源軟硬體技術;有些以籌備開源研討會為目標; 「零時政府(g0v.tw)」則是台灣第一個將開源協作模式帶出軟硬體領域、連結不同領域專業者共同投入公共議題的大規模開源社群。

當開源協作跨入公領域:以g0v.tw為例

開源協作的特點在於讓每位貢獻者以熱情為動能,「去中心化」的開發方式與業界常見由上而下發布進度規定,有很大的不同。由於開源文化提倡「儘早釋出、時時釋出」(Release early, release often.),g0v.tw的貢獻者習慣將想法及階段性的成果公開,以利更多貢獻者加入協作。對於有類似提案的後人,既可以參考前人成果,也不必重造輪子。
「開放政治獻金」就是一個典型的開放協作例子:2014年,公民團體「反核四五六行動」的成員將掃描好約10GB的政治獻金會計報告書圖檔,帶到g0v.tw舉辦的「零時政府第七次黑客松」,因為圖檔背景有浮水印,無法直接光學辨識成數位檔案,g0v.tw的貢獻者王向榮(ronnywang)於是著手開發供眾人透過線上人工辨識還原為電子檔的群眾外包網站,並號召參與者持續至監察院影印資料攜出。爾後,公民監督國會聯盟於召開記者會倡議修法但並未成功,大眾對專案的關注與貢獻熱度因此沈寂。
但到了2017年,《鏡傳媒》根據此案開放資料的基礎啟動數讀政治獻金計畫人工辨識網站,引起廣大迴響;政府終於在2018年修改政治獻金法,規定會計報告書全文應公開於電腦網路(引自民主季刊)。儘管專案最初沒有達到預期成果,但因為開源,幾年後成果依然能由他人接手做其他加值應用,最終達成倡議修法的目標。
製圖:鄭婷宇

為何開源協作無法解決所有問題?關鍵在「適配性」

如果將開源協作應用到公領域的效果如此卓越,為何在g0v.tw 創立至今、少說數百件的提案之中,有達到目標且廣為群眾所知的專案卻為數不多?
一般來說,專案開發會歷經「問題分析、企劃、開發及營運維護」,但由於開源社群的貢獻者可自主決定參與方式,多數提案並未經過完整的四階段,而是「想做就做」。因此,提案不一定有釐清需求、規劃開發步驟及長久維續的機制,所幸自我實現動機可激勵群眾加入專案協作,且分支不同專案如同大量試誤,可提高找到有效解法的機率。然而,高度自主的彈性對維持專案進度的穩定與且長遠性亦帶來諸多挑戰。因此,多數開源專案僅停留在草案階段、斷尾或停滯不前
開源協作畢竟源自軟體領域,在跨界時難以完全套用,例如:軟體可在試誤過程中反覆修改的特性,難以適用在「公共政策」,畢竟政策一旦正式發布即會對人民權益產生影響,不太可能滾動式修改。該如何判斷專案是否適合走開源協作模式?g0v.tw貢獻者ETBlue與Ipa根據諸多專案開發經驗所整理出的「Blupa量表」是個參考依據:
圖片來源:Blupa
Blupa量表左側的色塊代表開放程度,綠色最接近典型開源專案,黃色次之,紅色最偏向封閉的組織專案特質。左側分數不具量化意義,僅代表採開放協作的成本較高。若專案的分數加總越高,提案者可更審慎評估專案開發過程是否適合全程採取開放協作模式?或僅在部分環節採用?
詳細的應用方式,請參考Blupa Metrics 開放跨界量表。關於七大項類別,簡列評估依據如下:
  1. 期限:若專案有明確的時程,開源貢獻者來去不定的情形可能接手的斷層;開發者自主決定貢獻時程則會造成難確保開發進度。
  2. 費用:開發成本也是一道門檻,若專案所需費用低,能參與的貢獻者自然越多。
  3. 複雜度:專案複雜度越高,協調與溝通的成本就越高,意味著坑主或協調者需要將任務切的更細以降低協作的門檻,才能擴大貢獻者的數量。
  4. 數位性:數位資料的邊際成本幾近於零,搭配數位工具,大幅降低參與協作的成本;相較於此,實體聚會或開發目標容易受限於時空隔閡,參與門檻較高。
  5. 模組性:如果專案可分切成不影響彼此進度的個別任務,就能開放給多人協作,例如「開放政治獻金」專案裡將立委的政治獻金資料切分成一幅幅小片圖像,邀請公民協助辨識,成功以群眾外包(Crowdsourcing)的力量完成資料數位化的任務。反之,環環相扣的專案內容難以交由多人分散協作,插畫、創作等個人創作意象鮮明的專案即屬此例。
  6. 通用性:專案成果如能重複使用而不限於特定場合,自然能讓較多人參與和使用。根據特定目的打造的專案因使用範圍較侷限,自然難號召群眾加入。
  7. 公開性:開源專案成果必定開源釋出,但開發過程不見得全程公開。太陽花運動時,在立法院附近架設網路以維持院內外資訊同步的「立院線路松」即屬此例:當時為避免佈線被有心人士破壞,在勘查現場與調整架設結構時,資訊僅限於信任圈內分享,活動結束後才將相關文件製為範本公開,以利後人參考。相對的,若開發過程適合公開,自然能找到更多貢獻者加入協作。

「開源協作」跨界「公民參與」的未竟之路

歷時八年,g0v.tw的口號從「寫程式改造社會」轉變為「不只是寫程式改造社會」;參與者從以軟體技術專業為主流的初始組成,逐漸蛻變為涵容更多不同專業的參與者。隨著越來越多議題工作者來g0v.tw,許多專案也從提供資料或技術工具給公民團體、類似「軍火庫」供給方的後勤角色,逐漸轉為與公民團體共同釐清倡議目標、討論合適的解決方案的協作模式。在跨領域協作的過程中,公民團體中心化的運作方式,與開源社群無組織的型態,雖因跨界而碰撞出嶄新的公民科技成果,但迥異的文化亦時常帶來挑戰。
當「開源協作」跨界到「公共議題」,可期待的是帶動更多公民加入協作,在過程中達到深化民主:將傳統由上而下推動的公共政策或倡議過程,轉化為由下而上、草根性的公民參與。另一方面,公共議題類型的專案不一定在每個環節都能完全套用開源協作模式,適度評估與調整有助於讓開源社群與政府或公民團體協作更順暢。

鄭婷宇
從寫碩士論文時進入開源的世界。g0v.tw 「改造社會」的熱情及去中心化的運作模式是吸引我掉坑的原因。此後一直以一介非技術人的角色持續關注開源社群、公民科技,現正於開放文化基金會任職。
責任編輯:羊正鈺
為什麼會看到廣告
雜學校
雜學校
Learn To Be:打造交流與串連的舞台,讓各種學習想法能夠被看見,互相碰撞、激盪,讓學習者可以在這邊想像、學習,勇敢選擇自己想學。 官方網站:https://zashare.org/
留言0
查看全部
發表第一個留言支持創作者!