999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

法律即代碼:法典化中的公平提示原則

2023-07-25 03:29:16趙澤睿
東方法學 2023年3期

趙澤睿

關鍵詞:法典化公平提示原則 代碼 軟件工程 數字時代 算法

法典擔負著重建社會共識、聚力社會發展的歷史重任。在當前推進數字化轉型的背景下,討論數字時代的法典化對建設數字中國與中國特色社會主義法治體系均具有重要意義。在此意義上,民法典并非法典化運動的結束,實則其他部門法法典化的開始。習近平總書記在中央全面依法治國工作會議上指出:“民法典為其他領域立法法典化提供了很好的范例,要總結編纂民法典的經驗,適時推動條件成熟的立法領域法典編纂工作。”全國人大常委會也將“啟動環境法典、教育法典、行政基本法典的編纂工作”列入其2021年的立法工作計劃。刑法、刑事訴訟法、行政法、環境法、知識產權法與教育法領域的學者也紛紛就如何推進該領域的法典化展開研討,法典化一時間成為法學學者們共同關注的話題。

在此背景下,國內法典化的現有研究主要分為以下三類。第一類聚焦具體領域的法典化實踐。其包括在已有法典的民法領域探討民法典對我國民法實踐的影響及進一步完善法典的路徑, 以及在未有法典的行政法、環境法、教育法等領域探討法典化的意義與必要性,并提出具體的法典編纂建議。第二類則聚焦法典化運動的比較研究。其主要通過對比我國當下的法典編纂與歷史上羅馬、法國和德國的法典化運動存在的異同,為我國未盡的法典化運動提供歷史經驗,并據此闡釋我國法典化運動的歷史特殊性。第三類則聚焦法典與法典化的概念分析和類型化研究。其通過歷史梳理與類型劃分的方式,闡明法典及法典化的概念含義、價值追求、立法技術與內部機理。

這些討論大多面向歷史且站在立法者的視角,探究法典化運動是否可能或者如何形成一套具備完整性、體系性、邏輯性和普遍性的法典。但這些討論忽略了兩個關鍵問題:一是法典編纂后該如何保障其后續不斷修訂的動態發展過程合理且正當;二是法典化運動未來該如何結合數字技術進行發展,即如何彰顯數字時代法典化的時代特征。對此,本文將以法律的公平提示原則為核心,論述法典化在化簡分散立法的復雜性時所面臨的發展悖論,以及在數字時代的法典化中提出“法律即代碼”觀念的時代意義。同時,本文也將結合軟件工程學的基礎概念、理論和技術,從法律的公平提示原則推導出“法律即代碼”的實現路徑與落實方案,為計算法學視野下的立法研究提供方向。最后,本文將結合當下熱議的“代碼即法律”觀念與本文提出的“法律即代碼”觀念,進一步將法律的公平提示原則發展為代碼的公平提示原則,將國家治理的法典編纂與修訂原則延伸為平臺自治的代碼設計與修訂原則,為解決代碼黑箱問題提供一種程序性視角。

一、“法律即代碼”對法典化的意義

“法典(Code),是指在某一個法律主題之下將既有的和新設的規范進行體系化集成之后形成的具有單一性和完整性的法律文本。而法典化,則是指國家推進并形成法典的事業。”法典化的興起是為了應對分散立法所引發的法律冗雜化和碎片化,以實現法律的公平提示原則。然而持續不斷的立法與修法讓內容繁多、結構復雜的法典本身也成為法律適用復雜性的來源,無法高效、動態管理繁多法律文本的法典化運動反而阻礙了法律公平提示原則的實現,進而形成了法典化的發展悖論。因此,數字時代的法典化應當提出“法律即代碼”的觀念,并利用軟件工程學中處理代碼文本的數字技術實現法典化的數字化,據此打破法典化的發展悖論,保障數字時代法典化中的公平提示原則。

(一)作為法典化動因的公平提示原則

公平提示原則是指“政府在依據一項法律規則要求其公民承擔相應的法律責任之前,公民必須被告知并理解該法律規則”。其在歷史發展中演化出了對法律的三項核心要求。其一,法律的發布要求。政府必須正式頒布其所適用的法律規則。其二,法律的公民認知要求。政府有義務積極地讓公民認知并理解其所頒布的法律內容。其三,法律的清晰度要求。政府有義務保障其所頒布的法律明確清晰,避免含糊或不連貫的規定縱容權力濫用。公平提示原則最早在雅典的希臘獲得關注,當時的公眾普遍要求政府公布其法律,進而導致“政府應當正式頒布其法律”成為法治國家的標準做法。多位著名法學家也在不斷強調這項蘊含于法治文明根基的基本原則。約翰·洛克在其《政府論》中便論述了法律的發布要求對社會運作的重要性,其認為法律的正式頒布與公民對這些法律的認識將保障公民對其自由和財產的信心,進而確保社會運作的高效與穩定。杰里米·邊沁則在其著述中進一步明確了法律的公民認知要求,其認為公平提示原則遠不止賦予了政府頒布法律的義務,更要求政府積極努力地將法律告知公民,只有公民認識到法律,才算滿足公平提示原則的要求。而公平提示原則中的清晰度要求則最早由塞繆爾·普芬多夫提出, 其認為法律的公平提示原則不僅要求政府要讓其公民知道法律的存在,還要能讓公民明確知道法律的具體含義,因此法律的頒布若要有意義就必須清晰明確。這些關于公平提示原則的思想論述為當代憲法的禁止溯及既往、禁止司法創造和禁止正當程序模糊等重要條款奠定了理論基礎。

而保障法律的公平提示原則也是法典化運動興起的主要動因之一。縱觀歷史,各國進行法典化運動的目的皆是解決分散立法在社會變動中不斷冗雜化和碎片化而引發的法律適用復雜和理解爭議增多等破壞法律公平提示原則的問題。例如,1794年普魯士立法機構以追求法典的清晰易懂與完整性為目標,頒布了被認為是定義了現代法典體系性特征的普魯士法,此時的公平提示原則為18、19世紀的法學家們追求法典體系內部的邏輯性、一致性和完整性提供了正當性依據。甚至在20、21世紀的德國環境法法典化過程中,如何通過法典化運動解決過去立法分散引發的適用復雜與理解爭議等破壞法律公平提示原則的問題,再次成為德國法學家的熱議話題。英、美等普通法系國家的法典編纂雖然在技術層面與大陸法系國家不同,但其同樣也是為了在法律不斷冗雜化與碎片化的趨勢下保障法律的公平提示原則。如美國國會于1795年授權第一次聯邦法規匯編便是為了讓法律更加簡單明了,以此便于公眾獲知法律,解決因司法意見堆積導致的法律解釋分歧與爭議。正如韋伯在探究法典化運動背后的社會原因時所總結的:“法典化運動的興起,是因為法典擁有(或者至少給人一種擁有的印象)非凡的清晰度和精準的可理解性。”

無論大陸法系還是英美法系,隨著法治的不斷完善與發展,國家都需要以一種能夠促進理解和樹立權威的樣式呈現一套公認的法律權威文本,以此塑造期望和規范行為。這也解釋了為何我國當下開始在多個領域開展法典化運動。隨著我國法治建設的推進,正式頒布的法律法規數量不斷增多、領域不斷擴張,立法的冗余與碎片化為政府適用法律與公民理解法律帶來了困難,為了保障法律的公平提示原則,法典化運動必不可少。例如,我國現有的行政法數量繁多且混亂,出現了彼此間重復、矛盾的嚴重現象,而這正是我國學者推動行政法典編纂的正當性理由。

(二)法典化的發展悖論與“法律即代碼”的意義

但是法典化運動并非一勞永逸的事業,法典為了適應社會發展需要不斷地擴充與修訂,而法典的擴充與修訂過程反而會產生新的復雜性,這些復雜性不斷積累將會產生一套沒有任何個人可以完全理解的法典,進而破壞法典化的初衷———法律的公平提示原則。 因為法典為了追求完整性、體系性、邏輯性和普遍性,其在動態發展過程中必然會面臨著大量法律文本的冗雜問題,這將會對法律的適用造成如下三方面的重要影響:其一,過于龐大、復雜的法典會導致公民的訴訟成本不斷增加并造成法治效率低下。對此,美國一些針對民事訴訟成本的實證調研顯示,在美國推動法典化進程后,花費在與法治相關的時間、人力和金錢成本不斷增加,并在當代的法治社會形成了數額龐大的必要開銷,這對大型公司都造成了巨大負擔。其二,隨著法典規模的擴大,法律條文之間的相互作用導致立法機構與司法機構無法有效協同地使用法典。已有學者指出,目前主流的以等級化格式和編號、主題分類和交叉引用為特征的系統化法典編纂雖然降低了立法機構的制定成本,但法院獲知特定案件所涉及的法律的信息成本正在指數式地增長。這會逼迫繁忙的法官更多地關注法典單個字詞和法條,而忽視整個法律的整體政策目標,同時也會誘發過度犯罪等一系列的司法負面效應。其三,由于法典對普遍性、完整性和體系性的追求,法典對絕大多數公民來說會變得越來越不透明,公民難以完整、正確地理解法律。對此,一些學者已經哀嘆普通公眾在缺少律師的情況下已難以理解復雜的現有法律。而當法典的復雜程度超出一般公眾所能理解的范疇后, 法典化運動便猶如羅馬皇帝尼祿(Nero)將其法律列于高塔之上一般,因公民無法看懂與理解而變得毫無價值。這三個影響將會導致法典在動態發展的過程中逐漸脫嵌于社會,最終形成法典化的發展悖論。

因此,為了在數字時代的法典化進程中打破法典化的發展悖論,需要將法律文本類比為代碼文本, 利用數字時代興起的軟件工程在法典編纂和修訂的動態發展過程中保障法律的公平提示原則,形成“法律即代碼”的法典化觀念。在數字社會中,大型軟件的代碼庫通常有數百萬行的長度,為了有效管理這些代碼庫使其正常運作,軟件工程學積累了大量用來分析大型軟件代碼庫演變和結構的概念、理念和技術。“法律即代碼”的觀念將基于法典化和代碼庫在大規模文本管理需求方面的一致性,把這些軟件工程學中的代碼庫管理理念與技術引入法典編纂與修訂技術之中,將法律的公平提示原則從法典化的興起動因轉變為法典化動態發展的約束原則,實現法典化的數字轉型。對此,下文將進一步論述這種旨在打破法典化發展悖論的“法律即代碼”觀念具有何種內涵、如何實現,以及對數字社會中“代碼即法律”的二元共治研究有何影響。

二、數字時代法典化中“法律即代碼”的內涵

結合法律的公平提示原則,數字時代法典化中的“法律即代碼”觀念是指,基于法律與代碼在功能與文本管理需求方面的一致性,對法律文本的法典編纂和修訂要充分利用軟件工程學中對大型代碼庫的管理概念、理念與技術,實現易懂的文本表達、合理的結構安排、顯著的變動提示和簡潔的交叉引用四個維度的法典數字化轉型,以此保障法律的公平提示原則(法律的發布、公民認知和清晰度要求)。在此,本文將對“法律即代碼”觀念的正當性依據,以及“法律即代碼”內涵的四個維度展開論述。

(一)法律與代碼的功能與文本管理需求的一致性

自雷登伯格提出“代碼就是法律”的論述后,關于法律與代碼之間的比較研究日益增多。無論是將代碼比作網絡空間中的法律,以此論述網絡空間規制方式與現實空間的差異,還是將法律比作社會系統的代碼,以此從結構層面借鑒代碼設計的基本原則來觀察與認識法律,均是基于法律與代碼在功能層面上的相似性展開研究的。在功能層面上,代碼與法律都是由一系列規則組成,這些規則都是為了管理某些操作,法律管理人的交互操作,代碼管理計算機的交互操作。例如,代碼規定了計算機在接收到某種數據并將其輸入后得出某種數據并將其輸出的規則,法律規定了特定人(除了自然人,也包括法人、國家等擬制人)在某種環境或行為輸入后輸出特定權力或權利的規則。因此,在功能層面上,代碼和法律具有共同的特征。

隨著軟件工程對代碼文本的需求規模增大,以及社會發展對法律文本的需求規模增加,大規模的代碼文本和法律文本都將面臨著復雜化引發的可理解性降低等類似的缺陷,進而也就有了建立和管理軟件代碼庫與編纂和修訂法典的一致性需求。就如法律需要公民理解一樣,軟件工程團隊在人員流動中為了能持續維護和更新軟件,需要保障其代碼文本能夠被其他人員所理解。從促進成員對規則認知的需求層面,“代碼和法律作為實現特定目標的指令集,均需要通過過濾信息、建構模型來降低認知負擔、提高認知效率”。至少在如下兩個方面,軟件工程和法典化有著相同的大規模文本管理需求:其一,文本的簡潔性。在軟件工程中,軟件代碼庫的大小是評估開發和維護它所需工作的常用指標。每行代碼都可能包含錯誤或不必要的復雜性。因此,大量的代碼對應更大、更復雜的軟件,而這些軟件可能會有更多的漏洞。同樣,立法應當使用簡短的句子,而不是復雜或復合的句子。冗長的法律文本需要更多的時間來閱讀、解釋和修改。其二,文本的可讀性。軟件開發公司通常需要在使代碼可讀和易于理解方面投入大量資金,因為軟件工程團隊通常需要集結新的團隊成員、修復漏洞和重構現有代碼,這些任務都需要深入理解其他人編寫的代碼,而這些人通常不再能夠提供支持或說明。同樣,法律應該易于閱讀和理解,以便公民能夠理解他們的權利和義務,也讓律師、立法者、法官和陪審員能夠更有效地履行他們的職責。例如,美國參議院的立法起草手冊也強調可讀性。題為“關注讀者”的第107節規定:“草案必須為讀者所理解。本手冊中的規則應以使草案更清晰、更容易理解的方式應用。”不必要的復雜法律可能會干擾商業、經濟增長和司法公正,甚至會破壞法律的公平提示原則。

因此,可以說,法律和代碼作為均需要溝通與認知方能有效運作的規則系統,其在大規模的文本管理需求方面是一致的,而這種一致性為法典化引入軟件工程學的理念與技術、實現法律的公平提示原則提供了聯結紐帶。

(二)“法律即代碼”內涵的四個維度

在軟件工程學中,為了應對大規模代碼文本的復雜性所引發的軟件更新與維護困境,軟件工程師們會從四個角度來量化和化簡大型代碼庫中的文本復雜性:文本表達、結構安排、版本變化和引用網絡。這為我們理解軟件工程學如何將法律公平提示原則轉化為“法律即代碼”的四個維度(法律要利用軟件工程實現易懂的用詞表達、合理的結構安排、顯著的變動提示和簡潔的交叉引用)提供了方向。

首先,“法律即代碼”意味著數字時代的法典化應當利用軟件工程追求更加易懂的文本表達。軟件工程學需要保障其代碼的文本表達具有統一性、公認性、簡潔性和語境性,以保障代碼文本符合軟件工程學中最廣泛的常識性認知。這一點對于如何在法典編纂和修訂過程中保障法律的公平提示原則也同樣重要。這意味著法典編纂和修訂過程中應當利用軟件工程實現文本表達的統一性、公認性、簡潔性和語境性。統一性是指,法典在統合各項法律規則及增刪修改時應當保持用詞的統一, 避免出現對同一對象在不同規則中用多個同義詞表達或是多個對象用同一詞表達等容易讓公民誤解的情形。公認性是指,法典中的用詞定義應當以公眾可接觸的客觀工具(如詞典)而非學理觀點為準,這些工具應當是最能反映普通人而非普通律師、法官或立法者的理解。簡潔性是指,法典文本應當以盡可能簡單的詞語來表達,因為不必要的復雜詞匯將會干擾商業、經濟增長和司法公正。注重語境則是要求立法者在編纂和修改法典、司法者在解釋適用法典時應當通過注意鄰近的條款來確定文本的用詞與含義。因為基本語言學理論認為,單詞和短語的意義只存在于上下文中,更一般地說,公民只能通過參考上下文來理解特定的規則用詞含義。由此可以看到,為了保障公民對法律文本的精準理解,法典在編纂及修訂的動態發展過程中,創設與變動任意規則的用詞需要借鑒客觀的工具并考慮其對其他規則(相同用詞的規則、同一對象的規則、上下鄰近的規則等)的影響,而這些需求是可以通過有效利用軟件工程來解決的。

其次,“法律即代碼”意味著數字時代的法典化應當利用軟件工程追求更加合理的結構安排。一項評判軟件系統是否達標的要求是其是否能夠通過合理的結構安排讓軟件工程師們迅速找到影響某一操作的所有相關代碼。這種結構的合理性將會大幅影響軟件系統的后續維護與更新成本。同樣的道理,一部好的法典應當是能夠通過合理的結構安排讓公民便捷地找到特定案件相關的所有法律規則。然而,無論是法典編纂前的分散立法,還是法典規模擴張后的復雜法典,若不對法律規則進行持續性的結構管理將會導致影響同一案件的相關規則分散于法典的不同部分,即法律系統的“熵增定律”。當法律規則的分布過于無序與混亂時,公民便難以通過法律文本來全面、準確地理解法律。該問題在美國的法典化進程中較為突出,由于立法機關很少或根本不關注現有法典的整體結構,而不斷將新的法律笨拙地塞進法典已有的標題之中,導致同一案件的相關法律文本可能有數千頁之隔。然而,管理規模龐大的法典文本結構并非易事。當一項新的法律涉及的主題較小且狹窄時,現有的法典編纂技術較易將新法納入法典文本之中。但如果新法的規則數量較多、涉及多個主題,甚至包含了多個位階規則時,新法的納入就將變得尤其復雜。因此,為了保障法典動態發展中的公平提示原則,數字時代法典化中的“法律即代碼”要求法典在編纂與修訂過程中利用軟件工程持續地改進其結構安排,以促進公眾對法律具有更全面的理解。

再有,“法律即代碼”意味著數字時代的法典化應當利用軟件工程追求更加顯著的變動提示。軟件工程為了保持系統的穩定性并降低更新成本,會盡可能地減少每次更新所變動的代碼行數,并以顯著的方式標注此次更新的地方,以促進其他軟件工程師對軟件更新的理解。同樣,法典的編纂與修訂過程中,基于法律的公平提示原則應當盡量減少文本的變動,并以顯著的方式向公民提示其變動部分,以幫助公民理解法律條款的演變。然而,當法典文本的規模日益龐大時,每一次文本修正都將給公民完整理解當下有效的法律帶來巨大的信息成本。例如,美國國會甚至專門設立了眾議院法律修訂顧問辦公室,要求其及時更新法典文本并編寫相關材料來幫助用戶查找、跟蹤和理解法典的更新內容,如發布新舊法典的比較文本、編寫立法歷史、標注有效日期、制作法律條款的狀態標簽和索引等。軟件工程中則有許多高效、便捷的數字技術來幫助人們迅速理解文本的變動狀態,例如下文將會介紹的版本控制系統。因此,“法律即代碼”要求數字時代的法典修訂充分利用軟件工程技術,以合理、及時的方式來展現法典文本的整體變動,以便公眾能準確、方便地理解法律,避免過時規定所產生的深遠累積效應。

最后,“法律即代碼”意味著數字時代的法典化應當利用軟件工程追求更加簡潔的引用網絡。在軟件系統中,代碼之間存在著產生依賴性與復雜性的龐大引用網絡結構,而任何軟件工程都要求軟件工程師在必要時才使用交叉引用,并利用模塊化思想化簡引用結構,以避免產生不必要的系統依賴性和復雜性。因為這種交叉引用產生的依賴性與復雜性將會導致系統更加脆弱,一旦網絡中的某個節點代碼出現問題,將會影響整個網絡代碼的功能運作。同理,為了避免內容的重復、促進立法的便捷,法典中的條款會經常相互參照與引用,進而產生一種相互依賴的引用網絡,但規模龐大的引用網絡也會導致理解與適用法典的復雜化與困難化。這種引用網絡的規模越大,法典的復雜程度也就越高,公民想要獲知完整法律引用鏈的知識成本也就越大(尤其是公民可能需要探索多條不同的引用途徑),并且法典在后續發展過程中對引用鏈任意部分的修訂都會導致未知的、非預期的下游影響。據悉,美國法典發展至今,最長的法律引用鏈條需要經過32個引用步驟才能“游走”完。法典的引用網絡規模也成為許多學者對法典復雜性進行實證研究的基本指標之一。為了避免法典因過于復雜而難以為公民所完整理解,“法律即代碼”要求法典在動態發展的過程中利用軟件工程的理念與技術不斷簡化法典中的引用網絡,以避免法典黑箱的形成。

綜上所述,為了保障法典在動態發展中不脫嵌于社會,國家必須有效管理大規模的法典文本,以滿足法律公平提示原則所提出的三項基本要求(發布、認知與清晰度)。在數字時代的背景下,隨著以編寫和管理大量代碼文本為專長的軟件工程學的不斷發展,基于代碼與法律的功能相似性與文本管理需求一致性,提出“法律即代碼”的觀念并利用軟件工程學理念與技術保障法典在動態發展中的公平提示原則,將成為數字時代法典化的時代特征。

三、“法律即代碼”的實現路徑

在明確了“法律即代碼” 的具體內涵后, 本文將引用軟件工程學中較為基礎的概念(“圈復雜度”)、理念(“模塊化”思想)和技術(版本控制系統)來展示“法律即代碼”觀念的可行性。這三個例子在軟件工程學中僅是最為基礎的部分,但其對數字時代法典化的推動作用足以表明“法律即代碼”這個觀念的未來發展潛力。

(一)衡量文本表達復雜性的“圈復雜度”

目前,衡量法律文本表達復雜度的主要指標是文本語句的長度,即字數越少的法典表達越好。然而,軟件工程學的研究表明,文本的長度并非衡量文本表達復雜度的唯一或最佳指標,因為其無法衡量不同文本表達對整體文本結構的復雜性影響。最典型的例子便是一個連續由25個“IFOTHEN”的條件語句所構成的50行代碼將會產生多達3350萬條不同的執行路徑,其相比代碼數達500行但僅有5個條件語句的代碼,所產生的可執行路徑數量要多得多。〕這意味著在軟件工程中,過多地嵌套條件語句也會導致給定輸入的可執行路徑成倍增加,進而增加了軟件的復雜度與出錯率。同樣,法律文本的表達也充斥著大量的條件陳述和例外情況(如“如果”“除外”“但”“規定”“何時”“何地”“除非”“盡管”“在任何情況下”等表達),但過多地條件語句將會增加公民對基本規則的理解難度,甚至過多的例外表達會讓公民覺得基本規則是錯誤的。例如,美國法院在平臺革命期間不斷對通信規范法第230條中的網絡平臺責任豁免創設例外情況,以此限縮網絡平臺的責任豁免范圍,但過多的例外情況反而讓網絡平臺公司與公眾覺得該條款已無效用。同樣,美國綜合撥款法案的文本字數非常龐大,但因為條件語句使用較少導致文本間的耦合性較低,公民對其理解較為簡單,因為其只需要關注相關的少數條款就能預料法律適用情況。而美國的患者保護和平價醫療法雖然文本字數遠少于綜合撥款法案,但充斥著大量條件語句和相互引用,導致其文本間耦合性較大,公民理解非常困難,有時公民需要讀懂整部法案才能了解其情況的法律適用可能性。

因此,軟件工程學中用于衡量條件語句引入對整個系統影響的“圈復雜度”指標有助于為立法者在權衡法典編纂與修訂時是否要用條件語句來進行表達提供更加精準、客觀的指標。“圈復雜度”(有時稱為“McCabe復雜度”)是指一段代碼中的可執行路徑數,即運行該代碼所必須作出決策的次數。因此,可以將“法典的圈復雜度”指標定義為“一段法律文本的決策路徑數(或者說條件語句數),即法官在適用該法律時所必須作出是否滿足法定條件的決策次數”。在立法者與學者引入這項指標,并利用計算機統計不同法典編纂或修訂方案的圈復雜度后,便可直觀地比較不同法典編纂或修訂方案之間的復雜性。當法典的某一修正方案以條件語句的方式引入一段新的法律后所產生的圈復雜度遠大于以列舉方式引入的圈復雜度時, 這代表著用條件語句來增加或修訂既有法典將會產生巨大的復雜性。這種復雜性在當下只關注文本長度的立法研究中是很難被直觀發現的。通過引入圈復雜度的概念和指標,能夠有利于立法者和學者大規模地量化與比較不同法典編纂或修訂方案在司法實踐中所必須面臨的復雜性,進而有利于立法者與學者作出有利于保障公平提示原則的立法決策或意見。

(二)簡化系統結構與引用網絡的“模塊化”理念

基于“模塊化”的“面向對象編程”理念是當代大型軟件系統編程的基本編寫模式,也是許多開創性計算機科學論文和教科書的焦點。其核心思想是通過將軟件劃分為不同的模塊以簡化模塊之間的接口,讓系統的整體結構和引用網絡簡潔化。例如,功能強大的文字處理應用程序(如Microsoft%word)具有許多功能,包括格式化、引用管理、檢查拼寫和語法以及文檔打印選項。為了管理這種復雜的結構與引用網絡,大型軟件系統被劃分為模塊化子系統(如開始模塊、插入模塊、設計模塊、布局模塊等)。更小、更敏捷的軟件工程師團隊分別負責不同的模塊。由此,每個團隊只需了解與其模塊交互的其他模塊的輸入輸出行為,進而大幅降低了大型軟件的開發與維護成本,并提升軟件系統的魯棒性。在“模塊化”理念的指引下,好的軟件系統很容易被劃分成不同的模塊,模塊之間的接口相對稀疏和簡單。同樣,好的法典也應當很容易被劃分為不同的模塊,模塊之間條文的相互引用應當盡量稀疏和簡單。

簡要地理解“模塊化”理念的一種方法是將軟件系統看作一個網絡,其中代碼文本所用到的函數或變量看作網絡中的一個節點,如果節點a引用了節點b,則a和b之間存在一條連接。“模塊化”理念的核心在于如何調整節點來降低連接的數量并簡化網絡的結構。如原本的代碼中存在相互引用的函數或變量a、b、c、d、e(見圖1),其有6條連接。此時若把函數或變量a和e歸為同一函數或變量ae(見圖2),則軟件中的代碼連接數將會減少至4條,且結構也從一個復雜結構簡化為兩個簡單結構的疊加。

基于這種“模塊化”的理念,軟件工程學對于任何給定的軟件代碼庫,都可以構造和分析其聚合的節點和邊。由此產生的網絡結構可以深入了解軟件系統的性質,例如它的健壯性以及它的漏洞可能存在的位置。網絡圖還可以提供軟件系統中存在的不同類別的模塊。特定模塊所屬的網絡部分可以提供關于模塊如何與系統其余部分相關的信息。而在法典化研究中引入模塊化概念,有助于計算法學利用軟件工程方法將法典中各個條款之間的關聯可視化。從公眾的角度,這種基于模塊化思想的可視化實證研究能夠便于公民與法官直觀地了解法典文本的整體引用網絡,讓其能更加便捷地找到具體案件所可能涉及的相關法條,并方便學者精準、直觀地了解法典的大規模文本在演變過程中的整體結構變化。從立法者的角度,引入模塊化概念并基于此形成的可視化實證研究能夠為法典在修訂的過程中如何合理地調整篇、章結構與引用方式,來減少必要的引用、簡化法典的整體結構提供重要參考。例如,美國已有學者基于模塊化概念與軟件工程技術對美國各個法典的引用網絡進行了可視化的呈現與比較。我國在法典化過程中也可以利用軟件工程的方式進行類似的計算法學研究,這也有利于將知識圖譜技術引入法典化的公平提示原則保障機制之中,成為數字時代法典化的技術特征之一。

(三)可視化文本變動的“版本控制系統”

在大型軟件代碼庫中,會有許多軟件工程師同時處理代碼,所以需要有確保代碼更改不會破壞功能或產生沖突的機制。為此,軟件工程實踐通常采用“版本控制系統”來處理這些問題。而受軟件工程啟發的法律版本控制系統可能是未來管理法典變更的合理方法。版本控制系統的“跟蹤任務”功能可以實時提示所有軟件工程師系統目前作出了哪些更改,是誰作出了更改,什么時候進行的更改,以及其更改的理由。〔60R〕在此,本文僅以版本控制系統更改文本的方式,闡述其對數字時代法典化中公平提示原則保障的借鑒意義。

在代碼庫上工作時,軟件工程師通常會添加、刪除、修改、重新排序或重組代碼行。而有效保障多人同時協作的關鍵在于他們能夠基于版本控制系統對文本更改的可視化進行溝通。具體來說,盡管編輯軟件代碼可能涉及許多高級思維過程,但它們在版本控制系統中可以通過兩項簡單操作(添加和刪除代碼行)與他人溝通其編程的思路。因為版本控制系統會不斷地對同一文檔的兩個版本進行比較,即即時性的“對比”。當團隊成員在版本控制系統中進行代碼更改時,團隊的其他成員可以很容易地識別更改位置以及這些更改是什么(主要是通過查看紅線比較)。此外,版本控制系統對更改行數的標識可以直觀地表明修訂是大還是小, 無須人力專門對修訂前與修訂后的文本進行單獨比對。基于版本控制系統來即時性地對比文檔的兩個版本是軟件工程師共同編寫與修訂軟件代碼的基本習慣。對此,我們可以反思現有法律修正案的頒布方式———僅公布修改的文本內容,即“將XX條改為XX條,修改為:‘XXXX”。現有的這種修正案頒布方式需要對當下文本有較為全面和完整的認識才能快速理解修正案對法律的影響,這對非專業的公民來說存在著較大認知成本,對律師與法官來說也需要花費大量的時間成本去跟蹤和自行比對法典的修訂。利用軟件工程學中的版本控制系統進行法典的編纂與修訂,一方面有利于公眾參與法典編纂與修訂時的相互溝通,另一方面也有利于公眾對法典編纂與修訂后的有效法律進行直觀、快速地認知。當然,這種用于法典化運動的版本控制系統需要法學專家與計算機專家的共同努力,將法典的編纂和修訂程序納入軟件程序之中。

此外,為了快速尋找到相關文本,軟件工程師在日常工作中也會經常利用版本控制系統的查找工具。這些查找工具既有助于立法者在創設規則時統一表達用詞,也能幫助公民快速尋找到其所需的相關法律文本。與互聯網搜索引擎幫助用戶在線查找相關文檔,或“查找文件”程序幫助計算機用戶在自己的計算機上查找文檔的方式類似,版本控制系統會幫助工程師自動、快速搜索代碼庫中的特定術語或其頻率,以幫助他們完成工作。原則上,這些搜索技術也可以用于減少立法者與公眾對法典中大規模文本的認知成本,尤其是在立法者修訂涉及多個領域的相關條文時,這些查找工具將會為立法者與公眾整體性地理解法律提供助益。

上述三個例子僅是軟件工程學中保障代碼庫可理解性較為淺顯的概念、理念和技術,但足以揭示將軟件工程學引入數字時代法典化研究的重要性與可行性,即“法律即代碼”的未來發展潛力。當然,“法律即代碼”的理念除了能在法典化研究中發揮重要作用,也能為數字社會治理中的“代碼即法律”研究提供新的思路與視角。

四、“法律即代碼”與“代碼即法律”

隨著社會的數字化轉型,法律與代碼的二元共治理念已經為社會所接受。而法典化過程中因復雜性引起的黑箱問題也同時出現在了軟件工程的治理領域,“法律即代碼”的觀念據此與“代碼即法律”的觀念發生耦合。社會公眾對數字空間中具有強制性效力的代碼產生了可理解性的需求,約束法典化運動的公平提示原則自然發展為了代碼的公平提示原則,即公民行為在受到代碼的規制前,必須被告知并理解該代碼中的相關規則。大型軟件系統中的代碼黑箱問題也就不再僅僅是工程師們所關注的技術問題,而成為政府、企業與公眾所共同關心的社會熱點。這種代碼黑箱問題會導致人們難以理解代碼規制社會的具體邏輯,進而無法對代碼產生信任,甚至會擔憂和恐懼在數字社會中被代碼暗中操控。此時,代碼之治所遇到的黑箱問題實質上與法典化所面臨的復雜性問題具有一致性, 而從法律的公平提示原則出發研究代碼之治的規制問題自然也就成為一個重要視角。

對此, 一些學者試圖將法律公平提示原則的三項實體性要求直接適用于代碼之治的規制之上,即追求代碼的公開發布、公民認知和清晰明確。例如,有學者提出了設立以實現代碼公開為目標的解釋權和排他權,前者要求軟件開發者能夠以用戶理解的方式讓他們認知代碼文本,后者通過排他權保障軟件開發者的商業利益,據此鼓勵他們公開代碼文本。然而,這些觀點受到了不同程度的批評,單純的代碼公開已被認定為一種無益于代碼公平提示原則的規制方式。但有趣之處在于,這些批評的理由與當代批評法典化運動無益于法律公平提示原則的理由類似。如軟件的代碼文本與法典的法律文本均因文本規模較大、用語專業晦澀和引用結構復雜,導致單純地公開發布文本也無益于相關利益者理解其涉及的具體代碼或法律的內涵,因為其完整、準確理解相關代碼或法律的認知成本已遠超其收益。而對于旨在加強更寬泛意義上代碼公開的解釋權,有一部分學者也指出,其并非是圍繞代碼文本的解釋, 而是圍繞軟件開發者與其他利益相關者之間如何達成代碼規制信任的解釋,這已不再局限于單純的代碼公開,而是涉及溝通問題。這些通過延伸解釋權來保障代碼公平提示原則的主張已經不再停留于代碼的公開,而是轉變為思考如何在不同應用場景下促進公眾參與和充分溝通來保障代碼之治的正當性與合理性。這些恰恰也是法典化研究目前所追求的目標———如何促進公眾參與和充分溝通來保障法典編纂和修訂的正當性與合理性。因此,在“法律即代碼”和“代碼即法律”兩種觀念的耦合作用下,公平提示原則作為法典化與代碼之治中共通的核心原則,為計算法學的法典化研究和代碼治理研究指明了一個全新的路徑,即促進多方關于法律/代碼溝通的程序視角。

在基于法律程序的溝通視角下,代碼的公平提示原則作為代碼之治的正當化機制將通過法律程序的創設而非實體性要求來實現。基于法律程序對法典的編纂、修訂和適用分別創設了立法程序和司法程序,基于法律程序的代碼之治可以為代碼的研發決策、適用決策和自動化決策分別創設狹義的技術性正當程序、算法論證程序和嵌入性正當程序。如狹義的技術性正當程序將目光聚焦于軟件工程師與平臺需求方之間針對代碼研發的溝通過程,要求軟件工程師在作出相應的決策時作出可使其他軟件工程師和需求方理解與認可的人類間溝通。這在代碼即法律的數字社會以前,是由計算機的職業倫理所規定,但在進入代碼即法律的數字社會后,研發大型平臺軟件系統的工程師們就必須有一套法律程序來保障他們與平臺需求方之間的溝通,進而保證大型平臺的軟件至少包含具有平臺所設想的價值與理念。當然這種狹義的技術性正當程序只保障了代碼在軟件工程師與平臺需求方之間的正當性,為了進一步將其正當性從平臺需求方擴展至平臺用戶,需要類似于法律論證程序的算法論證程序。“算法論證程序”是指,算法應用主體按照特定標準和條件整理利益相關方通過一定順序、方式和步驟得出的意見后,對其算法應用的決定(即選擇某項數據處理或代碼構建的邏輯規則作為決策規則嵌入特定社會領域)作出可使利益相關方理解與認可的溝通過程。而當代碼構建的系統具有擬主體性且能夠自行進行決策后,聚焦于人機溝通的嵌入式正當程序也就成為了自動化決策中保障代碼公平提示原則的重要機制。對算法論證程序和嵌入式正當程序,已有專門論文進行討論,就不再贅述。但在此已可以看出,提出“法律即代碼”觀念的意義將會不局限于打破法典化的發展悖論,其更有將數字時代法典化中的公平提示原則引入代碼治理領域之中,并為計算法學在立法研究和算法規制研究方面指明了“溝通—程序”的研究方向。

結語

隨著我國法典化運動的興起,各領域學者紛紛著手從學理角度探求一部完整性、體系性和普遍性的法典文本。然而,法典化運動并非一項一勞永逸的事業,隨著社會的發展,法典在出臺后必然會面臨持續性的修訂,若不對法典文本的動態發展加以約束,將會形成一個任何個體都無法完全理解的法律黑箱。為了打破這種法典化的發展悖論,提出“法律即代碼”的觀念,并據此引入軟件工程學的理念與方法是數字時代法典化的必需。基于法律與代碼在功能與文本管理需求方面的一致性,“法律即代碼”的觀念,是指對法律文本的法典編纂和修訂要充分利用軟件工程學中對大型代碼庫的管理概念、理念與技術,實現易懂的文本表達、合理的結構安排、顯著的變動提示和簡潔的交叉引用四個維度的法典數字化轉型,以保障法律的公平提示原則(法律的發布、公民認知和清晰度要求)。在軟件工程學中,“圈復雜度”的概念有助于重塑我們對法典文本復雜性的理解,“模塊化”思想的理念則有助于我們可視化與簡化法典文本的引用結構,版本控制系統的技術則有助于我們高效地理解與管理文本的變動情況。這些基礎概念、理念和技術對數字時代法典化的推動作用足以表明“法律即代碼”這個觀念的未來發展潛力。而“法律即代碼”的觀念同樣也會與“代碼即法律”的二元共治理念產生耦合,將法典化中的法律公平提示原則轉化為代碼的公平提示原則,并指出計算法學在立法研究和算法規制研究方面的可行方向,即促進多方關于法律/代碼溝通的程序治理。此處的“程序”將會是法律程序與算法程序之和,是法學研究與計算機科學研究的交叉應用。

主站蜘蛛池模板: 91精品专区国产盗摄| 久久网综合| 九九热视频精品在线| 国产成人1024精品| 日本不卡在线播放| 亚洲日本在线免费观看| a国产精品| 精品久久蜜桃| 国产主播喷水| 2021国产在线视频| 无码一区中文字幕| 在线看片中文字幕| 国产一级精品毛片基地| 中文字幕日韩丝袜一区| 99精品免费欧美成人小视频| 亚洲水蜜桃久久综合网站| 国产午夜无码专区喷水| 欧美激情网址| 亚洲AV无码久久精品色欲| 免费a级毛片视频| 日韩高清中文字幕| 国产乱码精品一区二区三区中文 | 欧美日韩第三页| 国产成人一区二区| 欧美α片免费观看| 91久久夜色精品国产网站 | 国产拍揄自揄精品视频网站| 中文字幕一区二区视频| 亚洲人成网站色7777| 狠狠综合久久久久综| 日本不卡视频在线| 国产一二三区在线| 国产成人综合网在线观看| 伊人久久婷婷| 久久亚洲高清国产| 亚洲妓女综合网995久久 | 国产高潮视频在线观看| 91精品国产麻豆国产自产在线 | 日本91在线| 99热国产在线精品99| 很黄的网站在线观看| 丝袜亚洲综合| 国产一级裸网站| 亚洲欧美日韩精品专区| 国产精彩视频在线观看| www.日韩三级| 热伊人99re久久精品最新地| 国产一级妓女av网站| 女人18一级毛片免费观看| 国产乱人免费视频| 巨熟乳波霸若妻中文观看免费| 老色鬼欧美精品| 婷婷色中文| 狠狠干欧美| 色一情一乱一伦一区二区三区小说| 99久久性生片| 91成人在线免费视频| 欧美亚洲中文精品三区| 超碰色了色| 97超级碰碰碰碰精品| 欧美日韩高清| 国产偷国产偷在线高清| 在线高清亚洲精品二区| hezyo加勒比一区二区三区| 2021国产精品自产拍在线| 久久99这里精品8国产| 狠狠亚洲五月天| 狠狠色婷婷丁香综合久久韩国 | 亚洲欧美不卡中文字幕| 国产成人区在线观看视频| 亚洲va视频| 久久精品日日躁夜夜躁欧美| 国产尹人香蕉综合在线电影| a在线观看免费| 另类综合视频| a级毛片网| 另类综合视频| 98精品全国免费观看视频| 亚洲妓女综合网995久久| 欧美97色| 国产成人乱码一区二区三区在线| 国产精品片在线观看手机版|