公共程式系列試辦課程 - 澎湖場:從開放原始碼到公共程式-概念介紹
從軟體程式開發之基本原理出發,進一步介紹開放原始碼軟體之定義、歷史發展、與著名案例,並介紹公共程式政策目標與影響。
為培力我國公務人員對於公共程式的認知與認同,並將公共程式推向大眾,整體提升我國國民對於公共程式了解與運用集體智慧來開創更靈活的社會創新實力。 本系列公共程式培力試辦課程由數位發展部主辦,勤業眾信聯合會計師事務所及財團法人開放文化基金會共同執行,期望透過公共程式培力,賦能政府公務人員,提升公共程式認知及實務應用能力並普及大眾公共程式概念。
公共程式(Public Code)是指政府在進行公共服務數位化時,積極採用開放原始碼軟體,並且將其所採購開發的軟體同樣以開放原始碼的方式對外釋出。
根據歐洲自由軟體基金會提出的「公共出資,公共程式」 Public Money, Public Code )」倡議,公共程式有允許重複利用、避免廠商壟斷、民眾參與協作、內容開放透明四大特色。因此納入公共程式的政府數位轉型,會更加符合民主精神。並且政府採購開發的程式是由納稅人出資,理應是整體社會的公共財,擴大其應用範圍。
相較於民間的積極倡議,目前各國政府導入公共程式雖已有初步成果,但在積極程度上有所區別。美國資訊採購政策採「科技中立」立場,重視各種解決方案間的公平競爭,並未獨尊開放原始碼軟體。但歐巴馬政府曾將公共程式視為開放政府的一環,2016年推行的《聯邦程式碼政策》(Federal Source Code Policy)搭配3年期的前驅計畫以及 code.gov 入口網站,要求各部門採購的程式應跨部門流用,並有20%的採購程式碼需開放釋出。
英國則自2000年開始的歐盟 「e 化歐洲」政策,帶動了英國政府以開放原始碼軟體達成數位公共服務可互通性(interoperability)的策略之一,並且十分強調開放原始碼軟體的採用對節約政府軟體採購開支的成果。雖然實際執行仍面臨挑戰,指導英國政府數位服務的《服務標準》(Service Standard)中,有明確要求「新的程式應開放原始碼」(Make new source code open);其採購所遵循的《科技實踐準則》(Technology Code of Practice)也要求需在符合成本效益的前提下使用開放原始碼軟體。,
相 對於經濟價值導向的美國與英國,德國近年來的數位政策強調數位主權,積極將開放原始碼軟體視為避免重要數位基礎設施被外國廠商綁定的手段。除了在《行政數位化服務標準》中建議以開放原始碼為預設採購選項外,也成立公共行政數位主權中心(ZenDiS),推動《強化公共行政資訊科技數位主權的策略》,以及藉由主權科技基金(Sovereign Tech Fund)直接支持、投資具有公共價值的開放原始碼專案。
臺灣政府曾在2003年推動開放原始碼軟體的應用與產業發展,但在近年的數位國家政策與數位政府政策中,僅著重資料的開放與應用,並未觸及使用開放原始碼軟體,或將政府開發之程式以開放原始碼釋出。
此外,儘管法規並未獨厚專有軟體,並且在諸如《政府數位指引》等行政指導中,已開始鼓勵機關在採購軟體開發案時,將開放原始碼軟體納入考量。但在臺灣政府現有的資訊採購模式預設瀑布式開發、資訊人員編制不足、對開放原始碼軟體認識有限、以及後續公眾釋出後程式維護問題的限制,公共程式並不盛行。不過,在自由軟體、開放政府、公民科學等運動的影響下,已零星的成果釋出。
開放文化基金會認為,臺灣的政府數位轉型,應持續深化推動開放政府與強化數位韌性兩大主軸,公共程式的開放透明,可以增加交流信任、避免廠商壟斷與重複開發形成浪費,也可以強化數位韌性,做為數位公共服務轉型的基礎。我們主張,政府應當將自以下三大方針推動公共程式:
標準規範對象 |
標準名稱 |
說明 |
開放原始碼軟體安全保證 |
ISO/IEC 18974 OpenChain Security Assurance Specification |
OpenChain Security Assurance 是一種開放標準,旨在確保軟體供應鏈的安全性。該規範有助於組織檢查開放原始碼軟體的已知安全漏洞、建立安全機制、及確保其永續性 |
軟體物料授權管理 |
ISO/IEC 5230 OpenChain Specification |
OpenChain 是一種開放標準,旨在確保軟體供應鏈的合規性,提高開放原始碼軟體開發的可靠性和管理。其目標是建立有效的供應鏈合規機制。 |
軟體物料清單格式
|
ISO/IEC 5962 Software Package Data Exchange (SPDX) Specification |
SPDX 是用於溝通軟體物料清單資訊的開放標準格式,內容包括軟體物料來源、許可、安全和其他相關資訊。 |
程式碼開放原始碼授權條款撰寫 |
OSI Approved Licenses |
由開放原始碼倡議(OSI)組織所批准的軟體授權清單,確保這些授權內容符合開放原始碼的定義,確保用戶可以自由使用、修改和分享軟體。 |
程式碼撰寫與釋出 |
公共程式標準(Standard for Public Code ) |
由荷蘭的公共程式基金會(Foundation for Public Code)所提出,界定了政府機關所開發和釋出的程式碼所應具有的品質、合規、可維護性、和互操作性(interoperability),以確保政府採購程式碼的透明與釋出利用的可行性。 |
藉由桌遊教具「開源星手村」引導學員認識數位協作之基本心法與進行原則。並延伸介紹得以實踐數位協作軟體工具或服務,以俾學員透過工作日常中,實現開放原始碼背後之數位協作精神。
藉由實際案例說明完善政府軟體管理之重要,並介紹軟體管理的三項基石:軟體物料清單(SBOM)、國際開源管理標準 ISO/IEC 5230、ISO/IEC 18974。本課程也帶領學員認識國際公共程式開發標準 Standard for Public Code。
從實際例子談論軟體管理之重要,並介紹軟體管理所需的三項基石:軟體物料清單(SBOM)、國際開源管理標準 ISO/IEC 5230、ISO/IEC 18974。
藉由介紹具體的國際政策案例,使學員了解開放原始碼對於政府數位轉型的助益、消除學員對機關資訊服務採購預設開放原始碼的疑慮、以及提供學員公共程式政策落實相關的的國際經驗。
藉由介紹具體的國際政策案例,使學員了解開放原始碼對於政府數位轉型的助益、以及公共程式精神在各國具體落實所形成的政策樣態。學員也將深入認識公共程式如何促進國家發展高自主性的政府數位基礎設施、豐富開放原始碼產業生態系、以及提供具有社會公益性的數位公共財。
以自由與開源軟體基本概念為起點,架構常見自由與開源授權條款與資訊安全所需知識,進而使參與者能了解如何進行開放原始碼解決方案需求評估,以及如何適用於我國的採購流程中。