Отворено законодателство
Божидар Божанов
За мен
● Софтуерен инженер (абе...програмист)
● Бивш съветник за електронно управление
● Съавтор на няколко закона и наредби
● Founder @ LogSentinel.com
● Twitter: @bozhobg
● https://techblog.bozho.net , https://blog.bozho.net
Нормативни актове
● Закони, кодекси, наредби, правилници, инструкции, постановления,
решения...директиви, регламенти
○ Ще говорим основно за закони
● Законите уреждат обществените отношения в дадена сфера
● Над 300 действащи закона
● Чести изменения (2009-2016):
○ Министерски съвет: 661 законопроекта, 15,798,837 символа.
○ Народни представители: 178 законопроекта, 2,550,760 символа
Защо е важно законодателството да е достъпно?
● Ignorantia juris non excusat (незнанието на закона не е извинение)
● Позволява да си отстояваме правата
● Крайно време е законодателството да влезе в 21-ви век
„Законите са като надениците – по-добре е
човек да не знае как се правят”
Ото фон Бисмарк
Законодателен процес
● ...ох (и това важи за всички държави)
● Законодателна инициатива - МС, НС
● Обсъждане и гласуване - комисии, работни групи, пленарна зала
○ Предложения “на колянце”
○ “Колеги, да пуснем записа”
○ Доклади на комисии - track changes е само началото…
○ Предложения, параграфи, приети, оттеглени, отхвърлени
○ Кой какво е прочел, какво и как гласува...
● Edge cases
○ внасяш два закона, като втория зависи от изменения в първия. Кой ще мине първи?
Законотворчеството е като програмирането
● Формализиран език
● Спецификация (ЗНА)
● Предефинирана структура (закони, секции, членове, алинеи,
изменителни разпоредби)
● Минимизиране на повторенията
● Описание на (правила за) поведение
● if’s and for’s - “Ако … то”. “За всеки … “
● Версии и diff-ове
● Code reviews
● Legacy
ЗИД??
● “Закон за изменение и допълнение”
● Всяко изменение е нов закон
○ Първо появяване на закон (initial commit)
○ ЗИД-ове (diffs)
● Изменителни vs консолидирани
○ Формално няма понятие “консолидирана версия”
ЗИД
“§ 1. Създавава се нов чл. 31а със следното съдържание: ..”
“§ 2. В чл. 37, ал. 2, изречение второ след думите “...” се добавят думите “...””
“§ 3. В чл. 41 се създава нова алинея 2 със следния текст ... , а настоящите
алинеи 2 и 3 стават съответно алинеи 3 и 4””
“§ 4. Навсякъде думите “..” се заменяет с думите “...””
“§ 5. В Закона за … се правят следните изменения и допълнения: ...”
“§ 6. Този закон влиза в сила три месеца след обнародването му, освен
параграф 2, който влиза в сила шест месеца след обнародването”
Отворени ли са законите?
● Не
● Държавен вестник е публичен
○ … в PDF
● Консолидираните версии - не
● Изменителните текстове са безполезни за гражданите
● Доклад на финландското министерство на правосъдието:
○ Само България, Гърция и Ирландия нямат публични консолидирани версии
Къде има консолидирани версии?
● Сиела, Апис, Дакси, Лакорда, Експертис
○ Има какво да се желае откъм функционалност
● Ръчен труд по консолидиране и описване на връзките
● Затворени, с платен достъп
● Lex.bg - безплатно
○ Без препратки, без историческа информация
● Редакция “Нормативни актове”
○ Закрита 2009-та
Отворено законодателство по света
● UK https://www.legislation.gov.uk
● Естония https://www.riigiteataja.ee/en/
● Ню Йорк http://legislation.nysenate.gov/
● Германия https://github.com/bundestag/gesetze
Авторско право
● Няма авторско право върху нормативни актове
● … но има върху “бази данни” от нормативни актове
○ Съзнателни грешки - маркери
○ Дело: “Апис с/у Лакорда”
● Може ли държавата да публикува всички консолидирани версии?
● FUBAR
○ (е, хората някак се оправят)
Отначало...
● Как бихме направили процеса, ако можеше да го направим отначало?
● Компоненти:
○ Законодателен процес (работна група, обществено обсъждане, МС, НС, комисии, зала)
○ Колаборативно нормотворчество (като Google docs)
○ Модел на данните
○ Автоматизирано генериране на консолидирани версии
○ Отворен достъп - търсене, API, връзки, исторически поглед
● Проект в пътната карта за е-управление. “Далечно бъдеще”
Просто е, да ползваме git?
Source: Quora
“Rebase-ни си член 3-ти”
Не е толкова просто...
● Ползваемост
● Текст към даден момент vs текст в сила към даден момент
● Връзки между нормативните актове
● Refactoring / ПЗР
● Отменени текстове от КС/ВАС
● => Само git не стига
Предложение: проект OpenLex
https://github.com/Glamdring/OpenLex/
Първа стъпка
● Събиране на изменителни текстове (scraping)
○ По-лесно би било да ги получаваме в машинно-четим вид...
● Избор на модел за представяне на нормативните актове
○ Legislation.gov.uk?
● Трансформиране на изменителни параграфи в diff
○ Трудната част…
● Автоматично прилагане на diffs => консолидирани версии
● Достъп до законите:
○ Връзки
○ Търсене
○ Исторически поглед
○ API
Технически решения и стандарти
● Стандарти/формати:
○ LegalXML/LegalDocumentML
○ MetaLex http://www.metalex.eu/
○ RDF? https://www.legislation.gov.uk/developer/formats/rdf
● Git? Graph database?
● Отворени интерфейси:
○ OpenLegislation http://openlegislation.readthedocs.io/en/latest/
● Инструменети за колаборативно законотворчество:
○ LEOS https://ec.europa.eu/isa2/solutions/leos_en
Допълнителна функционалност
● Named entity recognition
○ Органи на власт (министри)
○ Институции
○ Други закони
● Анотиране или идентифициране на:
○ Основни елементи на правните норми (хипотеза, диспозиция, санкция)
○ Видове правни норми: регулиращи, охранителни, задължаващи и т.н.
● (не, Prolog няма да замени съда)
Как би се движил OpenLex?
● Търсят се: координатори, програмисти (в свободното си време)
● Моята роля: консултации, контакти, код
● Опции за получаване на данните:
○ Scraping
○ Изискване на архивите на редакция “Нормативни актове” по ЗДОИ
○ Контакт с правно-информационните системи
● Код, код, код, код, код, код…
● Прототип
● Даряване на Министерския съвет или Народното събрание
○ Ако пък нищо не излезе: документ с препоръки към бъдещ проект
Заключителни разпоредби
§ 1. Въпроси?
Gratias vobis ago!
(Благодаря!)

Отворено законодателство

  • 1.
  • 2.
    За мен ● Софтуеренинженер (абе...програмист) ● Бивш съветник за електронно управление ● Съавтор на няколко закона и наредби ● Founder @ LogSentinel.com ● Twitter: @bozhobg ● https://techblog.bozho.net , https://blog.bozho.net
  • 3.
    Нормативни актове ● Закони,кодекси, наредби, правилници, инструкции, постановления, решения...директиви, регламенти ○ Ще говорим основно за закони ● Законите уреждат обществените отношения в дадена сфера ● Над 300 действащи закона ● Чести изменения (2009-2016): ○ Министерски съвет: 661 законопроекта, 15,798,837 символа. ○ Народни представители: 178 законопроекта, 2,550,760 символа
  • 5.
    Защо е важнозаконодателството да е достъпно? ● Ignorantia juris non excusat (незнанието на закона не е извинение) ● Позволява да си отстояваме правата ● Крайно време е законодателството да влезе в 21-ви век
  • 6.
    „Законите са катонадениците – по-добре е човек да не знае как се правят” Ото фон Бисмарк
  • 7.
    Законодателен процес ● ...ох(и това важи за всички държави) ● Законодателна инициатива - МС, НС ● Обсъждане и гласуване - комисии, работни групи, пленарна зала ○ Предложения “на колянце” ○ “Колеги, да пуснем записа” ○ Доклади на комисии - track changes е само началото… ○ Предложения, параграфи, приети, оттеглени, отхвърлени ○ Кой какво е прочел, какво и как гласува... ● Edge cases ○ внасяш два закона, като втория зависи от изменения в първия. Кой ще мине първи?
  • 8.
    Законотворчеството е катопрограмирането ● Формализиран език ● Спецификация (ЗНА) ● Предефинирана структура (закони, секции, членове, алинеи, изменителни разпоредби) ● Минимизиране на повторенията ● Описание на (правила за) поведение ● if’s and for’s - “Ако … то”. “За всеки … “ ● Версии и diff-ове ● Code reviews ● Legacy
  • 9.
    ЗИД?? ● “Закон заизменение и допълнение” ● Всяко изменение е нов закон ○ Първо появяване на закон (initial commit) ○ ЗИД-ове (diffs) ● Изменителни vs консолидирани ○ Формално няма понятие “консолидирана версия”
  • 10.
    ЗИД “§ 1. Създававасе нов чл. 31а със следното съдържание: ..” “§ 2. В чл. 37, ал. 2, изречение второ след думите “...” се добавят думите “...”” “§ 3. В чл. 41 се създава нова алинея 2 със следния текст ... , а настоящите алинеи 2 и 3 стават съответно алинеи 3 и 4”” “§ 4. Навсякъде думите “..” се заменяет с думите “...”” “§ 5. В Закона за … се правят следните изменения и допълнения: ...” “§ 6. Този закон влиза в сила три месеца след обнародването му, освен параграф 2, който влиза в сила шест месеца след обнародването”
  • 11.
    Отворени ли сазаконите? ● Не ● Държавен вестник е публичен ○ … в PDF ● Консолидираните версии - не ● Изменителните текстове са безполезни за гражданите ● Доклад на финландското министерство на правосъдието: ○ Само България, Гърция и Ирландия нямат публични консолидирани версии
  • 12.
    Къде има консолидираниверсии? ● Сиела, Апис, Дакси, Лакорда, Експертис ○ Има какво да се желае откъм функционалност ● Ръчен труд по консолидиране и описване на връзките ● Затворени, с платен достъп ● Lex.bg - безплатно ○ Без препратки, без историческа информация ● Редакция “Нормативни актове” ○ Закрита 2009-та
  • 13.
    Отворено законодателство посвета ● UK https://www.legislation.gov.uk ● Естония https://www.riigiteataja.ee/en/ ● Ню Йорк http://legislation.nysenate.gov/ ● Германия https://github.com/bundestag/gesetze
  • 14.
    Авторско право ● Нямаавторско право върху нормативни актове ● … но има върху “бази данни” от нормативни актове ○ Съзнателни грешки - маркери ○ Дело: “Апис с/у Лакорда” ● Може ли държавата да публикува всички консолидирани версии? ● FUBAR ○ (е, хората някак се оправят)
  • 15.
    Отначало... ● Как бихменаправили процеса, ако можеше да го направим отначало? ● Компоненти: ○ Законодателен процес (работна група, обществено обсъждане, МС, НС, комисии, зала) ○ Колаборативно нормотворчество (като Google docs) ○ Модел на данните ○ Автоматизирано генериране на консолидирани версии ○ Отворен достъп - търсене, API, връзки, исторически поглед ● Проект в пътната карта за е-управление. “Далечно бъдеще”
  • 16.
    Просто е, даползваме git?
  • 17.
  • 18.
  • 19.
    Не е толковапросто... ● Ползваемост ● Текст към даден момент vs текст в сила към даден момент ● Връзки между нормативните актове ● Refactoring / ПЗР ● Отменени текстове от КС/ВАС ● => Само git не стига
  • 20.
  • 21.
    Първа стъпка ● Събиранена изменителни текстове (scraping) ○ По-лесно би било да ги получаваме в машинно-четим вид... ● Избор на модел за представяне на нормативните актове ○ Legislation.gov.uk? ● Трансформиране на изменителни параграфи в diff ○ Трудната част… ● Автоматично прилагане на diffs => консолидирани версии ● Достъп до законите: ○ Връзки ○ Търсене ○ Исторически поглед ○ API
  • 22.
    Технически решения истандарти ● Стандарти/формати: ○ LegalXML/LegalDocumentML ○ MetaLex http://www.metalex.eu/ ○ RDF? https://www.legislation.gov.uk/developer/formats/rdf ● Git? Graph database? ● Отворени интерфейси: ○ OpenLegislation http://openlegislation.readthedocs.io/en/latest/ ● Инструменети за колаборативно законотворчество: ○ LEOS https://ec.europa.eu/isa2/solutions/leos_en
  • 23.
    Допълнителна функционалност ● Namedentity recognition ○ Органи на власт (министри) ○ Институции ○ Други закони ● Анотиране или идентифициране на: ○ Основни елементи на правните норми (хипотеза, диспозиция, санкция) ○ Видове правни норми: регулиращи, охранителни, задължаващи и т.н. ● (не, Prolog няма да замени съда)
  • 24.
    Как би седвижил OpenLex? ● Търсят се: координатори, програмисти (в свободното си време) ● Моята роля: консултации, контакти, код ● Опции за получаване на данните: ○ Scraping ○ Изискване на архивите на редакция “Нормативни актове” по ЗДОИ ○ Контакт с правно-информационните системи ● Код, код, код, код, код, код… ● Прототип ● Даряване на Министерския съвет или Народното събрание ○ Ако пък нищо не излезе: документ с препоръки към бъдещ проект
  • 25.
  • 26.