“Pagámos por isso, portanto é nosso” é a suposição. Se isso é verdade depende inteiramente do que o contrato diz e, na ausência de uma cláusula, o padrão em muitas jurisdições favorece o programador.
O que a propriedade deve abranger
Um contrato que trate corretamente desta questão aborda quatro elementos separadamente:
- Código-fonte personalizado escrito especificamente para este projeto.
- Ativos de design — ecrãs, ícones, ilustrações e os ficheiros-fonte editáveis, não apenas imagens exportadas.
- Dados — tudo o que a aplicação armazena, que deve pertencer inequivocamente ao cliente.
- Documentação — especificação, notas de arquitetura e instruções de implementação.
A cláusula a procurar transfere a propriedade do trabalho personalizado para o cliente após o pagamento final. Dois detalhes são importantes: deve ocorrer no momento do pagamento, e não num evento posterior, e deve indicar explicitamente que inclui os ficheiros-fonte de design, que são frequentemente esquecidos e difíceis de obter posteriormente.
O que não pode ser seu
Alguns componentes são licenciados em vez de transferidos, e isso é normal:
- Bibliotecas de código aberto. Todas as aplicações modernas utilizam muitas. Estas têm as suas próprias licenças, a maioria das quais permite livremente o uso comercial. O importante é que as licenças sejam compatíveis com a sua utilização — pedir uma lista delas é perfeitamente razoável.
- Componentes comerciais — uma biblioteca de gráficos paga, um tipo de letra licenciado ou um modelo comprado. Estes têm licenças que podem ser por projeto, por programador ou por implementação, e a licença precisa de ser transferida para si ou de ser adquirida novamente.
- Código de framework preexistente do programador. Muitas agências reutilizam ferramentas internas em vários projetos. Isso é legítimo e geralmente benéfico, mas o código deve ser licenciado para si perpetuamente, em vez de ficar indefinido — caso contrário, parte da sua aplicação pertence a outra pessoa.
As imagens de banco são um problema recorrente. As imagens licenciadas para um protótipo nem sempre estão licenciadas para utilização em produção, e descobrir isso após o lançamento é dispendioso. Perguntar de onde veio cada imagem vale os cinco minutos.
O pacote de entrega
O teste de uma entrega é simples: um programador competente que nunca tenha visto este projeto conseguiria assumi-lo? Isso requer:
- O repositório completo com o respetivo histórico, transferido para uma conta controlada pelo cliente. O histórico de commits é importante — é assim que um novo programador compreende por que motivo as coisas são como são.
- Instruções de implementação suficientemente detalhadas para reconstruir o ambiente a partir do zero.
- Configuração do ambiente — que definições existem, o que fazem e quais são segredos.
- Todas as credenciais das contas — alojamento, domínio, base de dados, serviços de terceiros e contas de lojas — transferidas para a propriedade do cliente.
- O esquema da base de dados e quaisquer scripts de migração.
- Inventário dos serviços de terceiros com a indicação da finalidade de cada um e do respetivo custo.
- Ficheiros-fonte de design.
- Problemas conhecidos e itens adiados, documentados honestamente.
Vale a pena pedir explicitamente este último item. Todos os projetos têm compromissos conhecidos, e um programador disposto a documentá-los está a oferecer ao cliente algo genuinamente valioso.
Verificar se a entrega funciona
A verificação mais sólida consiste em pedir a alguém independente que implemente a aplicação apenas com o pacote de entrega, num ambiente novo, sem fazer perguntas ao programador original. Se isso for bem-sucedido, a entrega é real.
Fazer isto enquanto a relação ainda é boa é muito mais fácil do que fazê-lo depois de terminada. É razoável fazer com que uma pequena parte do pagamento final dependa desse resultado.
Escrow
Quando o programador retém o código — por vezes, é o caso em modelos baseados em plataformas ou em subscrições — o escrow de código-fonte coloca uma cópia junto de um terceiro, que a disponibiliza ao cliente mediante condições definidas, como a cessação da atividade do programador.
Tem custos e acrescenta tarefas administrativas, sendo sobretudo proporcional quando a aplicação é crítica para o negócio e o programador é uma empresa pequena. Para a maioria dos projetos pequenos, uma transferência direta da propriedade, combinada com uma entrega verificada, alcança mais por menos.
Definir antes de começar
- Quem é proprietário do código personalizado e a partir de quando.
- Se os ficheiros-fonte de design estão incluídos.
- Como é licenciado o código preexistente do programador.
- Que os dados pertencem inequivocamente ao cliente, num formato exportável.
- O que contém o pacote de entrega.
- Que as contas são criadas em nome do cliente desde o início.
Serviços Manboo relacionados
- Desenvolvimento de aplicações Flutter para MVPs de iOS e Android.
- Desenvolvimento de software empresarial para sistemas de CRM, reservas, inventário e fluxos de trabalho.
- Desenvolvimento de painéis de administração para dashboards operacionais e gestão de back-end.
- Integração de APIs de IA quando o seu produto estiver pronto para pesquisa inteligente, chat ou automação.
- Solicite uma revisão do âmbito e uma estimativa do projeto quando estiver pronto para planear a primeira versão.
