Право как язык программирования
(Лисаченко А. В.) («Российский юридический журнал», 2012, N 5)
ПРАВО КАК ЯЗЫК ПРОГРАММИРОВАНИЯ <*>
А. В. ЛИСАЧЕНКО
——————————— <*> Работа была впервые опубликована на английском языке под названием «Law as a programming language» в журнале «Review of Central and East European Law». 2012. N 37 (1). P. 115 — 214.
Лисаченко Алексей Владимирович, кандидат юридических наук, доцент кафедры гражданского права Уральской государственной юридической академии (Екатеринбург).
Автор проводит аналогии между миром правовым и компьютерным. Право последовательно рассматривается как сборник программ, язык программирования и программная среда человеческого общества. Исследуются социальные роли в этой триединой системе и указывается на опасность превращения права из гуманистического в механистическое.
Ключевые слова: право, программирование, законодательство, правовая наука, правотворчество, программная среда.
Law as a programming language A. V. Lisachenko
The author draws a parallel between the world of law and computer world. Law accordingly can be seen as a collection of programs, as a programming language and as a programming environment of human society. The social roles are highlighted in this tripartite system and the author points to the dangers of turning law from something humanistic into something mechanistic.
Key words: law, legal drafting, legal science, legislation, programming, programming environment.
Весь мир — театр. В нем женщины, мужчины — все актеры. У них есть выходы, уходы, и каждый не одну играет роль.
Шекспир У. Как вам это понравится
Украл — выпил — в тюрьму.
«Джентльмены удачи» (культовый советский фильм)
Закон и перфокарта
Вавилонский царь Хаммурапи как создатель древнейшего из дошедших до нас сводов законов и французский ткач Жозеф Жаккар как изобретатель перфокарты — что у них может быть общего? Эти совершенно разные люди, жившие в разное время и занимавшиеся абсолютно несхожими делами, едины в одном: каждый из них создал упорядоченную систему действий, алгоритм решения определенной задачи. Жаккар изобрел ткацкий станок, как сказали бы сейчас, с программным управлением: узор на ткани задавался автоматически благодаря заранее нанесенным на перфокарту в определенной последовательности отверстиям. Хаммурапи оставил потомкам правила-шаблоны, предписывающие совершение тех или иных действий в конкретных ситуациях — тоже своего рода перфокарты. В результате решения стали приниматься судьями без индивидуальных особенностей, а так же автоматически, как возникал узор на станках Жаккара.
Если в картоне пробита дырочка, игла Если человек совершил ограбление и опускается в отверстие и образует был пойман, то этот человек должен элемент узора. быть убит.
Ни от ткача, ни от судьи для достижения необходимого результата уже не требовались исключительные способности, в том числе к творчеству. Достаточно стало знания набора заданных шаблонов и умения их применять. Искусство переродилось в ремесло. В настоящий момент ситуация не слишком изменилась: изучение студентами-юристами материального и процессуального права как раз и представляет собой освоение созданных другими людьми «перфокарт» и порядка их использования. Разработка новых шаблонов стала прерогативой очень небольшого числа людей (как правило, наиболее квалифицированных), а затем плоды их труда распространяются для всеобщего применения. В разных правовых системах этот процесс несколько различается, но и наш закон, и английский судебный прецедент, и шариатская сунна — лишь разные проявления одной и той же закономерности.
Программы в нас и вокруг
Согласно одному из определений, данных в Большой советской энциклопедии, программа — это упорядоченная последовательность действий, реализующая алгоритм решения некоторой задачи. Жизнь всякого существа на Земле происходит по заранее заданной биологической программе, и человек не исключение. Биологическая программа «рождение — взросление — размножение — старение — смерть» заложена в нас генетически. На социальном уровне существует бесчисленное множество программ и программных сред, где эти программы создаются и работают (семья, церковь, община, школа, армия, работа и т. п.; перечисленными Шекспиром семью ролями дело заведомо не ограничивается). В них формируются и функционируют такие «программные комплексы», как, например, общественная мораль, правила этикета, религиозные дозволения и запреты и т. д., вплоть до правил поведения за столом и корпоративных традиций. «Уходишь в отпуск — выстави коллегам угощение» — пример короткой социальной программы.
В трех лицах
Нас в данной статье интересует одна составляющая многообразного мира социальных программ — право. Составляющая эта уникальна, поскольку существует одновременно на трех уровнях, в трех ипостасях.
Уровень первый: право как сборник программ
На вопрос «Что такое право?» и первокурсник юридического вуза, и среднестатистический обыватель ответит: «Это всякие законы», подразумевая под этим систему актов, содержащих общеобязательные правила поведения. Каждая норма в таких актах — это алгоритм, либо представляющий собой программу, либо являющийся ее элементом. Возьмем те же законы Хаммурапи, выберем наугад норму, например: Если человек украл либо вола, либо овцу, либо осла, либо свинью, либо же лодку, то, если это принадлежит богу или дворцу, он должен заплатить в тридцатикратном размере, а если это принадлежит мушкенуму, он должен возместить в десятикратном размере. Если вор не имеет чем платить, он должен быть убит <1>. ——————————— <1> URL: http://www. hist. msu. ru/ER/Etext/hammurap. htm.
Перед нами точная инструкция судье по решению дела: при наличии такой-то диспозиции должна последовать следующая санкция. Теперь представим, что на судейском месте стоит электронно-вычислительная машина. Та же простенькая программка, если изложить ее вместо древневавилонского на языке BASIC (да простят меня профессионалы за намеренное упрощение), будет выглядеть примерно следующим образом: CLS INPUT «Введи стоимость похищенного», (A) PRINT «Кому принадлежит украденное? Богу? Дворцу? Мушкенуму?» INPUT «Введи ответ», (B) IF B = Богу THEN SUMMA = A x 30 IF B = Дворцу THEN SUMMA = A x 30 IF B = Мушкенуму THEN SUMMA = A x 10 С = SUMMA INPUT «Сколько может заплатить вор?», (D) IF D < C THEN PRINT «Убить его» ELSE PRINT «Пусть заплатит», (SUMMA) END На входе — ответ на вопросы о стоимости похищенного и о его законном владельце, на выходе — сумма штрафа или смертный приговор. Как видите, в данном теоретическом примере нет никакой разницы в функционировании судьи, руководствующегося нормой закона, и ЭВМ под управлением программы. Разумеется, сегодняшние нормативные акты не в пример сложнее законов Хаммурапи, но ведь и современные компьютерные программы пишутся отнюдь не на языке BASIC. С этой точки зрения любой кодекс можно сравнить с серьезной автоматизированной системой управления каким-либо процессом (например, технологическим или бизнес-процессом в большой организации).
Уровень второй: право как язык программирования
Многие социальные программы возникают стихийно, самопроизвольно, а некоторые, возможно, даже являются для нас врожденными, но не правовые. Правовые нормы все-таки создаются людьми, и деятельность этих людей вполне подпадает под найденное в той же Большой советской энциклопедии определение программирования как процесса составления упорядоченной последовательности действий (программы). Правотворчество и программирование — явления очень схожие: в обоих случаях разрабатываются алгоритмы действий, задаются те виртуальные «рельсы», по которым должен двигаться процесс, будь то вынесение судебного решения или расчет заработной платы в бухгалтерской программе. В той же энциклопедической статье читаем: «Если правила описания плана решения задачи на некотором этапе будут точными, формальными и универсальными, т. е. применимыми к любой задаче, то тогда можно говорить о существовании некоторого языка программирования, используемого при составлении программы». Что касается права, то отшлифованная веками юридическая терминология, выработанная юридическая техника, правотворческие приемы и методы — все это как раз и образует язык со своей лексикой, грамматикой, правилами составления слов, предложений и текстов. На этом языке юристы говорят, пишут и даже (во всяком случае после нескольких лет погружения в профессию) мыслят. На том же языке и по его правилам создаются нормы права. Право, таким образом, представляет собой не только свод норм, но и набор средств для их создания — язык социального программирования. По сути и методологии процессы создания и отладки программ для ЭВМ и программ социальных не слишком различаются и включают: сбор первичной информации; постановку задачи (подготовку технического задания на создание программы); написание программы и ее апробацию (изначально зачастую в «пилотном» режиме, в порядке эксперимента, неважно, на отдельном сервере, участке сети, в подразделении фирмы или в отдельно взятом субъекте РФ); мониторинг работы программы и ее отладку, внесение необходимых изменений, будь то поправка к закону или патч к программе, а если изменения вносить нецелесообразно или нерентабельно — замена программы. Можно сравнить, например, два фрагмента:
«После составления программы «2. Мониторинг предусматривает неотъемлемым этапом программирования комплексную и плановую является «отладка» программы, т. е деятельность… по сбору, обобщению, обнаружение и исправление ошибок анализу и оценке информации для допускаемых при программировании обеспечения принятия (издания), Основное средство отладки — так изменения или признания утратившими называемые отладочные запуски, силу (отмены): когда в программу добавляются а) законодательных и иных дополнительные «измерительные» нормативных правовых актов действия, позволяющие по ходу Российской Федерации… выполнения программы на ЭВМ б) нормативных правовых актов выдавать «протокол» ее работы Президента Российской Федерации, (порядок выполнения команд, значения Правительства Российской Федерации, промежуточных результатов и т. п.). федеральных органов исполнительной Исследование протокола позволяет власти, иных государственных судить о том, в какой степени органов, органов государственной программа соответствует замыслу власти субъектов Российской программиста». Федерации и муниципальных правовых актов… Большая советская энциклопедия, 3. Основной целью осуществления выдержка из статьи мониторинга является «Программирование» <2> совершенствование правовой системы Российской Федерации».
Выдержка из Положения о мониторинге правоприменения в Российской Федерации, утв. Указом Президента РФ от 20 мая 2011 г. N 657 <3>
——————————— <2> Большая советская энциклопедия: электронная версия. М., 2002. <3> СЗ РФ. 2011. N 21. Ст. 2930.
Несложно представить, что при минимальном изменении терминологии из этих двух отрывков вполне может получиться один текст, описывающий либо мониторинг функционирования и отладку компьютерной программы, либо правовой мониторинг и процесс совершенствования законодательства: достаточно заменить термин «программа» на «нормативный правовой акт» и «программирование» на «правотворчество», или наоборот.
Уровень третий: право как программная среда
Текстовый редактор, в котором создана эта статья, — программа для ЭВМ. Но эта программа не могла бы функционировать на компьютере сама по себе, без операционной системы, без служебных программ, обеспечивающих ее работу. Кроме того, названная программа используется в тесной взаимосвязи с другими — с интернет-браузером, программой электронной почты, электронными словарями, правовыми базами данных и т. п. Для функционирования правовой нормы или комплекса норм тоже нужна определенная среда, в которой они могут существовать и реализовываться. Среду эту составляет вся система правовых норм: одни нормы обеспечивают работу других, образуют основу для их существования и применения, непосредственно или опосредованно взаимодействуют друг с другом. Нормы материального права бесполезны без права процессуального, а нормы процессуального бессмысленны без права материального. Гражданский кодекс опирается на Конституцию, дополняется другими законами и подзаконными актами, а зачастую и актами высших судов (скажем, ст. 395 ГК РФ мертва и неприменима без Постановления Пленума Верховного Суда РФ, Пленума ВАС РФ N 13/14 от 8 октября 1998 г. «О практике применения положений Гражданского кодекса Российской Федерации о процентах за пользование чужими денежными средствами»), реализацию его положений обеспечивают процессуальные кодексы. Уберите все это, и любой нормативный акт «повиснет в воздухе», программа не запустится. Правовая система и правовая среда для правовой нормы — то же самое, что для компьютерной программы операционная система и программная среда. «Пересадите» искусственно правовую норму на чуждую почву (как в середине 1990-х гг. пытались, например, привить нам вытащенный из англо-американской правовой системы траст), и она либо не приживется, либо вырастет опасным уродом (траст, к счастью, не прижился). Совершенно так же не запустится программа, написанная для одной операционной системы, на компьютере с другой: значительная часть программ, созданных для «Windows», на компьютере с операционной системой «Linux» или не будет функционировать вообще, или заработает только при условии имитации родной для нее программной среды. Требуются большая работа и немалое искусство, чтобы вписать программу в программную среду таким образом, чтобы избежать конфликтов. В случае с правом это означает исключение конкуренции норм, чтобы они не мешали и не противоречили друг другу. Подобная целостность программной среды, непротиворечивость и согласованность с другим программным обеспечением (или с другими правовыми нормами) редко достигаются сразу, в первой же версии программы. Да и жизнь не стоит на месте, система меняется, а потому не случайно в процитированном Положении о мониторинге правоприменения в Российской Федерации говорится, в частности, о задачах по выявлению «программных конфликтов». Мониторинг нацелен на «устранение противоречий между нормативными правовыми актами равной юридической силы», а также устранение несоответствия действующих российских нормативных актов решениям Конституционного Суда РФ, постановлениям Европейского суда по правам человека, программам социально-экономического развития государства и т. д. Там же уделяется внимание «реализации антикоррупционной политики и устранению коррупциогенных факторов»: в хорошо отлаженной системе не должно быть как конкуренции и конфликтов между программами, так и доступных злоумышленникам «дыр» для обхода или обмана программы. Появление Положения о мониторинге свидетельствует о понимании важности этой деятельности и ее задач государством, которое, продолжая пользоваться компьютерными аналогиями, можно назвать «системным администратором» нашего общества.
Пользователи и программисты
На каждом уровне существования права люди выступают в разных ролях. На первом уровне вовсе не нужно быть юристом, чтобы действовать в рамках кем-то созданной программы. Здесь все мы — простые пользователи. Мы знаем, на какие кнопки и в какой последовательности надо нажать, чтобы получить тот или иной правовой результат — приобрести имущество, оформить право на наследство или зарегистрироваться в качестве индивидуального предпринимателя. Как построена и работает программа, нас мало интересует, лишь бы работала. Для пользователей послабее, тех, кто в правовых «кнопках» путается, есть профессиональные помощники — юристы. Юрист «первого уровня» — это квалифицированный ремесленник, «продвинутый пользователь». Он знает установленные нормы и умеет их применять, может разбираться в механизме функционирования существующих программ (этому его учили в вузе), а в наименее сложные из них даже способен вносить небольшие изменения (например, отредактировать готовую форму договора под свои нужды). В целом такой юрист — это аналог человека, обслуживающего компьютеры в нашем офисе, которого мы в обиходе совершенно необоснованно называем программистом. Настоящие программисты обитают на втором уровне, там, где вершится правотворчество. Здесь те, кто владеет нужным языком программирования и специальными навыками, пишут программы для всех остальных (разные, от несложного договора до Конституции). В полной мере пользоваться этим инструментарием умеют очень немногие, наиболее квалифицированные, избранное юридическое меньшинство. (Имея честь быть знакомым с некоторыми представителями этого меньшинства, можем подтвердить: избранное заслуженно.) Специалистов, владеющих правовым языком программирования в достаточной мере («пишущих юристов»), больше, но круг их тоже не слишком широк. «Пишущий юрист» отличается от «продвинутого пользователя» умением создавать что-то новое. Написать договор «с нуля», не основываясь на кем-то подготовленной «болванке», вдумчиво разобраться в новом бизнесе и разработать полный пакет юридических документов для его сопровождения, создать качественный работоспособный проект нормативного акта, какого еще не было, — это доступно не всем. Верится, что все или почти все наши студенты будут вполне достойными юристами. Но в каждой группе на три десятка человек обычно приходится лишь один — два представителя «пишущего» меньшинства. (Всегда радостно, когда талант такого рода в студенте удается увидеть, раскрыть и по возможности помочь ему реализоваться.) Из сотен знакомых и вполне уважаемых практикующих коллег в качестве «пишущих» можем охарактеризовать от силы десятка два. В каких-то отраслях и организациях концентрация их выше, в каких-то ниже, абсолютно так же, как у программистской братии: в фирме-разработчике программного обеспечения пишущий программист куда более востребован, чем в сельскохозяйственном кооперативе. Вообще, «пишущий юрист» и программист часто похожи до мелочей: не случайно о представителях обеих профессий рассказывают столько анекдотов (не уступают им, наверное, только врачи), а вот о проектировщиках и механизаторах почему-то анекдотов не рассказывают. Дело тут в определенной деформации сознания, наступающей от погружения в профессию, что неизбежно бросается в глаза окружающим. По реакции общества можно судить, насколько схожа эта «перестройка мозга» у юристов и программистов: возьмите хотя бы известную шутку про воздухоплавателей, которые на вопрос «Где мы находимся?» получили от прохожего абсолютно точный ответ: «На воздушном шаре». Угадайте, к какой профессии принадлежал этот прохожий? Третий уровень существования права — заведомо для единиц. Умение ощущать взаимосвязи, просчитывать отдаленные последствия, предугадывать, «как слово наше отзовется», — редкий талант, дар. Таких «суперпрограммистов», Наполеонов от юриспруденции, просто не может быть много. Но самое интересное, что современное общество достаточно успешно учится без них обходиться. Для чего нужен Ликург, Солон, Юстиниан или Наполеон, если существуют компьютерное моделирование, исследовательские институты, «пилотные проекты» и система мониторинга правоприменения? Взаимодействие любой нормы с другими, последствия ее принятия и применения, роль в общей системе, влияние на сбалансированное функционирование общей «программной среды» могут быть просчитаны и изучены. То, что гений постигает чутьем и способен в один момент охватить внутренним взором, может быть достигнуто при помощи кропотливого систематического труда многих людей, без применения гения. Великий человек, дающий стране справедливые законы, — фигура прошлого. Хотя, конечно же, если такой гений появляется, то нет лучшей кандидатуры для высших юридических постов и открывания новых правовых горизонтов.
Ищу человека!
Хорошо, допустим, право — сборник программ, язык программирования, программная среда. Допустим, действительно нет принципиальной разницы между юристом и программистом. В таком случае напрашивается вывод: все правовые нормы можно описать программными средствами и заложить их в «компьютерного судью», как в романах писателей-фантастов. А где же тогда, простите, человек? Где пресловутый человеческий фактор? Что ж, пока в праве он еще имеется. Уцелел человеческий фактор там, где остается элемент неопределенности: в спорных ситуациях, когда норму права необходимо истолковать или когда подходящей нормы нет. Судья в таких случаях вынужден руководствоваться здравым смыслом, логикой, принципами разумности, добросовестности, справедливости или, как писали когда-то, «революционным правосознанием». «Справедливо» или «несправедливо», компьютер не решит, во всяком случае пока. В некоторых сферах деятельности хорошо подготовленный юрист может использовать свои знания и навыки для «проскальзывания» в нужном ему направлении через неурегулированные или плохо урегулированные участки правового поля (порой — в обход закона). Истолковать закон нужным образом, исподволь психологически воздействовать на судью, чтобы вызвать благоприятное решение, — тоже искусство, своего рода творчество. Заменить этого «хакера от юриспруденции» компьютером совершенно нереально. Правда, теоретически можно оставить его без работы, создав совершенную правовую систему, но верится в это с трудом, тем более в России, где, как известно, заборов без дыр не существует. Наконец, разрабатывают правовые нормы пока тоже люди, на эту сферу еще не посягнул ни один компьютер, поскольку работа эта — творческая. Следовательно, понимание грозящей опасности как риска подмены судьи компьютером — слишком примитивное и поверхностное. Но есть и опасность настоящая. Человеческий фактор действительно уходит из права, и происходит это стремительно. Если право — это своего рода операционная система, то нужно вспомнить, что операционная система не существует сама по себе, а устанавливается на компьютере. Право существует только в обществе, а человеческое общество меняется. Еще достаточно недавно право действительно было отражением человека, его представлений о справедливости, о должном и недолжном, о добре и зле. Так было в античности, в Средние века, в эпоху Возрождения, в Новое время — вплоть до последней четверти XX в. Народному собранию античного полиса казалось, что слишком популярного в городе человека будет справедливо отправлять в изгнание, средневековому королю хотелось запретить крестьянам охотиться на оленей, французские санкюлоты считали естественным состоянием человека свободу, равенство и братство — и все это напрямую отражалось в праве. Даже если человек, чьи представления ложились в основу правовых норм, был кровавым тираном, право шло от человека и измерялось человеком — пусть отвратительным — как «мерой всех вещей». Сегодняшнее право все больше и больше измеряется другой мерой: долларом, евро, иеной, юанем, рублем. Кое-где в мире пока еще сопротивляются те правовые системы, где право исторически было слито воедино с моралью, светской или религиозной, но на большей части земного шара содержание права теперь диктуется не представлениями совета старейшин о справедливости и не монаршей волей, а экономикой и политикой (которая, в свою очередь, диктуется той же экономикой). Экономика глобализируется и унифицируется, право унифицируется и механизируется. Жертвой этого процесса уже пала правовая наука: то, что мы привычно называем этим термином, вряд ли таковой на сегодня является, поскольку нацелена она не на познание мира и совершение открытий, а лишь на совершенствование законодательства. Механизированному праву наука не нужна, для создания прикладных «программ» достаточно хорошей методологии. Романтический и гуманистический период развития права, похоже, окончен, и только отчаянные одиночки еще пытаются верить в объективно существующее право как высшую идею и в идеалы естественного права. В новой глобальной экономике, когда миром фактически начинают править транснациональные корпорации, основным производимым продуктом становятся деньги, а основной целью — их преумножение, и право, как зеркало общества, начинает отражать уже нечеловека. По сравнению с этим отражением возможное пришествие кибернетических судей кажется безобидной детской игрой.
Bibliography
Bol’shaya sovetskaya ehnciklopediya: ehlektronnaya versiya. M., 2002.
——————————————————————