- PVSM.RU - https://www.pvsm.ru -

Использование инструментов разработки программного обеспечения для законотворческой деятельности

12 декабря 1993 на всенародном голосовании была принята Конституция России. Одно слово в том, оригинальном тексте Конституции сыграло особую роль в дальнейшей судьбе страны. Это слово было «подряд», в пункте 3 статьи 81 о том, может ли один и тоже человек занимать должность президента Российской Федерации не более двух сроков. Много копий сломано в дискуссиях об этом слове, Конституционный суд разъяснял смысл этого пункта в своем решении. Немногие принимали это во внимание, когда голосовали за или против принятия Конституции.

20 января 2020 президент России Владимир Путин внес в Государственную Думу проект закона с новыми поправками в Конституцию. Большой объем поправок, предложенных в этом проекте закона, не дает возможности обычному человеку разобраться в них. Возникает риск того, что мы повторим историю с словом «подряд», и мы снова будем принимать решение и голосовать за или против принятия Конституции без полной информации о последствиях этих поправок.

В этой статье я рассмотрю, как инструменты, созданные для разработки программного обеспечения, помогают в анализе предложенных изменений.

Законотворческая деятельность имеет много общего с программированием. Оба занятия имеют целью создание правил для некоторой системы: социальной — страны, региона или города, и вычислительной — компьютера или сети компьютеров. Создание законов имеет дополнительные сложности, по сравнению с созданием программного обеспечения. Во-первых, социальная система является менее определенной, детерминированной средой выполнения, чем вычислительная система. Необязательно закон будет исполнен так, как он предписывает, в то время как компьютер всегда исполнит программу точно в соответствии с ее кодом, кроме случаев поломки аппаратного обеспечения. Во-вторых, законы написаны на естественном языке, в то время как компьютеры используют искусственные языки программирования. Естественная эволюция языка в этносе обычно преследует целью создать эффективный язык, то есть язык, способный выразить множество смыслов в наиболее короткой форме. Это делает естественные языки многозначными, а фразы в них сильно зависимыми от контекста. Например, многим со школы известна фраза «казнить нельзя помиловать», смысл которой зависит от места, в котором поставлена запятая. Языки программирования специально проектируются с целью создания конструкций, которые однозначно интерпретируются средой исполнения. Но все равно, изменение одного символа может привести к неожиданным последствиям. Поэтому, в помощь программистам, были созданы инструменты, которые позволяют легче находить изменения в программе. Примером такого инструмента являются системы контроля версий. Так же как они помогают в написании компьютерных программ, они могут помочь справиться со сложностями создания законов, если не со средой исполнения, то есть социальной системой, то с многозначностью и с поиском точных формулировок, которые не оставляли бы места для интерпретаций.

Ниже я рассмотрю поправки в Конституцию, которые В.Путин предложил в проекте закона №885214-7 [1] «О совершенствовании регулирования отдельных вопросов организации публичной власти», и как их можно анализировать с помощью системы контроля версия git и пользовательского интерфейса, предоставляемого сайтом GitHub.

Проекты законов вносятся в Государственную Думу в виде файлов. В тексте законопроектов с поправками указывается, какие разделы, статьи или пункты статей должны быть добавлены, исключены или изменены, при этом в тексте проекта закона дается только новый вариант. Например, вот так выглядит новая формулировка статьи 79: «Российская Федерация может участвовать в межгосударственных объединениях и передавать им часть своих полномочий в соответствии с международными договорами Российской Федерации, если это не влечет за собой ограничения прав и свобод человека и гражданина и не противоречит основам конституционного строя Российской Федерации. Решения межгосударственных органов, принятые на основании положений международных договоров Российской Федерации в их истолковании, противоречащем Конституции Российской Федерации, не подлежат исполнению в Российской Федерации.»

image

Проект закона не дает оригинальный текст статьи 79, что делает анализ изменения проблематичным. Вы вынуждены искать соответствующую статью в тексте Конституции, который либо есть у вас в бумажном виде, либо доступен на стороннем сайте в сети. Во время написания этого текста статья 79 действует в следующей редакции: «Российская Федерация может участвовать в межгосударственных объединениях и передавать им часть своих полномочий в соответствии с международными договорами, если это не влечет ограничения прав и свобод человека и гражданина и не противоречит основам конституционного строя Российской Федерации.» Сайт GitHub [2] позволяет увидеть оригинальный текст и предложенное изменение рядом.

image

Вам не требуется тратить время на поиск оригинального текста и переключатся из одного приложения (или страницы в браузере) в другое. Оба текста удобно находятся перед глазами с ясной индикацией цветом, какая часть текста будет удалена — светло-красный цвет, а какая вставлена — светло-зеленый цвет.

В некоторых случаях, когда новый текст отличается от оригинального только небольшими изменениями, GitHub [2] подсвечивает каждое измененное или добавленное слово. Бывает сложно сравнить два текста глазами. Например, вот текст пункта «а» статьи 83 о полномочиях президента Российской Федерации: «а) назначает Председателя Правительства Российской Федерации, кандидатура которого утверждена Государственной Думой по представлению Президента Российской Федерации, и освобождает Председателя Правительства Российской Федерации от должности», а вот оригинальная формулировка: «а) назначает с согласия Государственной Думы Председателя Правительства Российской Федерации.»

image

Вы можете не заметить то, что «с согласия» поменялась на «утверждена», то есть Государственная Дума, не соглашается с кандидатурой Председателя Правительства, а утверждает ее. Сравнение нового и оригинального тестов этого пункта на сайте GitHub [2] будет выглядеть так.

image

Яркими цветами выделены слова и фразы, которые поменялись: красным — удаленные слова, зеленым — добавленные слова. Вы можете быстро понять, что именно изменилось, и сосредоточиться на анализе этих изменений, вместо того, чтобы вчитываться в каждое слово, пытаясь выделить изменения самостоятельно.

Важной помощью в принятии информированного решения при голосовании является ознакомление с мнением экспертов о предложенных изменениях в текст Конституции. Вы может найти мнение экспертов в Интернете, но обычно такие статьи написаны с предположением, что читатель знаком с оригинальным текстом Конституции и с предложенными поправками. Приходится все это иметь перед глазами и переключатся с одного текста на другой, чтобы понять аргументацию эксперта. Сайт GitHub [2] позволяет комментировать каждую строчку текста. Вот как выглядит изменение с комментарием.

image

Есть возможность увидеть оригинальный текст, новый текст и мнение эксперта в одном месте. Более того, если у вас есть профиль пользователя на сайте GitHub [2], вы можете комментировать изменения сами и вступать в полемику с другими комментаторами.

Сайт GitHub [2] даёт вам возможность легко сравнить оригинальный текст Конституции России с предложенными изменениями, прочитать мнения экспертов к каждому изменению или даже к отдельному слову и участвовать в обсуждении нового текста Конституции, позволяя самостоятельно сформировать мнение о последствиях предложенных поправок.

Автор: ameten

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/git/427417

Ссылки в тексте:

[1] №885214-7: https://sozd.duma.gov.ru/bill/885214-7

[2] GitHub: https://github.com/ameten/constitution/pull/4/files

[3] Источник: https://habr.com/ru/articles/934862/?utm_source=habrahabr&utm_medium=rss&utm_campaign=934862