徵求貢獻者

公共程式標準

hands shaking

草稿
版本 0.8.1

Licensed CC0

github.com/standard-for-public-code/standard-for-public-code

作者群

目錄

  1. 作者群
  2. 讀者指引:如何解讀本標準
  3. 詞彙表
  4. 準則
    1. 原始碼要開放
    2. 政策與原始碼要合捆
    3. 程式基底要可重複使用且可移植
    4. 歡迎貢獻者
    5. 貢獻要容易
    6. 維護版本控制
    7. 要求審查貢獻內容
    8. 程式基底要有目標文件
    9. 程式碼要有文件
    10. 使用白話的英語
    11. 採用開放標準
    12. 使用持續整合
    13. 發行採用開放授權
    14. 程式基底可查詢得到
    15. 風格要前後一致
    16. 記錄程式基底成熟度
  5. 貢獻指引
  6. 行為守則
  7. 治理方式
  8. 版本歷史
  9. 授權
codebase

讀者指引

標準描述說明許多準則。 所有準則各小節結構維持一致,來讓讀者清楚明白如何開發良好的公共程式。

「政策制定者」、「管理人員」以及「開發人員與設計師」的稱呼,係指任何履行這些角色職責的人,不受其職稱限制。 常見同時承擔多個角色職責的人。

以下是各小節的簡要介紹,以及在本標準準則中的作用。

前言

本小節說明這些準則想達成的目的,以及其對程式基底使用者與貢獻者如此重要的原因。

需求規定

這個小節列出如果要遵循本標準,需要完成哪些事項。

本文件中的下列關鍵字,請以《IETF RFC 2119》的描述作解釋:

測試方式

本小節列出您可採取的行動,幫助您確認貢獻內容是否遵循本標準。 如果您想要在實務上遵循本標準,這部分很關鍵。

我們已嘗試調整用字,讓即使是不熟悉這類主題內容的讀者,看完之後也能夠進行基本的遵循檢查。

公共政策制定者:需要的工作

本小節主要對象是政策制定者,列出他們的角色所能採取的具體行動。

公共政策制定者制定專案的優先順序與目標,而在科技上的經驗可能沒那麼多。

管理人員:需要的工作

本小節主要對象是管理人員,列出他們的角色所能採取的具體行動。

管理人員負責監督專案的準時交付、利害關係人管理,以及服務的持續交付。 因此,他們得完全依賴政策制定者、開發人員與設計師。 他們需要塑造正確的文化、籌備合適的資源、提供適當的架構等,才能交付優良的服務。

開發人員與設計師:需要的工作

本小節主要對象是開發人員與設計師,列出他們的角色能採取的具體行動。

開發人員通常對技術比較在行,與其他角色類別相比,對服務交付的影響更大。

作用範圍限制

《公共程式標準》不是為了涵蓋程式基底的個別實作而撰寫。 這代表本標準不是要告訴實作人員,該如何遵循其組織單位當地的技術性基礎建設或法律框架。

此外,雖然《公共程式標準》有引用一些標準,並且與其他標準有諸多重疊部分,但本標準的目的是要推動協作。 因此,本標準目標不在於取代品質標準 (像是 ISO 25000) 認證系列,或是取代那些聚焦於安全性的標準,例如 OpenSSF 最佳實務標章等,而是希望能與它們能良好協同搭配。

《公共程式標準》的目在於促進協作,但也無法保證能夠催生出一個社群。 若要建立社群,除了程式基底需要準備好進行協作以外,也需要積極主動,以及做到超越協作以外的企圖心。

詞彙表

程式或程式碼 (Code)

任何明確的規則系統。 包括法律、政策與規則條例(法規、法式,也可稱為程式),以及用來開發軟體的原始碼(程式碼)。 兩者都是規則,有些是由人類來執行,其餘則是由機器執行。

程式基底 (Codebase)

任何獨立分離的統合包,內含執行部分政策或軟體所需的程式(包含原始碼與政策)、測試與文件等的整套內容。

舉例而言,這個具體形式可以是文件,或是版本控制的儲存庫。

持續整合 (Continuous integration)

在軟體工程中,持續整合 (CI) 是盡可能頻繁地將所有開發人員工作中的副本,合併回程式基底開發中的分支。

不同情境 (Different contexts)

只要是不同的公家機關或不同的部門,無法透過同一個決策單位讓協作自然發生,那就算是兩個不同的情境。

一般大眾 (General public)

整體民眾:程式碼與其所建立的服務的終端使用者。

舉例而言,城市的居民即視為該城市的服務、以及驅動這些服務運作的程式碼的終端使用者。

開源或開放原始碼 (Open Source)

所謂「開源」或「開放原始碼」,是根據 OSI 開放原始碼促進會發表的《開放原始碼定義》而來。

開放標準 (Open standard)

任何符合 OSI 開放原始碼促進會《開放標準需求規範》的標準,就是開放標準。

政策 (Policy)

政策是一套謹慎設計的原則體系,用來引導決策並達成合理的成果。 政策是一種意圖的聲明,並以程序或協定來執行。 政策通常是由組織單位內的理事機構採用執行。 ,並且能協助機構做出主觀與客觀的決策。

公共政策是政府將其政治願景,轉化成計畫與行動來取得成果的程序。

在國家層級,政策與立法(法律)通常是分開的; 而在地方政府中,這兩者之間的區別通常比較模糊。

在本標準當中,「政策」一詞指的是公家機關,例如政府與自治市等,所制定與採用的政策。

公共程式 (Public Code)

公共程式,是由公家機關所開發的開放原始碼軟體,同時包含協作與重複利用所需的政策與指引。

公共程式是在公共情境下,由人類或機器所執行的電腦原始碼(例如軟體與演算法)以及公共政策兩者。

服務公眾利益的公共程式,具有開放、易懂、課責、近用、永續等特性。

透過獨立於當地情境,但仍可在當地情境下實作的方式,還有公開以文件記錄開發程序等作法,來開發公共程式。如此,公共程式能作為基礎組件提供給他人,使其得以:

為了促進重複利用,公共程式通常放到公眾領域發行,或者採取允許他人能自由檢視、重複利用其成果,甚至產出衍生作品的開放授權。

儲存庫 (Repository)

儲存庫是版本控制工具存放程式基底檔案與中介資料的位置。 儲存庫讓多位貢獻者,得以同時對同一組檔案作業。 儲存庫可以儲存一組檔案的多個版本。

原始碼 (Source Code)

人類可讀,並且能夠翻譯成機器指令的電腦程式文字。

版本控制 (Version Control)

版本控制,是管理原始碼及其相關檔案變動的流程。 變動通常會用「修訂編號」(或版次等類似名稱)標示。 每次修訂都會標示其改動時間以及作者,方便追溯程式碼的演進。 修訂控制系統可用來比較不同版本之間的差異,以及查看內容隨著時間經歷的變動。

準則

  1. 原始碼要開放
  2. 政策與原始碼要合捆
  3. 程式基底要可重複使用且可移植
  4. 歡迎貢獻者
  5. 貢獻要容易
  6. 維護版本控制
  7. 要求審查貢獻內容
  8. 程式基底要有目標文件
  9. 程式碼要有文件
  10. 使用白話的英語
  11. 採用開放標準
  12. 使用持續整合
  13. 發行採用開放授權
  14. 程式基底可查詢得到
  15. 風格要前後一致
  16. 記錄程式基底成熟度
unlock

原始碼要開放

以開放精神編寫原始碼,能改善資訊透明、提高原始碼品質、讓原始碼更容易稽核,也能促進互相協作。

這些合在一起,讓公民更有機會瞭解軟體與政策如何影響他們與公家機關的互動。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

政策與原始碼要合捆

對於想根據所在情境實作程式基底的人,或是想更進一步貢獻程式基底開發的人來說,能同時取用原始碼政策文件兩者,可作為建置成品時的基礎組件。

瞭解作用範疇與該範疇的政策是基本原則,才能瞭解程式基底試圖想解決的問題是什麼,以及該如何解決這些問題的作法。

為了評估是否需要在新的情境中實作程式基底,組織單位需要瞭解必須做出改變的程序有哪些,或是如何對現有解決方案付出額外調整設定,以適應新的情境背景。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

程式基底要可重複使用且可移植

編寫可重複使用且可移植的程式碼,讓政策制定者、開發人員與設計師等,能重複使用、測試與改善目前已開發的內容,並將改善貢獻回程式基底中,如此可提高品質、降低維護成本、增強可靠性。

以重複利用為前提籌劃設計程式基底,更容易與多方共享程式基底的目標使命、願景與範圍等。 多方開發與使用的程式基底,更可以從能自我運作的社群中獲益。

以文件記錄周全的模組構成程式基底,能夠改善重複使用與維護的能力。 以文件清楚記錄用途的模組,更容易在另一種情境中重複利用。

原始碼不依賴任何貢獻者、供應商或部署底下的特定情況專用基礎架構,則其他任何貢獻者都能測試該原始碼。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

原始碼應該設計成:

確保程式基底文件中,有說明程式的組建日期與執行時期的依賴項目。如果您的情境需要部署至專有平臺上,或者要用到專有組件,則請確保協作者可以在不用到這兩者的情況下,就能進 行開發、使用、測試、部署等。

在每份送交版次中,審查人員要確認其中不含特定情況專用的資料,像是主機名稱、個人與組織單位資料、代符與密碼等。

延伸閱讀

歡迎貢獻者

程式基底社群的氛圍,會影響使用者選擇所要使用的程式基底。 歡迎任何人成為貢獻者的社群,才能夠不斷茁壯並且持續自我運作。 若貢獻者有明確的方法可以影響程式基底、社群目標與進展,則該社群分裂成分歧的社群的機率也較低。 新參與者需要瞭解並信任程式基底社群的治理方式。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

貢獻要容易

若要開發更好、更可靠且功能更豐富的軟體,使用者需要能夠為共享的程式基底修正問題、新增功能,以及提出安全性議題等。

共享的數位基礎建設讓協作貢獻更容易。 使用者讓程式基底接受貢獻時所需付出的心力越少,則使用者越可能成為貢獻者。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

維護版本控制

版本控制主要在追蹤原始碼以及其他程式基底檔案歷來的變動。 這能讓您為程式基底維護有條理的變動歷史文件。 這是大規模協作得以運作的要素,使開發人員可以針對修改變動平行作業,並幫助未來的開發人員瞭解做出修改的原因。

需求規定

測試方式

公共政策制定者:需要的工作

舉例來說,為程式基底作權限管理時,如果要新增申請方類別來賦予取用權,應視為一種政策變動。

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

要求審查貢獻內容

同儕審查貢獻是提升原始碼品質的關鍵,也能降低安全性風險與營運風險。

要求仔細審查貢獻,能孕育出確保貢獻都是優質、完整且能帶來價值的文化。 審查原始碼能提高在原始碼加入程式基底之前,就發現與修正潛在臭蟲與出錯的機率。 得知所有原始碼都會被審查,就不會孕育出習慣怪罪他人的文化,反倒是鼓勵每個人都專注在解決方案上。

快速審查政策在於向貢獻者保證,必定在一段時間內提供意見回饋或是協作式改善,進而提高貢獻者交付貢獻內容的頻率,以及參與的熱度。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

程式基底要有目標文件

以文件清楚記錄程式基底目標,來傳達程式基底的用途目標。 這能幫助利害關係人與貢獻者劃定程式基底的開發範圍。 這些目標也能方便人們判斷,是否在當下或未來,會對此程式基底或其模組感興趣。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

程式碼要有文件

文件記錄周全的原始碼能幫助人們瞭解該原始碼的作用與使用方式。 對開始使用程式基底的人來說,程式基底文件是必須的。 這也讓他們更容易對程式基底做出貢獻。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

使用白話的英語

英語是軟體開發領域中的實際 協作語言。 然而,有些情境需要使用英文以外的語言。 因此,一個程式基底可以使用包含英文的一組語言,作為其官方語言。

公家機關資訊需要讓所有選民都能取用。 簡單且白話的語言,能讓更多人能瞭解程式碼與其功用。

翻譯可以讓更多人有機會認識程式基底。 用語越是簡單明暸,製作與維護翻譯的成本就越低。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

採用開放標準

開放標準保證可以取得使用與貢獻程式基底所需的知識。 不僅能為不同的系統之間建立互通性,更能降低廠商套牢的可能性。 開放標準如果明確,不同方就可以各自獨立開發作資料交換。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

使用持續整合

透過自動化測試驗證,開發人員能更頻繁地將其工作成果合併至共享的分支,達成非同步協作。 合併的頻率越頻繁、貢獻的規模越小,在合併時所發生的衝突就越容易解決。

自動化測試所有功能,使人更加信賴貢獻內容發揮其功用且沒有引發任何錯誤,同時讓審查人員專注在貢獻的結構與作法。 測試越聚焦,就越容易辨識並瞭解所出現的問題。

以文件記錄程式基底的持續整合工作流程,能協助貢獻者瞭解對貢獻內容的期待。 持續整合讓監管程式基底狀態變得更為簡單。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

發行採用開放授權

採用開放且為人熟知的授權,讓任何人都可以查看原始碼,使其能瞭解運作方式、自由使用,並且能為程式基底做出貢獻。 這也能促進供應商建立出以程式基底為中心的生態系。

明確指出程式基底中每一個檔案的授權,讓使用者能正確重複利用程式基底的部分內容,並表彰作者名稱。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

程式基底可查詢得到

一旦程式基底越容易被發現,更多的潛在協作者也就找得到它。 不能只是發表個程式基底,然後就盼望他人找得到這套程式基底,而是需要主動積極。

有中介資料說明檔的話,程式基底會更容易被發現。 良好且包含永久唯一識別碼的中介資料,例如寫成 Wikidata 維基數據條目,或是放到 FSF 自由軟體基金會的軟體目錄列表之中(使程式基底成為語意網路中的一部份),他人就能更容易透過第三方工具參考、引用、辨別、發現程式基底。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

風格要前後一致

採用前後一致的風格,讓不同環境的貢獻者能夠一同合作。 用詞統一能減少貢獻者之間在溝通上的摩擦。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

如果程式基底還沒有工程指引,或其他貢獻者指引,則請先在儲存庫中加入相關文件,像是 「CONTRIBUTING」或「README」檔案,並描述目前在設立指引方面的進展。上述檔案的重要目的之一,在於宣達設計偏好、命名規則,以及機器不容易檢查的其他層面。 指引應該包含貢獻的原始碼預期該符合哪些要求,才會被維護人員合併至程式基底中,包括原始碼、測試、文件等項目。 請持續改善與擴充這份文件內容,目標讓文件朝向工程指引演進。

此外:

延伸閱讀

記錄程式基底成熟度

清楚標示程式基底的成熟度,有助於他人決定是否要使用,或為該程式基底做出貢獻。 程式基底版本的成熟度,包含其依賴項。 目的成熟度。瞭解程式基底演進到什麼程度,是理解該程式基底並知道如何做出貢獻的關鍵。

需求規定

測試方式

公共政策制定者:需要的工作

管理人員:需要的工作

開發人員與設計師:需要的工作

延伸閱讀

貢獻此標準

🙇‍♀️ 感謝您的貢獻!

我們理解這樣的標準,只有在盡可能與公共技術人員、政策制定者,以及有興趣的人士協作下才能完成。因此,我們很感謝您的意見,樂意得到回饋,以及歡迎提供改善此專案的建議。我 們非常開放任何合作的機會。

我們歡迎每個人提出的議題,以及拉取請求。 如果您不大習慣 GitHub ,歡迎加入下一次的社群討論並提供您的意見回饋。

問題、建議與議題等

發展路線圖中可查看我們勾勒的發展概覽。 歡迎回報問題、建議修改,以及發問等,來協助發展。 您可以到 Standard for Public Code 的 GitHub 議題 頁面中,為本專案提出 GitHub 議題

或者,加入討論區

您不一定要修改我們的程式碼或文件,也能成為貢獻者!

為文件與程式碼提出拉取請求

如果您想要在我們的專案中,為文件或程式碼加入新內容,您應該提出拉取請求 (Pull Request,亦可簡稱 PR)。

若您從未使用過 GitHub,歡迎先認識 GitHub 作業流程,或是參加 GitHub Skills 免費且優質的互動式課程,當中會介紹該如何使用 GitHub 以及 MarkDown 語法。MarkDown 是本專案文件所採用的撰寫語法。

本專案採用創用CC 0 1.0 通用式公眾領域貢獻宣告給予授權;這本質上代表本專案,以及您所做出的貢獻,在無論何種司法管轄情況下,都屬於公眾領域,也就是任何人都可以 任意使用。

1. 作出您的修改

貢獻內容應該遵守《公共程式標準》自身所列出的準則規定。審查人員同時也會確保貢獻內容,符合 公共程式的價值。此外,他們也會審查貢獻是否遵循標準,且與整體作品有所連貫。

本專案使用 GitFlow 分支與工作流程。 當您對此儲存庫作分支以後,請務必依照 GitFlow 模型建立新功能分支。

將您所作的變更內容加入送交版次,並附上內容說明。 如果需要作出多種類型的變更,請將相關變更依據邏輯分類,不同類型各自放在不同的送交版次中。 例如:修正空白、以及文字內容更動,兩者應該放在不同的送交版次中。 當新增檔案時,請選用容易以「diff 」檢視的檔案格式,如「.svg 」格式就勝過二值化影像。 在送交版次訊息中,請記錄您所作的選擇與決策,如此未來其他人都能知道您當時的抉擇。

如果您是要新增程式碼,請確保您有新增與更新相關文件與測試項目,之後再提交您的拉取請求。 請務必撰寫可以展示新增或修改後程式碼行為的測試項目。

適用政策

就目前而言,《公共程式標準》並非在執行任何特定的公共政策。

風格

《公共程式標準》目標使用白話的英語,拼字則採用美式英文。 文字內容基本上以每句一行為原則,沒有文繞圖換行,來讓「diff」輸出更容易檢視。 然而,我們想要強調更重要的是,您應該專注在貢獻內容上,而不是擔心拼字與排版。 我們的審查流程會協助修正這一部分,也會另外再次檢查品質才推出新發行版本

遵守的標準

這些是《公共程式標準》所採用的標準。 請確保您的貢獻內容也遵守這些標準,才會更容易合併。

2. 拉取請求

當您提出拉取請求時,請隨附描述您想要解決的問題,以及該拉取請求所能修正的議題編號。 以一個拉取請求處理單一項議題為佳。 若一組變動能同時解決多項議題,則請列出所有能一併修正的議題編號。

3. 改善

所有貢獻都必須接受審查。

維護人員有時候可以立即合併您的貢獻內容。 不過一般來說,新的拉取請求通常需要再經過改善後,才能夠合併。 其他貢獻者(或是輔助用機器人)可能會提供意見回饋。 若是如此,負責審查您貢獻內容的維護人員,將協助您改善文件與程式碼。

一旦您的文件與程式碼通過人工審查,就會合併。

4. 慶祝

您的構想、文件與程式碼,已成為本專案的一部份。 您就是我們需要的開放原始碼英雄!

作為社群的一份子,將您的名字加到 AUTHORS 檔案中,讓您所做的貢獻能銘記在本專案中。 如果您的名字不在其中,誠摯歡迎您提出拉取請求。 每次釋出版本前,我們也會再次確認是否有新的貢獻者需要加入。 若您不希望被收錄,也請直接告知我們。

翻譯成其他語言

《公共程式標準》的官方語言為英文。

其他語言版本是由社群盡最大努力所提供。 這些貢獻地翻譯內容可能無法同時隨著英文版本更新,最新版的準則就算沒有對應地翻譯成其他語言,也依舊會發行。 邀請您幫助維護已有的社群翻譯,或新增翻譯。

發行版本

我們有提供發行新版本,與訂購印刷版標準的專用詳細文件。

若要進一步瞭解如何使用,以及協助貢獻本專案,請參閱 README

collaborative-development

行為守則

本文件表達基金會對於所有社群成員,以及所有互動間的期望,無論互動是透過何種溝通管道。 本文件表達基金會對於所有社群成員,以及所有互動間的期望,無論互動是透過何種溝通管道。

來到這裡來是為了協作。

請對彼此體貼、尊重,以及有耐心。

努力做出有建設性的行為。

若有問題需要提出,請寄送電子郵件到 directors@publiccode.net。

collaboration

治理方式.md

《公共程式標準》是由社群治理的專案。

原則

公共程式標準社群遵守下列原則:

指導團隊

公共程式標準社群有一個指導團隊。

成員組成

社群當中任何一位活躍的貢獻者,如果有意加入指導團隊,都可以向指導團隊提出要求。 收到要求的指導團隊會投票表決 (請參閱下方「投票」段落)。

目前指導團隊成員包括:

理想狀況就是指導團隊成員來自各個不同組織。

責任

指導團隊成員都是活躍的貢獻者,並且每天負責:

除了每日例行作業,指導團隊整體也承擔下列責任:

會議

指導團隊定期開會。 會議主題包括檢討發展路徑圖以及目前陷入僵局的問題。 會議主題的目的並非審查或通過所有程式修補內容。 (程式修補內容的審查與核准都依照 CONTRIBUTING.md.所述流程進行)。

決策流程

指導團隊預設決策方式為認可決,只有在某些議題才會透過投票決定。

如果你認為一個決策沒有任何爭議,就可以做出該決策,這就是本社群對「認可決」的定義。 只有無人反對,透過認可決所做出的決策都被視為受到所有人的支持。 當然若有人反對,你也必須做好轉返的準備。

若對一個決策有疑慮,指導團隊成員可告知其他成員他/她即將做出某個決策。 通知後的96小時內,若指導團隊無人反對,則可視為指導團隊都支持該決策。 若有人反對且無法透過討論取得共識,則團隊成員可以依照下列步驟要求進行多數決投票。

投票

每位指導團隊成員都有一票。 採公開投票。

每日例行專案維護作業,許多都能透過認可決做決策。 但以下項目「必須」透過投票表決:

「簡單多數決」就是至少有半數的指導團隊成員投下同意票,「絕對多數決」則是有2/3的團隊成員投下同意票。

行為守則

公共程式標準行為守則在 CODE_OF_CONDUCT.md 當中。

若指導團隊成員可能違反該守則,該成員將無法針對其議題投票。 若有違反行為守則之情事發生,則應該往上通報給指導團隊,由指導團隊決定如何干預。

ecosystem

版本歷史

0.8.1 版

2025年4月28日: 🧑‍🤝‍🧑 社群治理模型的第18個修正草案。

0.8.0 版

2024年1月9日:🌐第十七版區分官方與免費翻譯的文字。

0.7.1 版

2023年07月31日: 💄 第十六版草稿修改準則名稱,並釐清程式 code 的稱呼。

0.7.0 版

2023年5月31日:📑第十五版新增紀錄募資審查的新規定,並釐清審查流程規定。

0.6.0 版

2023年4月20日:🔀第十四版草稿新增可移植性與測試的規定,並且每個準則都有一段前言。

0.5.0 版

2023年1月25日:🎨第十三版草稿焦點著重在文件紀錄風格指引。

0.4.1 版

2022年12月5日:📝第十二版草稿指出要以文件記錄成熟度。

0.4.0 版

2022年9月7日:🔭第十一版草稿新增可查找性準則。

0.3.0 版

2022年5月23日:🗎第十版草稿加強文件紀錄與在地化內容。

0.2.3 版

2022年3月15日:📜第九版草稿允許缺少官方翻譯的政策,改為提供政策的英文版摘要。

0.2.2 版

2021年11月29日:🏛第八版草稿認知程式碼所執行的政策,不一定是英文。

0.2.1 版

2021年3月1日:🧽第七版草稿是 0.2.0 版後的些微清理改善。

0.2.0 版

2020年10月26日:🎊第六版草稿拆分出一項新規定並且釐清內容。

0.1.4 版

2019年11月27日:🧹第五版草稿主要是一些細部修正。

0.1.3 版

2019年10月8日:🍂第四版草稿僅針對秋季所作的清理修正一些小地方

0.1.2 版

2019年8月22日:🌠第三版草稿專注在提升文字品質,並且納入社群意見

0.1.1 版

2019年5月9日:🤔第二版草稿修正一些基本的疏漏,以及許多拼字錯誤

0.1.0 版

2019年4月16日:🎉初版草稿已準備就緒,全新內容,而且有許多有趣的新穎理念

最初的版本是由阿姆斯特丹應用科學大學、阿姆斯特丹市政府,以及本基金會合作撰寫,取自 Smart Cities? Public Code! 專案 的部分內容。

本授權條款作為法律契約,授權任何人自由使用本文件全篇內容,方式不受限制。

CC0 1.0 Universal

Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.