Telefon v tmavě modrém obalu položený displejem dolů vedle svazku mosazných klíčů s korálovou visačkou a listu s tužkovými náčrty

Komu patří vaše aplikace? Co ověřit před podpisem

Autor Zdeněk Dolák, zakladatel5 min čtení

Účty v obchodech, zdrojový kód, podpisové klíče, služby a smlouva: co musí být na vaši firmu, abyste aplikaci mohli vydávat i bez dodavatele.

Aplikace je vaše jen tehdy, když ji můžete dál vydávat i bez lidí, kteří ji postavili. To stojí na pěti věcech: účty v obchodech jsou registrované na vaši firmu, zdrojový kód a nastavení sestavení leží v repozitáři, který spravujete, klíče a certifikáty jde obnovit z vašich účtů, služby, na kterých aplikace závisí, platíte vy, a smlouva říká, co s kódem smíte dělat. Všech pět si ověřte dřív, než podepíšete s jakýmkoli dodavatelem, nás nevyjímaje. Pokud aplikace už běží, ověřte je, dokud je spolupráce v dobrém.

Většina firem zjistí, že jim aplikace nepatří, až když chtějí změnit dodavatele. Kód je v repozitáři agentury, aplikace je vedená pod jejím vývojářským účtem a nikdo z firmy se do žádného z nich nikdy nepřihlásil. Obvykle za tím není zlý úmysl. Stane se to, když se na to nikdo včas nezeptá.

Účty v obchodech na jméno vaší firmy

Účet v Apple Developer Program a účet v Google Play Console jsou na tomto seznamu nejdůležitější. Kdo je drží, ovládá stránku aplikace v obchodě, vydávání nových verzí i recenze.

Oba obchody umožňují registraci na organizaci. Oba k ověření firmy chtějí číslo D-U-N-S, takže pokud ho nemáte, požádejte o něj včas, protože vydání může chvíli trvat. Jakmile účty existují, můžete dodavatele pozvat jako člena týmu s rolí, která mu dovolí sestavovat a odesílat nové verze. Účet mu patřit nemusí.

Pokud je aplikace už vydaná pod účtem dodavatele, dá se převést:

  • Apple umožňuje převod aplikace mezi vývojářskými účty. Aplikace si ponechá identifikátor (bundle ID), hodnocení i recenze a stávající uživatelé dál dostávají aktualizace. Některé věci zůstanou u původního účtu nebo se musí nastavit znovu. Apple mezi nimi uvádí certifikáty pro push notifikace (APNs), identifikátor obchodníka pro Apple Pay a údaje o prodejích po převodu.
  • Google Play umožňuje převod na jiný vývojářský účet. Uživatelé, hodnocení, recenze a statistiky přejdou s aplikací, přehledy výdělků a testovací kanály zůstanou.

Oba postupy mají podmínky, takže si před plánováním termínu přečtěte aktuální požadavky. Ani jeden není nic, co byste chtěli řešit v týdnu, kdy se s dodavatelem přete.

Zdrojový kód a sestavení, které jde zopakovat

Mít zdrojový kód ještě neznamená umět z něj aplikaci vydat. Chtějte:

  • Repozitář v účtu vaší organizace na GitHubu, GitLabu nebo Bitbucketu, kde je dodavatel členem, ne vlastníkem.
  • Celou historii změn, ne zip s poslední verzí.
  • Písemný postup sestavení a vydání, podle kterého se zorientuje i někdo mimo původní tým.
  • Konfiguraci automatického sestavení, pokud se verze vydávají automaticky, a přístup ke službě, na které běží.
  • Seznam všech proměnných prostředí a tajných údajů, které aplikace potřebuje, a kde je každý uložený. Samotné hodnoty patří do úložiště tajných údajů, které spravujete vy, ne do repozitáře.

Dobrý test je jednoduchý: zvládne vývojář, který projekt nikdy neviděl, sestavit verzi k vydání jen z repozitáře a písemného postupu? Pokud ne, něco pořád žije na něčím notebooku.

Podpisové klíče a certifikáty

Obchody přijmou jen aktualizaci podepsanou správnými klíči. Jejich ztráta dřív znamenala ztrátu aplikace.

  • Android. Při použití Play App Signing, které Google Play u nových aplikací vyžaduje, drží klíč podepisující instalovanou aplikaci Google. Vývojář má zvláštní klíč pro nahrávání. Když se ztratí, vlastník účtu může Google požádat o jeho výměnu. Víc než soubor tedy záleží na účtu, pokud je váš.
  • Starší aplikace pro Android mohly vzniknout ještě před Play App Signing a podpisový klíč pak drží vývojář. Zeptejte se, jestli je to váš případ a kde klíč je.
  • iOS. Podpisové certifikáty a profily se vydávají z účtu Apple Developer. Kdo účet spravuje, může vytvořit nové. Z téhož účtu pochází i klíč pro odesílání push notifikací.

Služby, na kterých aplikace závisí

Běžná aplikace používá několik externích služeb: push notifikace (často Firebase), hlášení pádů, analytiku, mapy, platby, e-maily nebo SMS. Každá má účet, vlastníka a fakturu.

U každé zjistěte, komu účet patří a kdo ho platí. Pokud je na faktuře firemní karta dodavatele, služba skončí spolu se spoluprací. Pomůže jednostránkový přehled těchto služeb s vlastníkem, kontaktem pro fakturaci a místem, kde jsou uložené přihlašovací údaje.

Počítají se i domény. Odkazy, které otevírají přímo aplikaci, závisí na souborech na webové doméně. Pokud doména patří dodavateli, odkazy přestanou fungovat, jakmile ji přestane platit.

Co o kódu říká smlouva

Podle autorského zákona jsou majetková práva autora nepřevoditelná (§ 26 zákona č. 121/2000 Sb.). Firma získává oprávnění je vykonávat nebo licenci. U počítačového programu vytvořeného na objednávku je výchozí úprava pro objednatele příznivá: považuje se za zaměstnavatele a majetková práva vykonává on (§ 58 odst. 7). Platí to ovšem jen tehdy, když smlouva nestanoví jinak, a jen pro práci dodavatele, ne pro komponenty třetích stran a open source, které mají vlastní licence.

Na výchozí úpravu proto nespoléhejte. Smlouva by měla jasně říkat:

  • Že aplikaci smíte užívat, upravovat a dál rozvíjet, i s jiným dodavatelem.
  • Že vám bude předán zdrojový kód, historie a dokumentace sestavení, a kdy.
  • Které komponenty si dodavatel přináší z dřívější práce a za jakých podmínek je smíte dál používat.
  • Že účty v obchodech, repozitáře a účty služeb se zakládají na vaše jméno, případně kdy na vás přejdou.

Jde o kontrolní seznam, ne o právní radu. Smlouvu nechte přečíst svého právníka.

Kontrolní seznam

PoložkaCo ověřitKde má být
Účet Apple DeveloperRegistrovaný na vaši firmu; dodavatel pozvaný jako člen týmuVe vaší organizaci, s alespoň dvěma lidmi z vaší strany, kteří se mohou přihlásit
Účet Google Play ConsoleRegistrovaný na vaši firmu; dodavatel má uživatelskou roli, ne vlastnictvíVe vaší organizaci, s alespoň dvěma lidmi z vaší strany, kteří se mohou přihlásit
Zdrojový kódCelá historie v repozitáři, který vlastníte; dodavatel je členVe vaší organizaci na GitHubu, GitLabu nebo Bitbucketu
Sestavení a vydáníPísemný postup pro nového vývojáře; přístup ke službě pro sestaveníV repozitáři a ve vašem účtu služby pro sestavení
Podpisové klíčeZapnuté Play App Signing; klíč pro nahrávání a certifikáty obnovitelné z vašich účtůVe vašich účtech v obchodech a v úložišti tajných údajů, které spravujete
Externí službyVlastník, kontakt pro fakturaci a přístupy pro push notifikace, hlášení pádů, analytiku, mapy, platbyÚčty na vaše jméno, zapsané v jednom přehledu
Domény a odkazyDomény pro odkazy do aplikace a pro backend jsou vašeU vašeho registrátora domén
SmlouvaPrávo upravovat a dál rozvíjet; předání kódu a dokumentace; vlastní komponenty dodavateleV podepsané smlouvě, kterou četl váš právník

Když je aplikace už v rukou dodavatele

Pokud má dnes něco z toho dodavatel, požádejte o to klidně a písemně, dokud spolupráce funguje. Rozumný dodavatel souhlasí. Stojí ho to málo a spolupráci to dodá důvěru.

Začněte účty v obchodech a repozitářem, protože všechno ostatní se dá z nich znovu postavit. Pokud se aplikace musí přesunout z účtu dodavatele na váš, naplánujte převod s ním, ne za jeho zády. Na stránce vývoj mobilních aplikací popisujeme, co posuzujeme před převzetím existující aplikace. Co dalšího patří do zadání, najdete v článku jaké podklady poslat před poptávkou mobilní aplikace.

Další krok

Pokud si nejste jistí, kdo u vaší aplikace co drží, pošlete nám krátký popis přes kontaktní stránku: v kterých obchodech aplikace je, kdo ji postavil a k čemu máte dnes přístup. Hesla ani klíče prosím neposílejte, k rozhovoru nejsou potřeba.

Zdroje

Zdroje jsou kromě autorského zákona v angličtině.