ingyenes webstatisztika
Főoldal / Applikáció fejlesztés / Kié az app forráskódja, és mit tisztázz a szerződésben?

Kié az app forráskódja, és mit tisztázz a szerződésben?

AppSolution - Kié az app forráskódja, és mit tisztázz a szerződésben?

Amikor egy cég appot fejlesztet, a figyelem jellemzően a funkciókra, a dizájnra, a határidőre és az árra irányul. Van azonban egy kérdés, amely ritkán kerül elő az első egyeztetéseken, pedig évekre meghatározhatja a projekt sorsát: kié az app forráskódja, és ki rendelkezik a működéshez szükséges fiókok, szerverek, kulcsok felett? Tapasztalataink szerint ez akkor válik igazán fontossá, amikor váltani szeretnénk fejlesztőt, befektetőt vonunk be, vagy egyszerűen csak tovább akarjuk fejleszteni a terméket.

Ebben a cikkben közérthetően összefoglaljuk, mit jelent a forráskód „birtoklása”, milyen egyéb hozzáférésekre van szükség, és mire érdemes figyelni a szerződéskötés előtt. Jogi tanácsot nem adunk, de megmutatjuk, mely kérdéseket érdemes feltenni – a fejlesztőnek és szükség esetén az ügyvédnek is.

Mi az a forráskód, és miért nem elég „megkapni az appot”?

A forráskód az a programkód, amelyet a fejlesztők megírnak, és amelyből a boltokba feltöltött, telepíthető alkalmazás készül. A felhasználó telefonján futó app ehhez képest egy „lefordított” csomag: használni lehet, de érdemben továbbfejleszteni nem.

Ha tehát valaki csak a kész alkalmazást kapja meg, a forráskódot nem, akkor minden változtatáshoz az eredeti fejlesztőhöz kell fordulnia. Ez nem feltétlenül baj, amíg az együttműködés jól működik – de ha a kapcsolat megszakad, a cég könnyen olyan helyzetbe kerülhet, hogy egy apró hibajavításhoz is újra kell írni a teljes appot.

Szerzői jog és felhasználási jog: két külön dolog

A szoftver Magyarországon szerzői jogi védelem alatt áll. A gyakorlatban ez azt jelenti, hogy pusztán attól, hogy kifizettük a fejlesztést, nem feltétlenül kerül hozzánk minden jog. Az számít, mit rögzít a szerződés. Leegyszerűsítve két jellemző megoldás létezik:

  • Felhasználási jog (licenc): a megrendelő engedélyt kap az app használatára, esetleg módosítására is, meghatározott terjedelemben (például időben, területileg, kizárólagosan vagy nem kizárólagosan).
  • Vagyoni jogok átruházása: szoftvereknél lehetőség van arra, hogy a vagyoni jogok a megrendelőhöz kerüljenek, így ő rendelkezhet a kóddal, továbbfejlesztheti, akár el is adhatja.

Fontos: a fejlesztő cég gyakran használ saját, korábban kifejlesztett modulokat, keretrendszereket, amelyeket több projektben is alkalmaz. Ezek jellemzően nem kerülnek át teljes egészében a megrendelőhöz, hanem felhasználási jogot kap rájuk. Ez teljesen bevett gyakorlat – a lényeg, hogy előre tisztázott legyen.

Nyílt forráskódú komponensek: a kód egy része nem is „a miénk”

Szinte minden modern app épít nyílt forráskódú könyvtárakra. Ezek ingyenesen használhatók, de saját licencfeltételeik vannak: egyesek szinte bármit megengednek, mások bizonyos esetekben kötelezettségeket rónak a felhasználóra. Egy átvilágításnál – például befektetői due diligence során – gyakran rákérdeznek, milyen külső komponensek vannak az appban, és ezek licencei összeegyeztethetők-e az üzleti modellel. Erről bővebben a dependency kezelésről szóló cikkünkben írtunk.

Nem csak a kód számít: fiókok, kulcsok, hozzáférések

Sokan meglepődnek, hogy az app forráskódja önmagában nem elég a működtetéshez. Legalább ilyen fontos, hogy kinek a nevén vannak azok a fiókok és szolgáltatások, amelyek nélkül az alkalmazás nem frissíthető vagy nem működik. Az alábbi táblázatban összegyűjtöttük a leggyakoribbakat:

Elem Miért fontos? Mit javaslunk?
Apple Developer és Google Play fejlesztői fiók Ezekhez kötődik az app a boltokban; fiókváltás külön folyamat. A megrendelő cég nevén legyen, a fejlesztő meghívott taggal dolgozzon.
Forráskód-tároló (pl. Git repository) Itt van a kód és a változtatások teljes története. Legyen hozzáférésünk, vagy rendszeres átadás a szerződés szerint.
Szerver, felhő- és adatbázis-fiókok Itt futnak a háttérrendszerek és tárolódnak az adatok. Lehetőleg a megrendelő számlázási fiókja alatt fussanak.
Domain és e-mail szolgáltatás A weboldal, az API-k és a rendszerüzenetek ehhez kapcsolódnak. Mindig a cég nevén legyen regisztrálva.
Külső szolgáltatások (fizetés, térkép, push, analitika) API-kulcsok és szerződések kötődnek hozzájuk. Készüljön lista a kulcsokról és a fiókok tulajdonosairól.
Dokumentáció Nélküle egy új csapat jóval lassabban tud bekapcsolódni. Legyen az átadás része a műszaki leírás és a telepítési útmutató.

Gyakori hiba, hogy a fejlesztői fiókot az induláskor „egyszerűség kedvéért” a fejlesztő regisztrálja a saját nevén. Később ez komoly fejfájást okozhat, mert az app áthelyezése egy másik fiókba adminisztrációval és bizonyos korlátozásokkal járhat.

Mit érdemes rögzíteni a szerződésben?

A szerződés részleteit mindig az adott projekthez kell igazítani, és érdemes jogásszal is átnézetni. Az alábbi kérdésekre azonban mindenképp legyen egyértelmű válasz:

  1. Milyen jogokat kap a megrendelő a kódra: felhasználási jogot vagy átruházott vagyoni jogokat, és mire terjed ki ez?
  2. Mikor kerül át a jog és a kód: a teljes kifizetéskor, mérföldkövenként vagy a projekt végén?
  3. Mi tartozik a fejlesztő saját, újrahasznosított elemei közé, és ezekre milyen feltételekkel kap jogot a megrendelő?
  4. Milyen formában történik az átadás: repository-hozzáférés, dokumentáció, telepítési leírás?
  5. Mi történik a hozzáférésekkel, ha az együttműködés véget ér?
  6. Szükség esetén forráskód-letét (escrow): a kód egy független harmadik félnél van letétben, és meghatározott esetekben – például ha a fejlesztő megszűnik – a megrendelő hozzájuthat.

Mikor számít igazán, kié az app forráskódja?

A forráskód és a hozzáférések kérdése jellemzően három helyzetben kerül előtérbe. Az első a fejlesztőváltás: ha a megrendelő új partnerrel dolgozna tovább, az új csapatnak hozzá kell férnie a kódhoz és a fiókokhoz. A második a befektetés vagy cégeladás: a befektetők rendszerint ellenőrzik, hogy a cég valóban rendelkezik-e a termék feletti jogokkal. A harmadik a hosszú távú továbbfejlesztés: ha az app évekig él, szinte biztos, hogy idővel több fejlesztő is dolgozik rajta.

Mi azt tapasztaljuk, hogy azok a projektek mennek a legsimábban, ahol ezeket a kérdéseket már az ajánlatkérés szakaszában átbeszéljük. Ilyenkor senkinek nincs rejtett elvárása, és nincs utólagos vita arról, „kié is az app valójában”.

Összegzés

Az app forráskódja és a hozzá tartozó fiókok, kulcsok az alkalmazás egyik legértékesebb részét jelentik, mégis gyakran csak akkor kerülnek szóba, amikor már probléma van. Érdemes már a szerződéskötés előtt tisztázni, milyen jogokat kap a megrendelő, kinek a nevén lesznek a fejlesztői és szerverfiókok, és hogyan zajlik az átadás. Ez nem bizalmatlanság jele, hanem a felelős termékgondolkodás része.

Ha appfejlesztésben gondolkodsz, és szeretnéd már az elején átlátni, mi kerül a birtokodba a projekt végén, az AppSolution csapata szívesen végigbeszéli veled ezeket a kérdéseket is.

Szólj hozzá

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük