Сред обнародваните наскоро изменения в Закона за електронното управление е и изискването всяка система, която се разработва по задание от държавата, да бъде с отворен код и да се разработва в публично хранилище на Държавна агенция „Електронно управление“.
След като публикувах кратка новина по темата в Medium, тя бързо се разпространи през reddit, hacker news и slashdot и достигна до TechCrunch и TheNextWeb (както и няколко други).
Защо новината се оказа толкова голяма за технологичните медии ли? Защото макар много държави да имат политики и правила за използване на отворен код, и макар Европейският парламент да прави на няколко пъти препоръки за използването му, за първи път при нас това влиза в закон. Съответно ентусиазмът на технологичните общности е голям.
Обратно в реалността – какво на практика означава това? В детайли съм обяснил в лекцията си на OpenFest, но първото разяснение, което трябва да се направи е, че това не означава, че държавата няма да може да си купува повече софтуер със затворен код. Операционни системи, офис пакети, бази данни, счетоводни системи и всякакъв друг софтуер, за който се купуват лицензи, а не самия софтуер, ще продължи да действа по същия начин (макар че идеята за в бъдеще е да се поставят и системи с отворен код на масата, тъй като те са реална конкуренция в някои случаи, макар да нямат толкова силни отдели за продажби).
Софтуерът, който се разработва по специални изисквания на държавата, обаче, ще бъде публично достъпен. Той и в момента е собственост на държавата, която пък го е платила с данъците на гражданите си, съответно те имат пълното право да го използват както намерят за добре. Плюсовете от това са няколко – по-висока прозрачност за какво се харчат пари, повече възможности външни експерти да наблюдават процеса и да дават конструктивна критика, по-ясен механизъм за докладване на проблеми със сигурността, повече яснота за фирмите, които ще поддържат даден софтуер (до момента те може и да не знаят в „какво се забъркват“), презиползване на компоненти, които до момента всяка фирма разработва от нулата.
Въпросът за сигурността е първият, който бива задаван – така няма ли „лошите“ да видят как да атакуват системата. В информационната сигурност съществува понятието „security through obscurity“ (сигурност чрез неизвестност), и той не работи – ако нещо е сигурно, само защото „лошите“ не знаят как работи, то не е сигурно. Сигурността по дизайн изисква една система да бъде сигурна дори всичко за нея да е известно, с изключение на паролите и ключовете за достъп (те, разбира се, няма да са публични). Разбира се, че системите ще имат пропуски, но те няма да са достъпни само за злонамерените, а и за доброжелателните. Които всъщност са повече – през последната година съм получил много добронамерени описания на дупки в сигурността, без човекът да е злоупотребил с тях. Лошото е, че в момента ако не изискам лично кода и не го оправя „в ръчен режим“, а софтуерът е с изтекла поддръжка или фирмата е недобросъвестна, няма кой и как да оправи този проблем. Когато кодът е отворен, външни експерти ще могат да предлагат как да бъде поправен съответния проблем. И съм убеден, че ще го правят.
Но каква е по-голямата картинка – фирмите-изпълнители вече няма да си позволяват да неглижират качеството на кода, а оттам и качеството на системите. Държавата ще получава нещо по-добро дори само защото повече хора ще могат да го виждат и критикуват. Дали това ще реши проблемите на електронното управление – само по себе си, едва ли. Технологичните проблеми далеч не са всичко. Затова и в приетите изменения в Закона има и доста други изисквания (за интерфейси, за отворени данни, за архивиране), както и орган (държавна агенция), който да следи за спазването на тези правила.
Не бих казал, че стъпката е революционна, но определено България може да даде пример с нещо, което прави на държавно ниво. А дали реално ще го прави – зависи от всички.
Божидар Божанов
Източник: terminal3.bg