Közjó 2026. május 23. ~25 perc olvasás

KözKód

Állami nyílt forráskód platform — azonosított fejlesztők, szigorú biztonsági keretek, valódi elismerés.

Gulyás György Tamás

Bevezető

Az állami szoftver-fejlesztés jelenlegi modelljei — akár a szállító, akár az állam tulajdonolja a forráskódot — jellemzően valamilyen fejlesztői kapacitásfüggőséget hoznak létre. Ez nem egyedi magyar jelenség és nem feltétlenül rossz szándék eredménye; a piac egyszerűen eddig nem kínált más megközelítést.

Az egyik modellben a fejlesztés külső szállítótól érkezik, zárt forráskóddal, fix licencfeltételekkel. A karbantartás és a hibajavítás szintén a szállítóhoz kötött — az árazás nehezen ellenőrizhető, a kódba nem lehet belátni. Ha a szállító árat emel, kilép a piacról, vagy megszűnik, az intézménynek kevés mozgástere marad. Ez az ismert vendor lock-in.

A másik modellben az állam tulajdonolja a forráskódot — de a fejlesztői kapacitás akkor is korlátozott és drága. Ha az eredeti fejlesztő marad, a kapacitásfüggőség fennáll, más formában. Ha váltanak, betanulási idő, elveszett intézményi tudás és kontextus-veszteség keletkezik. Mindkét esetben az állami szervezet viseli a költséget.

Közben Magyarországon több tízezer képzett fejlesztő, tesztelő, UX-tervező, kiberbiztonsági szakember dolgozik, akiknek a tudása eddig kihasználatlan maradt az állami digitális infrastruktúra fejlesztésében. Holott a kód egy részénél erre biztonsági feltétel is teljesíthető: ügyfélszolgálati portálok frontendkódja, belső adminisztratív eszközök, dokumentációs felületek — ezeknél a szakmai közösség bevonása a biztonságot erősíti. A „many eyes" elv alapján ezek éppen megbízhatóbbak lennének, ha a szakmai közösség auditálhatja őket.

Ez az a pont, ahol a KözKód alternatívát kínál — és ahol a megvalósítás elkezdődött.


Kétirányú platform — azonosított közösséggel

A KözKód két egymást kiegészítő irányban működik, és mindkettőhöz ugyanaz az azonosított közösség járul hozzá.

1

Intézményi irány

Egy állami szerv megnyit egy meglévő rendszer egy részét — a közösség fejleszti, auditálja, javítja. Az intézmény kapacitást és tudást nyer, a közösség hozzájárulása az éles rendszerben realizálódik.

2

Közösségi irány

A közösség épít fel egy új eszközt a semmiből — iktató rendszert, dokumentumsablon-kezelőt, szabadságnyilvántartót, belső feladatkezelőt. Bármely intézmény szabadon átveheti, telepítheti és használhatja: forráskóddal, szállítói függőség nélkül.

A közösségi irány különösen ott hatékony, ahol ma kereskedelmi dobozos szoftvereket használnak az intézmények — olyan általános adminisztratív eszközöket, amelyek biztonsági besorolása alap szintű, és amelyeket a szakmai közösség meg tud építeni. Ezek az eszközök a platformon fejlesztve, nyílt licenc alatt állnak elő, és bármely állami szerv telepítheti őket a saját infrastruktúrájára — a KözKód kizárólag a telepítő csomagot biztosítja, az üzemeltetés minden esetben az intézmény saját szerverein történik.

Mindkét irányhoz ugyanaz az azonosítási alap tartozik. Minden hozzájáruló valódi névvel, valódi felelősséggel vesz részt — a belépés felhasználónévvel, jelszóval és kötelező kétlépéses azonosítással (TOTP 2FA) történik a platform.kozkod.hu oldalon. Minden commit visszavezethető az azt beküldő személyhez. Tervezett jövőbeli fejlesztés a KAÜ (Központi Azonosítási Ügynök) integráció az Ügyfélkapu+/DÁP hozzáféréssel — az infrastruktúra előkészítve.

Az első belépéskor a hozzájáruló aláírja a Hozzájárulói Megállapodást (CLA), amely tisztázza a szerzői jogi és felelősségi kérdéseket, majd kiválasztja a profilját: fejlesztő, tesztelő, dokumentáló, fordító, biztonsági szakember — vagy ezek kombinációja.


Mit lehet megnyitni — és mit nem

A 2024. évi LXIX. törvény, a Kiberbiztonsági törvény, három biztonsági osztályt különböztet meg: alap, jelentős és magas. A KözKód kizárólag az alap osztályba sorolt rendszereket és — rendkívül szigorú feltételek mellett — a jelentős osztályba sorolt rendszerek meghatározott, nem érzékeny moduljait engedi megnyitni. A magas osztály soha, semmilyen körülmények között.

Alap osztály

Teljes egészében megnyitható: belső adminisztratív eszközök, dokumentációs portálok, tájékoztató felületek, e-learning rendszerek.

Jelentős osztály

Csak nem érzékeny modulok: UI-komponensek, frontend, dokumentáció. IBF + minisztérium együtt minősít. Szigorú feltételekkel.

Magas osztály

Soha, semmilyen körülmények között. Kritikus infrastruktúra, NIS2 hatályú rendszerek, adónyilvántartás, egészségügyi adatok.

Az alap osztályba kerülhet: belső adminisztratív eszközök, dokumentációs portálok, nyilvános tájékoztató felületek, e-learning rendszerek. Ezeket teljes egészükben meg lehet nyitni — feltéve, hogy nem tartalmaznak titkosítási kulcsokat, jelszavakat, hozzáférési tokeneket, IP-címeket, üzemeltetési konfigurációkat vagy személyes adatot mintaként.

A megnyitásnak minden esetben előzménye van: az intézmény információbiztonsági felelőse (IBF) és a Nemzeti Kiberbiztonsági Intézet (NKI) együtt vizsgálja meg, mi nyitható meg. Formális határozat, meghatározott hatókörrel, kizárt komponensek listájával és felülvizsgálati ciklussal.

A megnyitott komponensek szerzői jogi szempontból engedélyezett licencek alatt jelenhetnek meg: EUPL 1.2 (ajánlott — az EU saját közigazgatási nyílt licence), MIT vagy Apache 2.0.


A szereplők

A platformot jelenleg a KözKód közösség tartja fenn — a kódtárhelyet, a CI/CD rendszert és az azonosítási integrációt egyaránt. Az üzemeltetés bármikor átadható egy állami szerv részére: a digitalizációért felelős minisztérium, az IdomSoft, a NISZ vagy a DÁP Ügynökség bármikor átveheti, ha az intézményi elköteleződés és a kapacitás adott.

Ez a modell kapcsolódik az Állami Alkalmazás-fejlesztési Keretrendszer (ÁAFK) logikájához, amely már ma is egységes fejlesztési infrastruktúrát, közös komponenskönyvtárat és kontrollált kiadási folyamatot kínál az állami szoftverprojektekhez. A KözKód ezt a megközelítést terjeszti ki a civil fejlesztői közösség felé — és kínál egy természetes átjárót az állami átvételre, ha arra igény keletkezik.

A forrás-megnyitó intézmények — minisztériumok, önkormányzatok, állami tulajdonú társaságok — döntik el, mit tesznek fel a platformra. A megnyitás az ő döntésük, de csak a minisztérium jóváhagyásával és az NKI kötelező, 15 napos határidejű véleménye alapján hozhatják meg.

A karbantartók az adott intézmény által kijelölt személyek — lehetnek belső munkatársak, de szerződéses szállítók képviselői is. Ők fogadják be a pull requesteket. A 4-szem elv kötelező: legalább két karbantartó jóváhagyása szükséges minden egyes változtatáshoz.

A hozzájárulók az Ügyfélkapun belépett, azonosított fejlesztők, tesztelők, technikai írók, UX-tervezők, biztonsági kutatók — mindenki, akinek van szakmai kompetenciája és ideje egy-egy feladatot felvállalni.

A jelenlegi szállítók sem kimaradnak ebből — éppen ellenkezőleg. A platformon felhalmozódó, újrafelhasználható komponenseket egy szállító szabadon beépítheti a saját megoldásába akkor is, ha az zárt forráskódú: a közös komponensek megengedő (permisszív) licenc alatt állnak, így magas vagy jelentős biztonsági osztályú — épp ezért nem nyitható — rendszerekbe is beépíthetők. A szállítónak nem kell, és e rendszereknél nem is szabad megnyitnia a saját forráskódját; az egyetlen feltétel, hogy látható helyen feltüntesse, ha KözKód-komponenst használ. Így a szállító gyorsabban és olcsóbban dolgozhat, a KözKód pedig nem kiszorítja a piaci szereplőket, hanem közös alapot ad nekik — és arra ösztönzi őket, hogy saját érdekükből maguk is fejlesszék a közös komponenseket.

Erre van nemzetközi példa: a Linux kernel egyik legnagyobb vállalati hozzájárulója egy időszakban éppen a Microsoft volt — saját céljaiból, de így a közöshöz tette hozzá a legtöbbet. Ez a közös fejlesztés logikája: mindenki azt rakja hozzá, amire neki is szüksége van, és együtt több lesz az egész.


A hozzájárulás folyamata

A mechanizmus pontosan az, amit egy vállalati GitHub-ban megszokott a fejlesztő. A hozzájáruló kiválaszt egy nyitott feladatot, vagy maga javasol egyet. A karbantartó hozzárendeli. A hozzájáruló a saját fork-jában dolgozik, majd pull requestet nyit. Automatizált ellenőrzések futnak le:

  • Szintaktikai ellenőrzés (linting)
  • Egységtesztek
  • Biztonsági szkennelés (SAST)
  • Licenc-ellenőrzés

Ha ezek átmennek, következik a 4-szem emberi review. Befogadás esetén a kód a fő ágba kerül, és a hozzájárulás a felhasználó profiljához rendelődik.

Az intézmény bármikor szüneteltetheti vagy visszavonhatja a megnyitást — ez a rugalmasság a biztonságos működés egyik tudatos garanciája.


Miért csinálná bárki — az elismerési rendszer

Pénzt közvetlenül nem fizet senki a hozzájárulóknak. Ez szándékos — a közvetlen fizetés megváltoztatná a dinamikát, a motivációt és a jogi viszonyokat is. De az elismerés nem szimbolikus.

Minden befogadott hozzájárulás pontot ér, súlyozva a típusától és nehézségétől. A pontok három dimenzióban gyűlnek:

  • Fejlesztési pont — befogadott kód
  • Minőségi pont — hibajelentések, tesztelés, biztonsági felfedezések
  • Közösségi pont — dokumentáció, fordítás, mentorálás

A pontok alapján szintek: Bronz → Ezüst → Arany → Platina → KözKód Nagykövet — nyilvános profilon megjelenítve.

Meghatározott szintek elérése után a hozzájáruló KözKód tanúsítványt kap. Amiben szerepel: a hozzájárulás típusa és időszaka, az érintett projektek, az intézmények neve, és egy hitelesítő link. Ezt a tanúsítványt LinkedIn-en, önéletrajzban, közbeszerzési pályázatokban lehet hivatkozni.

A rendszer mellé: éves KözKód Gála kiemelkedő hozzájárulóknak, lehetőség szakmai panelekbe és tanácsadó testületekbe kerülni, bug bounty program biztonsági hibák felfedezésére, és egyes esetekben felkérés szerződéses munkára, összeférhetetlenségi szabályok mellett.


A technikai alap

A platform önállóan, magyar szervereken fut. Alapja egy hardenelt, magán-üzemeltetésű GitLab Community Edition — az állami intézményi átvételhez bármikor készen álló, nyílt forráskódú kódtárhely-megoldás.

A speciális modulok — CLA-modul, pontrendszer és tanúsítvány-modul — az alap platformra épülnek. A KAÜ-integráció (Ügyfélkapu+/DÁP belépés) tervezett jövőbeli fejlesztés, az infrastruktúra előkészítve. Az automatizált pipeline kötelező:

  • Titkok keresése — gitleaks, trufflehog
  • Függőségaudit — OWASP Dependency-Check
  • SAST — Semgrep, SonarQube
  • Licenc-ellenőrzés — FOSSA, Scancode

Az auditnapló minden hozzáférést, commitot, review-t WORM tárolóban rögzít — módosíthatatlan, tartós.

A platform önmaga is nyílt forráskódú projektként működik — saját kódja is a platformon hostolva. A közösség javíthatja és auditálhatja azt a rendszert, amelyen a közösségi hozzájárulás folyik.


A licencről — miért az EUPL

A megnyitott állami komponensek ajánlott licence az EUPL 1.2 (European Union Public Licence) — az Európai Bizottság saját, kifejezetten a közigazgatási szoftverek megosztására és újrafelhasználására alkotott nyílt licence. Az EU mind a 23 hivatalos nyelvén — így magyarul is — jogilag egyenértékűen elérhető, és több tagállam (Németország, Spanyolország, Hollandia, Észtország) közigazgatása is használja.

Az EUPL a „közpénzből közkód" elv jogi eszköze. Copyleft jellegű: a kódot bárki felhasználhatja és továbbfejlesztheti, de a belőle készült származékos művet is nyíltan, EUPL alatt kell megosztania. Így a közpénzből finanszírozott fejlesztés nyílt és újrafelhasználható marad — nem zárható vissza egyetlen szállító saját, zárt termékébe. Az EUPL emellett tudatosan kompatibilis más elterjedt nyílt licencekkel (például a GPL-lel), így a meglévő nyílt komponensekkel együtt használható.

Ezzel szemben a platformon a közösség által a semmiből épített, általános célú komponensek — amelyeket bárki, akár egy szállító is beépíthet a saját, zárt megoldásába — megengedő (permisszív) licenc alatt állnak (például Apache 2.0). Ez teszi lehetővé, hogy magas vagy jelentős biztonsági osztályú, nem nyitható rendszerekbe is bekerüljenek; ilyenkor az egyetlen feltétel a felhasznált KözKód-komponens látható feltüntetése. A két megközelítés együtt biztosítja, hogy az állami beruházás nyílt és visszafejleszthetetlen maradjon, a közös eszközök pedig a lehető legszélesebb körben hasznosuljanak.


Zárszó

A KözKód nem utópia. Az elemek mind léteznek: az Ügyfélkapu már működik, a Gitea/Forgejo már működik, a supply chain audit eszközök már léteznek, az EUPL már egy validált licenc. A kérdés nem az, hogy lehetséges-e — hanem hogy van-e politikai akarat és intézményi elkötelezettség megcsinálni.

Ha igen, Magyarország az elsők között lehet az EU-ban, amely a „kontrollált állami nyílt forráskód" modellt valóban megvalósítja — nem szimbólumként, hanem operatív infrastruktúraként. Ez valami olyasmi, amire a civil szakmai közösség régóta vár, az állam hasznát veszi, és az EU-s szinten is látható lenne.

A modell sikere három tényezőn múlik: a kellően óvatos, kockázatorientált jogi keret megalkotásán; az intézményi vezetők elköteleződésén; és a szakmai közösség bizalmán abban, hogy hozzájárulása valódi, nem szimbolikus hatást gyakorol az állam működésére.

— Gulyás György Tamás, 2026. május 23. | A megvalósítás azóta elkezdődött.

Érdekel a KözKód?

A platform elérhető — regisztrálj és kezdj el hozzájárulni állami nyílt forráskódú projektekhez.