Naposledy upravil Marek Hronec 2025/05/23 10:59

Z verzie 42.1
upravil Marek Hronec
-
Zmeniť komentár: Added annotation on "5. Závislosti na ostatné IS..."
Do verzie 43.1
upravil Marek Hronec
-
Zmeniť komentár: Added annotation on "6. Zdrojové kódyV rámci toh..."

Súhrn

Podrobnosti

XWiki.XWikiComments[36]
Autor
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.marek\.hronec@mirri\.gov\.sk
Komentár
... ... @@ -1,0 +1,43 @@
1 +1. (((
2 +**❌ Chýba vyjadrenie k vlastníctvu zdrojového kódu:**
3 +
4 +* Nie je nikde uvedené, že **verejná správa (NASES, resp. MIRRI SR)** bude **výhradným vlastníkom všetkých zdrojových kódov** vzniknutých v rámci projektu.
5 +* To je **povinnosť** podľa zákona č. 95/2019 Z. z. (§ 20) a podľa **Metodického usmernenia o kvalite zdrojových kódov** (č. 024077/2023).
6 +)))
7 +1. (((
8 +**❌ Chýba explicitné vyhlásenie, že dodaný softvér nebude vytvárať vendor lock-in**:
9 +
10 +* V texte nie je uvedené, že softvér bude dodaný v otvorenej podobe (napr. ako buildovateľný projekt), **nezávislý od proprietárnych prostredí**.
11 +* Chýba informácia, že bude dodržaná povinnosť **umožniť budúcu rozvojovú nezávislosť** od konkrétneho dodávateľa.
12 +)))
13 +1. (((
14 +**❌ Nie je uvedená licencia:**
15 +
16 +* Projekt neuvádza, **pod akou licenciou budú zdrojové kódy zverejnené**.
17 +* Minimálny štandard podľa usmernenia je licencia **EUPL v.1.2** (Európska verejná licencia) – ak ide o štátom financovaný softvér.
18 +)))
19 +1. (((
20 +**❌ Chýba prepojenie na zmluvnú dokumentáciu (ZoD/SLA):**
21 +
22 +* Projekt musí uviesť, **že tieto požiadavky budú súčasťou zmluvy** a že odovzdanie zdrojových kódov bude viazané na **míľniky a fakturáciu**.
23 +)))
24 +1. (((
25 +**⚠️ Nie je uvedený spôsob archivácie a technického prebratia (formálne odovzdanie):**
26 +
27 +* Chýba opis, **ako bude prebiehať odovzdanie**, potvrdenie o odovzdaní, **verifikačný build**, alebo overenie nasaditeľnosti a **dokumentácie**.
28 +)))
29 +
30 +V kontexte historickej skúsenosti so systémom Slovensko.sk, kde **nejasné vlastníctvo zdrojového kódu a zmluvné nastavenie so súkromným dodávateľom viedli k praktickému vendor lock-inu**, je absolútne neakceptovateľné, že v tomto projekte **nie je explicitne deklarované vlastníctvo zdrojových kódov zo strany štátu**, ani zadefinovaný režim ich právneho, licenčného a zmluvného zabezpečenia.
31 +
32 +Po medializovaných pochybeniach a reputačnom riziku, ktoré poškodzujú dôveryhodnosť štátu v oblasti eGovernmentu, bolo možné očakávať, že **vlastníctvo, otvorenosť a dostupnosť zdrojových kódov sa stanú prioritou a základným princípom každého nového IT projektu verejnej správy**. Namiesto toho je v tejto kapitole len technický opis vývojových postupov bez právne záväzných vyjadrení o:
33 +
34 +* výhradnom vlastníctve MIRRI SR alebo NASES ku všetkým kódom vytvoreným z verejných zdrojov,
35 +* licenčnom režime (napr. EUPL),
36 +* mechanizmoch kontroly a vymáhateľnosti,
37 +* ochrane proti vendor lock-inu,
38 +* previazaní dodania kódu na fakturačné míľniky a zmluvy o dielo.
39 +
40 +⚠️ **Ide o závažné opomenutie, ktoré môže mať dlhodobé dopady na udržateľnosť riešenia a schopnosť štátu samostatne spravovať a rozvíjať tento centrálny systém.**
41 +
42 +💡 **Odporúčanie:**
43 +Je nevyhnutné kapitolu zásadne doplniť o vlastnícke, zmluvné a licenčné ustanovenia v súlade so zákonom č. 95/2019 Z. z. a metodikou MIRRI. V opačnom prípade hrozí, že sa štát opäť vystaví riziku opakovania chýb, ktoré projekt Slovensko.sk učinili symbolom zlyhania IT vo verejnej správe.
Dátum
... ... @@ -1,0 +1,1 @@
1 +2025-05-20 17:52:53.382
Selection
... ... @@ -1,0 +1,1 @@
1 +6. Zdrojové kódyV rámci tohto projektu, realizovaného prostredníctvom verejného obstarávania, platia nasledovné podrobné požiadavky na dodanie zdrojového kódu a jeho integráciu do infraštruktúry objednávateľa. Tieto požiadavky zabezpečujú transparentnosť, konzistentnosť a kontrolu nad procesom vývoja, nasadzovania a údržby aplikácií.6.1 Kompletný zdrojový kód pre aplikácie vyvinuté na zákazkuZdrojový kód: Dodávka bude obsahovať kompletný zdrojový kód každej aplikácie vytvorenej na zákazku. Táto dodávka zahŕňa všetky potrebné moduly, skripty, konfiguračné súbory, knižnice a iné závislosti potrebné pre správne zostavenie a nasadenie aplikácie.Závislosti a verzie: Každá integrovaná externá knižnica alebo modul bude definovaný v kóde spolu s presnou verziou, aby sa zabezpečila konzistentnosť prostredia. Na tento účel bude pripravený súbor so závislosťami (napr. requirements.txt pre Python, package.json pre Node.js, pom.xml pre Maven a pod.), ktorý objednávateľovi uľahčí správu závislostí.Dokumentácia kódu: Kód bude obsahovať internú dokumentáciu, ktorá vysvetľuje jednotlivé časti kódu, ich účel a spôsob interakcie. Pripojená bude aj technická dokumentácia popisujúca kľúčové architektonické komponenty a návrhové princípy, aby sa uľahčila údržba a rozšírenie riešenia.6.2 Dodanie zdrojového kódu pre aplikácie postavené na open-source projektochKompletný kód s modifikáciami: V prípade aplikácií postavených na open-source projektoch bude dodaný celý kód vrátane všetkých úprav a prispôsobení open-source komponentov. Tým sa zabezpečí konzistentnosť medzi prostrediami.Informácie o verziách a závislostiach: Každý použitý open-source komponent bude explicitne uvedený s presnou verziou a informáciami o jeho kompatibilite. Na správu závislostí bude poskytnutý súbor s ich zoznamom.Licenčné informácie: K dodanému kódu budú priložené licenčné informácie pre každý použitý open-source komponent. Dokumentácia bude zahŕňať informácie o prípadných obmedzeniach a súlade s licenčnými podmienkami.6.3 Dodanie aplikácií založených na closed-source produktochPredpis na build kontajnera alebo VM image: Pre aplikácie postavené na closed-source komponentoch bude dodaný presný predpis na vytvorenie (build) kontajnera alebo VM image. Tento predpis bude obsahovať všetky konfiguračné kroky a presné verzie použitých closed-source komponentov.Alternatíva - VM image: Ak nie je možné použiť kontajnerizáciu, dodávateľ dodá obraz virtuálneho stroja (VM image) pripravený na integráciu do nasadzovacieho prostredia.Dokumentácia pre konfiguráciu closed-source komponentov: Ak aplikácia využíva closed-source komponenty, dodávateľ poskytne detailné inštrukcie, ako ich integrovať a konfigurovať v rámci riešenia, vrátane krokov na ich aktualizáciu.6.4 Automatizovaný CI/CD kôd na nasadeniePipeline pre CI/CD: Dodávateľ pripraví kód pre implementáciu CI/CD pipeline, ktorý umožní nasadzovanie aplikácie do vývojového, predprodukčného a produkčného prostredia. CI/CD pipeline bude navrhnutý podľa potrieb projektu a bude pokrývať všetky kroky, vrátane zostavenia, testovania a nasadenia.Podpora pre viacero cloudových prostredí: Pipeline bude obsahovať mechanizmy na nasadenie do privátneho a verejného cloudového prostredia v súlade s bezpečnostnými a prevádzkovými štandardmi.Dokumentácia k CI/CD procesu: Dokumentácia bude obsahovať kroky pre inicializáciu a konfiguráciu pipeline, postup riešenia chýb a podporu pri škálovaní CI/CD riešenia.6.5 Integrácia zdrojového kódu do git repozitára objednávateľaPrístup do Git repozitára objednávateľa: Git repozitár spravuje objednávateľ, ktorý dodávateľovi poskytne prístup s obmedzenými právami, určenými na zapisovanie do vývojových vetiev a na vytváranie pull requestov na implementáciu zmien. Dodávateľ bude dodržiavať predpísané postupy pre verzie a riadenie vetiev.Štruktúra dodaného kódu a organizácia v repozitári: Dodávateľ dodrží dohodnutú štruktúru adresárov a súborov v repozitári, pričom budú dodržané interné štandardy objednávateľa na organizáciu zdrojových súborov a ich štruktúru. Tým sa uľahčí orientácia v kóde a efektívna údržba.Tagovanie verzií: Dodávateľ označí jednotlivé verzie kódu (tagging), ktoré umožnia jednoznačnú identifikáciu verzií pre účely testovania a nasadenia. Verziovací systém bude dohodnutý na začiatku projektu (napr. Semantic Versioning).6.6 Proces nasadenia a integrácie v git repozitáriCI/CD integrácia s repozitárom: CI/CD pipeline bude nakonfigurovaný tak, aby umožnil spúšťanie priamo z Git repozitára objednávateľa. Automatizované buildy a nasadzovanie sa budú spúšťať na základe zmien v určených vetvách (napr. staging a production), čím sa zabezpečí konzistentné nasadenie kódu.Automatizované buildy a nasadenia: Zmeny v kóde budú spúšťať build a nasadzovacie procesy, čo zaručí, že do predprodukčných a produkčných prostredí budú vstupovať len plne testované verzie kódu.6.7 Kontrola kvality kódu a zabezpečenie štandardovCode Review a schvaľovanie zmien: Dodávateľ je povinný vytvárať pull requesty (PR) na každú zmenu, pričom tieto budú prechádzať schválením zo strany objednávateľa. Tento proces zabezpečí kontrolu nad kódom pred jeho nasadením.Štandardy kódu: Dodávateľ bude dodržiavať štandardy kódu definované objednávateľom, vrátane formátovania, konvencií pomenovania a štruktúry komentárov.6.8 Komunikácia a správa git repozitáraPravidelná synchronizácia: Dodávateľ bude pravidelne synchronizovať svoj pracovný kód s Git repozitárom objednávateľa. Pravidelné zálohovanie kódu zabezpečí, že objednávateľ má priebežný prehľad o stave projektu.Dokumentácia k úpravám: Každý commit bude obsahovať popis zmien. Pravidelná aktualizácia dokumentácie bude objednávateľovi poskytovať prehľad o všetkých zmenách a ich účele.
State
... ... @@ -1,0 +1,1 @@
1 +SAFE
Target
... ... @@ -1,0 +1,1 @@
1 +Dokumenty.projekt_3067.pristup_k_projektu.WebHome