scieee AI-readable full text Open interactive document viewer

ПРЕВАЗИЛАЖЕЊЕ РАЗЛИКЕ ИЗМЕЂУ ПРАВА И ПРОГРАМСКОГ КОДА: ПРЕГЛЕД МОГУЋИХ ПРИСТУПА

Cvetković, Predrag

Full text

437 UDK: 34:004.9 UDK: 004.738.5:34 UDK: 347.44:004.4`234 DOI: 10.5281/zenodo.17949890 Др Предраг Н. Цветковић,* Редовни професор, Правни факултет, Универзитет у Нишу, Република Србија ПРЕВАЗИЛАЖЕЊЕ РАЗЛИКЕ ИЗМЕЂУ ПРАВА И ПРОГРАМСКОГ КОДА: ПРЕГЛЕД МОГУЋИХ ПРИСТУПА** Апстракт: Рад анализира могућности и изазове претварања правних норми у програмски код, настојећи да дефинише методолошке и технолошке оквире за интеграцију права и програмирања. Полазна теза заснива се на сличности правних и програмских језика у структури закључивања, али и на различитости њихове семантичке и логичке природе. Истражују се ограничења програмибилности норми, нарочито код правних стандарда и начела који захтевају интерпретацију. Као решења предлажу се: примена принципа дигиталне спремности, увођење спецификација упућених програмеру, мапирање и модуларна анализа правних докумената, као и онтолошко моделовање путем UML и BPMN метода. Посебно се истиче улога онтологија у стандардизацији правне семантике и визуелизацији правних односа. Закључује се да је неопходна стандардизација формата, интеграција онтологија и едукација правника за коришћење дигиталних номотехничких алата. Претварање права у код не значи његову редукцију, већ трансформацију у нови, интероперабилни облик који омогућава примену права у дигиталном окружењу. Кључне речи: дигитализација, право као код, паметни уговори, BPMN, UML, онтологија права. * [email protected], ORCID ID 0000-0001-8505-446X. ** Рад је резултат истраживања на пројекту „Одговорност у правном и друштвеном контексту“, који финансира Правни факултет Универзитета у Нишу у периоду од 20212025. године. ����������� ������ ������������ „����� � ��������� ���������” | 2025 438 1. Увод Савремено доба условило је потребу интегрисања права и програмирања. Описану интеграцију омогућавају две чињенице. Прво, заједнички именитељ правног и програмског језика јесте структура закључивања: и један и други језик базирани су на правилима чијом применом се долази до одређених образложених ставова чији настанак може да се реконструише. Програмски језик прати стриктна правила програмирања; језик правне прозе, пак, заснован је на језичким принципима природног језика у функцији формулисања правног правила. Друго, сличност правног правила и програмирања је што програмер, као и правник, процесуира одређене податке поступајући у складу са задатим правилима структуре и формата. Правни документи пишу се на природном језику. Компјутери не разумеју овај језик: он је често двосмислен и неодређен и тиме нефункционалан за потребе програмирања. Конвертовање правила из уговора на “природном језику” (е. “Natural Language”) у програмски код захтева да се превазиђе разлика између ова два начина изражавања. Илустрација ових разлика је следећа: програмском језику, реч „испорука” посматра се само као низ симбола (е. „string“), а не назив за обавезу продавца да преда робу купцу. „Испорука“ је за програмера објекат који захтева формализоване инструкције и дефинисање секвенци поступања усмерених ка предаји робе од продавца купцу код уговора о продаји. Рачунар анализира правну прозу (не чита је да би разумео контекст, јер то и не може) тако што је дели, детектује обрасце и дефинише статистичке податке о анализираном тексту (Ashley, 2010: 132-135). 2. Изазови претварања правне норме у програмски код 2.1. Разлика у програмибилности правних норми Нису сва правила једнако подобна за дефинисање у форми програмског кода. Наредбодавна правила, будући недвосмислена и без терета додатних тумачења посебно су подобна да буду предмет програмирања. Реч је о правилима у бинарној форми: понашање је или дозвољено или није; одређена ситуација је или правно дозвољена или је забрањена). Ефекти и последице примене (односно непримене) ових правила су мерљиви. Како и програмски код функционише у бинарној форми (уко- П. Цветковић | стр. 437-452 439 лико је испуњен одређен услов код се извршава; уколико није, код се зауставља), ова правила су погоднија за алгоритмирање 1 и претварање у код. Бинарна структура логичке импликације ИФТТТ (е. “If this, than that”: „ако је ово, онда је то“), међутим, није карактеристика правних стандарда (Mohun, Roberts, 2020: 1-109): стога програмер може да одредбе са таквом, дискреционом природом, остави на тумачење одређеној особи или институцији (можда и ономе ко је код наручио). Овакво решење, међутим, смањује функционалност правне норме у програмском коду, с обзиром да се искључује њено аутоматско деловање. Теоријски је могуће да се ex ante дефинише кључ за тумачење правних стандарда и термина (оних који нису прескриптивна): тиме би се „објективизирало” значење ових одредби на начин који омогућава програмерима да их укључе у програмски код. Чини се да се увођење „претходног” тумачења коси са схватањем да је сврха стандарда и начела да омогуће индивидуализацију конкретних случајева. Правна интерпретација се примењује на потпуни скуп чињеница (које су познате ex post facto, а не ex ante). Насупрот томе, програмирање подразумева расположивост свих чињеница у моменту програмирања: дакле, ex ante, а не ex post facto. Стога је овај приступ суштински нефункционалан у контексту програмирања правне норме. 2.2. Логичке неконзистентности Значајан изазов претварања правне норме у програмски код јесу потенцијалне логичке недоследности у нормативним текстовима (нпр. постојање две одредбе које су једна другој у супротности. Инстиктивни приступ програмера је да кодира обе одредбе, без обзира што су контрадикторне: програмиранје искључује субјективну интерпретацију које изричито нема у тексту правног правила. Резултат таквог превода је дословна конверзија природног језика у код на што објективнији начин: тиме се, међутим, смањује могућност да се оствари изоморфизам (израз којим се означава функционално јединство правне норме и верзије те норме у програмском коду). Да ли би програмер правне норме требало да уместо дословног превођења норме у линију кода (превода лишеног разматрања контрадик1 Алгоритмирање је израз за претварање одређеног процеса у алгоритам. Алгоритам је план решавања одређеног проблема кроз предузимање појединачних корака. У правном контексту, алгоритам је посебан начин управљања понашањем одређених субјеката (адресата норме, уговорних страна). Описано управљање спроводи се одабиром информација о понашању страна, те контролом и усмеравањем спровођења норме у складу са тим понашањем. ����������� ������ ������������ „����� � ��������� ���������” | 2025 440 торних значења) решава сам контрадикцију правног документа (прописа, уговора) који се у код преводи? Позитиван одоговор претпоставља правно знање програмера: постоји теза да би програмер требало да „опонаша приступ правосуђа”. Овај приступ говори о разлици у приступу правника и програмера: правници траже аналогију у тумачењима, што се не може изједначити са „опонашањем” решења као концептом који је близак програмерима као инжењерски оријентисаним експертима. Претварање правне норме у програмски код захтева интерпретацију правних правила. Циљ тумачења је да програмски код буде дефинисан на начин који је у складу са правним правилима: стога правна правила могу да тумаче само они који имају правници. Могући оквир сарадње правника и програмера је тзв. „систем правне експертизе” (е. „Legal Expert System”: даље и: ЛЕС). У основи, овај систем генерише снагу „правног инжињеринга”: две експертизе које имају за циљ да обезбеде успешну дводимензионалну анализу ангажованих питања (правну и програмерску). Синтагма ЛЕС означава програм који су конципирали правници и који имитира решавање проблема од стране правника. Циљ ЛЕС јесте: стицање знања програмера о правним институтима који су предмет програмирања; интеграција тог знања у ЛЕС, те контрола и тестирање програмског кода кроз сарадњу програмера и правника.2 3. Правазилажење тешкоћа претварања правне норме упрограмски код 3.1. Принцип дигиталне спремности Правне норме традиционално се формулишу у природном језику. Овај је формат неподобан за ситуације у којима право мора да „комуницира” са компјутерским програмима због вишезначности, недостатка стандардизоване универзалне структуре и ограничене могућности фор2 Експерти који учествују у описаним активностима називају се „инжењерима правног процеса”. Они могу да буду правници и/или програмери. У садашњем тренутку развоја односа права и програмирања, вероватније је да појам обухвата најмање два лица са различитом експертизом: примарном (право или програмирање) и секундарном (основна знања из права или програмирања). Де леге ференда, и много пре него што се то до скора очекивало, програмерско и правничко знање биће предмет јединствене експертизе. Ово је неопхохдност тржишта коју би требало да препозна и академија, односно институције правног образовања. Реч је о питању које захтева сепаратну и темељну анализу која излази из оквира овог чланка. Горе наведени начелан став заснива се на експоненцијалном развојоу вештачке интелигенције и у крајњем диктату тржишта. П. Цветковић | стр. 437-452 441 малне обраде. Дигитализација права захтева нови приступ писању правних текстова како би се обезбедила програмибилност правне норме: овај термин означава околност да је правна норма у формату који рачунари могу да читају и процесуирају. Тиме се повратно од рачунара/програмског кода добијају јасне и разумљиве информације које правник може даље да користи: програмски код више није „црна кутија“ већ скуп за правника читљивих и и применљивих података. Стога је могући одговор на изазове претварања правне норме у програмски код иновативност у номотехникама. Један од тих принципа је принцип дигиталне спремности. Принцип дигиталне спремности почива на претпоставци да је правну норму могуће претворити програмски код, тако да верзија у формату програмског језика буде функционално еквивалентна „аналогној”/текстуалној верзији норме: законодавац дефинише јединствену кодирану верзију прописа која је доступна јавности и програмерима (а не само државним оргранима) кроз АПИ протокол (е. „Application Programming Interface”).3 Очекивани развој био би да се правила формулишу у двоструком формату (аналогном и дигитализованом/кодираном). Тиме би рачунар могао да „прочита” и тумачи логику правне норме у формату линије програмског кода.4 Постоје конкретни напори држава да спроведу принцип дигиталне спремности. Данска је кроз смернице које је дефинисала Агенција за дигитализацију дефинисала седам услова чије кумулативно испуњење значи да је пропис „дигитално спреман”.5 3 Протокол АПИ састоји се од скупа уобичајених поступака, протокола и програмских алата који се користе у изради софтверских апликација. Коришћење АПИ-ја омогућава програмерима да користите рад других програмера штедећи време и труд који је потребан да се напише неки сложени програм, при чему сви програмери користе исте стандарде. Уместо да се нови програми пишу нови из темеља, надограђује се рад других програмера. 5 Наведени принципи су између осталог, једноставност и јасноћа прописа, њихова аутоматска примена, безбедно и сигурно управљање подацима. Видети: Gøtze, M, Digitally Ready Legislation in Danish Law: the Strengths and Weaknesses of Digital Simplicity in New Legislation; рад у Weaver, R. L., & Hofmann, H. C. (Eds.). (2022). Digitalisation of Administrative Law and the Pandemic-reaction. Cambridge Scholars Publishing., стр. 134. 4 Описани приступ конкретизује се кроз појам тзв. „дигиталне агилности”. Овај појам суштински значи да је потребно да се правила у форми стандарда и принципа (којима је инхерентан виши ниво флексибилности и значајнија улога дискреције у интерпретацији; стога је и мање подобна за примену начела „дигиталне спремности”) користе само онда када је то заиста неопходно. Питање је да ли је овакав приступ оправдан, јер се њиме мењају поставке правничке културе. ����������� ������ ������������ „����� � ��������� ���������” | 2025 442 3.2. Спецификација упућена програмеру као пасарела између права и програмирања Задатак програмера је да рачунарски програм верно одражава слово и снагу правне норме. Начин на који се програми пишу и функционишу захтева од програмера да изрази своју намеру у одређеном облику логике или статистичког модела који намеће програмски језик. Стога претварање правне норме у програмски код претпоставља да правна норма, услови њене примене, адресати, ефекти и престанак буду у формату који је близак логици програмера: само на тај начин програмер ће бити у стању да тако дефинисану норму „преведе” у текст програмског кода.. Наведено форматирање назива се спецификацијом која је упућена програмеру. Верност спецификацији коју је дао наручилац програмирања норме значи да програмер не кодира дословно текст, већ има на уму циљ, „функцију” норме која се програмира. Спецификација је водич за програмера: елиминишу се негативни резултати дословног превода норме у код. Наведени приступ подразумева коришћење различитих извора (предлога закона, припремних документа међународних споразума – фр. Travaux préparatoires) уколико програмер сматра да могу да укажу на начин тумачења правног правила у контексту претварања тог правила у код (Reiss, Nord, Vermeer: 90-91, 93). Ови приступи могу да укључе и одређене аспекте пресуде попут делова са карактером obiter dictum. Тиме би се кодирање јасно разликовало од пуког превода текста у програмски код (превода који се реализује без узимања у обзир ширине примене норме која се у код претвара). Уз приступе који ће бити предмет овом раду (мапирање и онтолошко моделовање),6 могу се препознати још и следећи приступи који помажу 6 Видети infra излагање у тач. 3.2.2. П. Цветковић | стр. 437-452 443 спецификацију: коришћење текста као податка (е.“text-as-data”)7 и коришћење анотације.8 3.2.1. Мапирање и мрежна анализа правних докумената Правни документ има карактеристике мреже: одредбе прописа или уговора функционишу као део целине, улазе у интеракцију са том целином и са другим елементима документа у питању. Кључни делови се јављају као фактор који опредељује друге, повезане одредбе (нпр. дефиниција одређеног института у пропису утиче на примену других правила у којима се та дефиниција, овог пута са задатом садржином, користи). Правни документ се посматра као мрежа у којој су клаузуле чворови, а њихове интеракције везе. Тиме се омогућава управљање ризицима кроз системску анализу. Мапирање је припрема документа за претварање у програмски код и обухвата: рашлањивање документа на кључне (конститутивне) услове (одредбе; чворове у контексту уговора као мреже); утврђивање међусобне интеракције ових услова и њихове 7 Анализа правних докумената као података омогућава нову димензију њиховог сагледавања и примене, посебно када је у питању одступање од намераваног циља норме или правног документа који је конвертован у податке. Другим речима, правна норма престаје да буде статички текст и постаје објекат извршења/испуњења у дигиталном систему. Пример овог приступа је анализа текста преференцијалних трговинских споразума (е. „Preferential Free Trade Agreements” - ПТА) методом претварања правних норми у податке и поређењем текста. Илустрације ради, анализа је показала да: префереенцијални споразуми формирају сложену мрежу клаузула и интеракција; одређене клаузуле мигрирају из једног уговора у други (дифузија формулација из једног у више ПТА споразума); постоји регионална и секторска конвергенција у правном језику. Видети више у: Alschner, W., Seiermann, J., & Skougarevskiy, D. (2017). Text-as-data analysis of preferential trade agreements: mapping the PTA landscape.. Преузето 20. 02. 2023. https://repository.graduateinstitute.ch/record/295258/�iles/CTEI-2017-13-ASS_ Mapping%20PTAs.pdf. 8 Анотација текста додатним подацима (е. “Data-Annotation”) је појам којим се обухвата означавање кључних делова текста додатним метаподацима (подацима о тим деловима). Rättzén (2022) развија концепт анотације у контексту аутоматизоване провере уговора, наглашавајући да је анотација истовремено правни и технички задатак. а пример, у клаузули о ограничењу одговорности могуће је означити и додатно објаснити (анотирати) метаподацима („подацима” о подацима) елементе попут: �� <party> – означава уговорне стране; �� <obligation> – дефинисане обавезе; �� <limit> – ограничења одговорности (нпр. максимални износ). Видети: Rattzen, M. (2021). Automated Contract Review: Challenges and Outcomes of a Data Annotation Framework. Jurimetrics, 62, 225. стр. 225, 232, passim. ����������� ������ ������������ „����� � ��������� ���������” | 2025 444 интеракције са уговором као целином. Тиме се омогућава да се анализа ризика модификације које је у традиционалном смислу предмет правне анализе и интуиције, спроведе на процедурално дефинисан, мерљив и контролисан начин: резултат такве анализе могуће је превести у контекст аутоматизације и рачунарске обраде, односно у крајњем у програмски код. Мапирани правни документ, припремљен за програмирање, престаје да буде искључиво текстуални израз воље законодавца или уговорних страна и постаје део шире дигиталне инфраструктуре права: његова инхерентно комплексна структура сагледава на начин сличан анализи коју спроводи програмер. Мапирање правног документа има низ практичних импликација: Тумачење документа: судови и арбитраже могу користити мрежну анализу како би разумели односе међу одредбама документа, нарочито када се поједине одредбе међусобно контрадикторне. Провера правне кохерентности: софтверски алати засновани на мапирању правног документа омогућавају аутоматску проверу конзистентности и предвиђање ефеката измене појединих клаузула. На пример, уколико се у пропоису измени дефиниција „повезаног лица”, програмер може аутоматски да промене других одредби које у својој структури узимају као задату дефиницију која се мења. Компаративна анализа – путем мапирања уговора могуће је упоредити документе који регулишу исти правни феномен али припадају различитим јурисдикцијама. Једна од особина правних докумената која користи њиховом мапирању је модуларност. Теорија модуларности потиче из кибернетике. Временом је постала централни принцип дизајна рачунарских система (Baldwin, Clark, 2000). Модуларност доприноси да се ефикасно управља сложеношћу комплексних система. Присуство интеракција чини да промена једног елемента (чвора) система изазива каскадне промене у целом систему. Модуларност омогућава да се сложени системи разложе на једноставне компоненте са јасним и мерљивим везама: тиме се спречава да мрежна структура постане неуправљив конгломерат међусобних интеракција.9 9 Херберт Симон, добитник Нобелове награде за економију и пионир у проучавању сложених система, илустровао је предности модуларног дизајна примером о разлици о успешности два произвођача сатова. Реч је о сатовима који су сложени производи са око 1000 делова и за којима постоји тражња на тржишту. Часовничар А успева да одговори на све већи број поруџбина тако што конструише сатове од подсклопова (модула) при П. Цветковић | стр. 437-452 445 У контексту правног документа, модуларност се често налази код уговора. Уговори се састоје од модула којима се одређују сегменти уговорног односа (гаранције, права и обавезе, одговорности, решавање спорова). Свођење уговора на модуле може да поједностави трансакције тиме што их уређује споразумима којима је лакше управљати због њихове модуларности. Тиме се смањују трансакциони трошкови настанка уговора. Иако модуларност нуди предности, она носи и значајне ризике. Три основна ризика су: Интертекстуализам – клаузула може изгледати јасна када се посматра изоловано, али у интеракцији са другим клаузулама губи смисао или добија ново значење. Пример: клаузула о раскиду „у случају материјалног кршења“ може бити нејасна ако уговор не прецизира шта се сматра „материјалним“. Одступања од намераваног резултата примене (модуларни „дрифт”): клаузуле се „трансплантују” из једног контекста у други, где производе нежељене ефекте. Пример: клаузула о надлежности из уговора о софтверској лиценци може изазвати проблеме ако се пренесе у уговор о некретнинама, јер не узима у обзир специфичне регулаторне оквире. Латентни окидачи – одређене комбинације клаузула производе неочекиване последице, које нису очигледне на први поглед. чему сваки подсклоп има десет елемената: дакле, постоји десет подсклопова (модула) са 100 делова; сваки од ових десет подсклопова ссе и сам састоји од десет модула са по десет делова. Тиме часовничар А обезбеђује да, када мора да прекине посао склапања сата, има очувану структуру већег дела претходног рада: склопљени сат се не распада у потпуности, већ само основни (најмањи) подсклоп (модул) који има десет делова. Остали, претходно склопљени модули, остају део сата и он губи само мали део свог рада. Са друге стране, часовничар Б прекида посао у случају сваке нове поруџбине: његов сат није састављен од модулираних сегмената, већ од делова који се распадају у целини када се посао прекине. Сваки пут када прекине склапање, часовничар мора да крене на склапање из почетка. Видети: Simon, H. A. (2019). The Sciences of the Arti�icial, reissue of the third edition with a new introduction by John Laird. MIT press. стр. 189-190, https://monoskop. org/images/9/9c/Simon_Herbert_A_The_Sciences_of_the_Arti�icial_3rd_ed.pdf, Преузето 01. 12. 2022. ����������� ������ ������������ „����� � ��������� ���������” | 2025 452 Prof. Predrag N. Cvetkovic, LL.D, Full Professor, Faculty of Law, University of Niš, Republic of Serbia BRIDGING THE GAP BETWEEN LAW AND COMPUTER CODE: AN OVERVIEW OF POSSIBLE APPROACHES Summary The paper analyzes the possibilities and challenges of transforming legal norms into a computer code, with the aim of de�ining methodological and technological frameworks for integrating law and programming. The initial premise lies in the structural similarity of legal and programming languages, but also in their semantic and logical differences. The study explores the limits of norm programmability, particularly regarding legal standards requiring interpretation. The proposed solutions include the principle of digital readiness, programmer-oriented speci�ications, legal text mapping, modular contract analysis, and ontological modeling through UML and BPMN methods. The role of legal ontologies in standardizing semantics and visualizing legal relations is emphasized. The conclusion highlights the necessity of formal standardization, ontology integration, and the education of legal professionals for digital legislative design. Transforming law into code does not reduce its meaning but reshapes it into an interoperable and veri�iable system suitable for the digital legal ecosystem. Keywords: digitalization, law as code, smart contracts, BPMN, UML, legal ontologies.