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:
- Milyen jogokat kap a megrendelő a kódra: felhasználási jogot vagy átruházott vagyoni jogokat, és mire terjed ki ez?
- 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?
- Mi tartozik a fejlesztő saját, újrahasznosított elemei közé, és ezekre milyen feltételekkel kap jogot a megrendelő?
- Milyen formában történik az átadás: repository-hozzáférés, dokumentáció, telepítési leírás?
- Mi történik a hozzáférésekkel, ha az együttműködés véget ér?
- 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.




