Szoftverszerződések

Egy szoftverszerződés akkor tölti be valódi funkcióját, ha a tényleges üzleti és műszaki működést képezi le jogi struktúrában. Teljesen eltérő szerződéses logikát igényel egy egyedi szoftverfejlesztés, egy agilis terméképítés, egy komplex vállalati rendszerbevezetés és integráció, vagy egy folyamatos szoftvertámogatási (support és maintenance) konstrukció.

A szoftverekkel kapcsolatos jogi munka ezért nem sablonklauzulák beillesztésével, hanem a projekt felépítésének megértésével kezdődik: tisztázni kell, hogy pontosan mit fejleszt vagy rendel meg a vállalkozás, melyek a meglévő és az újonnan készülő komponensek, hogyan történik a teljesítés igazolása, ki viseli a technológiai kockázatokat, és mi történik, ha az együttműködés nem az eredeti tervek szerint alakul.

Szoftverszerződések elkészítését, véleményezését és tárgyalását vállalom szoftverfejlesztő cégek, technológiai szállítók és szoftvert megrendelő vállalkozások részére. A cél olyan egyértelmű szerződéses keretrendszer kialakítása, amely megelőzi a specifikációs és átadás-átvételi vitákat, rendezi a forráskód és a szellemi tulajdon sorsát, valamint hosszú távon is biztonságos üzemeltetést garantál.

Milyen területeket fednek le a szoftverszerződések?

Egyedi fejlesztési szerződések: Agilis (Scrum) és Waterfall modellek

A szoftverfejlesztési projektek sajátossága, hogy az induláskor ritkán ismert minden részlet olyan pontossággal, mint egy hagyományos adásvételnél. A fejlesztés során változhatnak az üzleti igények, az integrációs környezet és a műszaki megoldások is, ezért a szoftverszerződésnek a választott fejlesztési módszertanhoz kell igazodnia:

  • Specifikáció és projekthatárok (scope): a szoftverfejlesztési viták jelentős része abból ered, hogy a felek eltérően értelmezik az eredeti vállalási kört, ezért rögzíteni kell a funkcionális specifikációt, a technikai követelményrendszert, az interfészeket és a dokumentációt;
  • Waterfall (vízesés) modellű szerződések: előre rögzített specifikációra, fix határidőkre és tételesen definiált mérföldkövekre épülő fejlesztési konstrukciók;
  • Agilis (Scrum) fejlesztési szerződések: amikor a végtermék előre nem specifikálható teljes részletességgel, a jogi biztonságot a product backlog, a sprintek, a prioritások, az iteratív elfogadási folyamat és az elszámolási keretek pontos szabályozása teremti meg;
  • Változáskezelés (Change Request): egyértelmű eljárásrend arra, hogy ki kezdeményezhet módosítást, ki hagyja jóvá, és az új funkcióigény hogyan módosítja a fejlesztési díjat és a határidőket.

Mérföldkövek és átadás-átvétel: specifikációs és tesztelési eljárásrend

A szoftverprojektek legkritikusabb pontja annak eldöntése, hogy mikor van kész a szoftver. A szubjektív megrendelői elégedettség helyett objektív, mérhető műszaki és jogi folyamathoz kell kötni a teljesítés elfogadását (acceptance):

  • Tesztelési folyamat és elfogadási kritériumok: a fejlesztői tesztelés, a felhasználói elfogadási teszt (UAT), a tesztelésre nyitva álló határidők és a hallgatással történő elfogadás (fiktív átvétel) szabályozása;
  • Hibakategóriák és javítási határidők: a blokkoló (kritikus), súlyos és kisebb (esztétikai) hibák pontos elkülönítése, rögzítve, hogy mely hibák akadályozzák meg az átadás-átvételt és a számlázást;
  • Részleges és feltételes átvétel: a mérföldkövekhez kötött részteljesítések, a visszatartott díjrészletek és a végleges teljesítésigazolás joghatásai;
  • Projektmegszakítás és exit-szabályok: ha az együttműködés megszakad, a szerződésnek rendeznie kell az addigi fejlesztési eredmények, a forráskód, a fejlesztési környezet és a dokumentáció átadását, hogy a projekt más fejlesztővel is folytatható legyen.

Support, karbantartás (maintenance) és SLA kötelezettségek

Az élesítést követően a szoftver üzembiztos működését támogatási és szoftverkövetési szerződések biztosítják. Fejlesztői és megrendelői oldalon egyaránt alapvető érdek, hogy szerződéses szinten élesen elkülönüljön egymástól az eredeti fejlesztés, a garanciális hibajavítás, az üzemeltetési support és a külön díjazású továbbfejlesztés:

  • SLA (Service Level Agreement): egzakt módon mérhető rendelkezésre állási százalékok, kizárt karbantartási időszakok, incidensosztályok, reakció- és helyreállítási idők, valamint eszkalációs útvonalak;
  • Szoftverkövetés és frissítések (Maintenance): verziófrissítések, biztonsági javítások (patchek), jogszabályváltozások lekövetése és kompatibilitási kötelezettségek;
  • Rendszerbevezetési, API- és integrációs megállapodások: külső rendszerekkel való összekapcsolás, adatkapcsolatok és harmadik fél komponensek működési felelősségének elhatárolása.

Komplex szoftverszerződéses architektúra kialakítása

Technológiai vállalkozásoknál és nagyobb IT-projekteknél egyetlen dokumentum helyett gyakran moduláris szerződéses rendszerre van szükség. Ez magában foglalhatja a fejlesztési keretszerződést, az egyedi megrendeléseket (SOW), a műszaki és specifikációs mellékleteket, az SLA-t, a licenc- és IP-rendelkezéseket, a forráskód-letéti (escrow) szabályokat, az adatfeldolgozási megállapodást (DPA) és a kiberbiztonsági előírásokat.

A jól felépített belső architektúra egyensúlyt teremt: fejlesztői oldalon megakadályozza a teljesíthetetlen, nyitott végű kötelezettségvállalásokat és ésszerű felelősségi plafont állít fel; megrendelői oldalon pedig garantálja, hogy a vállalkozás valóban megszerezze a működő szoftvert, a hozzá tartozó vagyoni és felhasználási jogokat, a forráskódot és a teljes dokumentációt.

Miért nem elegendő egy általános sablon a szoftverszerződésekhez?

Egy szoftverszerződésben a valódi kockázatok nem az általános polgári jogi zárórendelkezésekben, hanem a projekt- és szoftverspecifikus folyamatokban rejlenek. Ha a szerződés nem rendezi pontosan a változáskezelést (change request), a megrendelő és a fejlesztő hamar vitába kerülhet arról, hogy egy felmerülő igény az eredeti fix ár része vagy pluszmunka.

Ugyanígy kritikus a teljesítési csapda elkerülése: objektív tesztelési és hibakategorizálási szabályok nélkül a fejlesztő nem tudja igazolni a teljesítést, a megrendelő pedig nem tudja érvényesíteni a minőségi kifogásait vagy más fejlesztővel befejeztetni a félbemaradt rendszert.

Referenciák és szakmai háttér

  • egyedi szoftverfejlesztési szerződések és agilis (Scrum) fejlesztési keretszerződések kidolgozása;
  • vállalati rendszerbevezetési, integrációs, API- és migrációs megállapodások jogi biztosítása;
  • SLA-, support-, maintenance- és szoftverkövetési szerződéses rendszerek kialakítása;
  • szoftverlicenc-, felhasználási és forráskód-átadási konstrukciók strukturálása hazai és nemzetközi projektekben;
  • fejlesztői és megrendelői képviselet specifikációs, átadás-átvételi és elszámolási jogvitákban.

Jogi támogatás szoftverszerződésekhez

1. Szoftverszerződés előzetes véleményezése és kockázatelemzése

  • Kinek ajánlott? Megrendelőknek vagy fejlesztőknek, akik a másik fél által küldött szoftverfejlesztési, rendszerbevezetési vagy support szerződéstervezetet írnak alá.
  • Eredmény: Tételes jogi felülvizsgálat és szövegszerű módosítási javaslatok a specifikáció, mérföldkövek, átadás-átvétel, IP-jogok, felelősségi korlátok és exit-feltételek védelmére.
  • Következő lépés: A szerződéstervezet és a műszaki mellékletek áttekintése még a kötelezettségvállalás előtt.

2. Egyedi szoftverfejlesztési és support szerződés elkészítése

  • Kinek ajánlott? Konkrét szoftverprojektet indító vállalkozásoknak, ahol szükség van az Agilis vagy Waterfall módszertanhoz illeszkedő, egyedi szerződés megalkotására.
  • Eredmény: A projekt műszaki és üzleti folyamataira szabott szoftverszerződés (változáskezelési, tesztelési, hibakategorizálási, forráskód- és SLA-szabályozással).
  • Következő lépés: Konzultáció a projekt paramétereiről, az elszámolási modellről és a kritikus kockázatokról.

3. Komplex szoftverházi szerződéses rendszer kialakítása

  • Kinek ajánlott? Szoftverfejlesztő cégeknek és IT-szolgáltatóknak, amelyek több ügyfélre és projektre is skálázható, moduláris szerződésállományt szeretnének.
  • Eredmény: Egymásra épülő keretszerződés, egyedi megrendelő (SOW), SLA-, support-, licenc- és alvállalkozói szerződéscsomag.
  • Következő lépés: A szoftverház értékesítési és fejlesztési folyamatainak felmérése a szerződéses struktúra megtervezéséhez.

Gyakran Ismételt Kérdések a szoftverszerződésekről

Egyszerűbb ügyletnél kiindulópont lehet, de összetett szoftverprojektnél a lényeges rendelkezések nem a sztenderdizált jogi klauzulákban, hanem a szolgáltatás pontos tárgyában, az IP-jogokban, az átadás-átvételi folyamatban, az SLA-ban, a felelősségkorlátozásban és az exit szabályaiban vannak. Ezeket egy általános minta nem kezeli megfelelően.

Igen. Agilis projekt esetén nem feltétlenül lehet a teljes végterméket előre részletesen specifikálni, de ennek ellensúlyozására a backlog kezelését, a sprintek hosszát és prioritásait, az iteratív elfogadási folyamatot, a változáskezelést és az elszámolás szabályait kell precízen rögzíteni a szerződésben.

Erre szolgál a szerződésbe épített változáskezelési (Change Request) folyamat. Ennek alapján objektíven eldönthető, hogy az új igény az eredeti specifikáció (scope) része, hibajavítás vagy külön díjazású új fejlesztés, és ennek megfelelően hogyan módosul a fejlesztési díj, valamint a teljesítési határidő.

Előre meghatározott műszaki elfogadási kritériumok, tesztelési eljárásrend és hibakategóriák alapján. A szubjektív megrendelői elégedettség helyett rögzíteni kell, hogy mely kritikus hibák akadályozzák az átvételt, és mely kisebb hibák javíthatók az átvételt követően, garanciális vagy support keretben.

Igen, de komplex szolgáltatásnál gyakran átláthatóbb és biztonságosabb egy keretszerződés és több funkcionális melléklet alkalmazása például külön specifikációs, SLA-, support-, licenc- és adatfeldolgozási melléklettel , így az egyes elemek a későbbiekben önállóan is módosíthatók.

Az alapvető üzleti és műszaki struktúra megtartható, azonban a jogválasztás, az irányadó bírósági joghatóság, a felelősségkorlátozási szabályok, a nemzetközi adatkezelés és az értékesítési modell sajátosságai miatt a szerződés célzott felülvizsgálata mindenképpen indokolt.


Biztosítsa szoftverprojektjét egyértelmű szerződéses keretekkel!

Legyen szó új szoftverfejlesztés indításáról, agilis keretszerződésről, rendszerintegrációról vagy support és SLA megállapodásról, egy előzetes jogi áttekintés segít elkerülni a későbbi specifikációs, átadás-átvételi és elszámolási vitákat.

Következő lépés: Konzultáció keretében áttekintjük a tervezett szoftverszerződést vagy kialakítjuk a projektjéhez illeszkedő szerződéses konstrukciót.

Szerződéskötés és konzultáció személyesen, vagy online videóhívás igénybevételével (Skype, Microsoft Teams) személyes megjelenés nélkül.

Időpontot kérek

Személyes konzultáció előtt lehetőséget adunk ingyenes jogi tanácsadásra e-mailen keresztül. Ennek igénybevételéhez kérem, válasszon szakterületet!

Informatikai jog Cégjog Kiberbiztonság, NIS2 Szellemi alkotások joga Startupok jogi képviselete Peres képviselet