Artigo

De quem é o códigodo software sob medida?

A lei dá um ponto de partida, mas quem resolve a questão é o contrato. Veja o que ele precisa dizer, o que pedir na entrega e como manter a liberdade de trocar de fornecedor.

Falar com o consultor →

A resposta curta

Na maioria dos casos, quando o desenvolvimento do sistema é o próprio objeto do contrato, a lei brasileira do software tende a colocar os direitos com quem contratou. Essa regra vale salvo estipulação em contrário, então quem decide de verdade é o contrato, e ele precisa dizer isso por escrito.

Ter o direito no papel também não basta. Na prática, o software só é seu quando você tem o código em um repositório sob o seu controle, a documentação para outra equipe entender o sistema e os acessos à infraestrutura onde ele roda. Este texto é um guia prático, não um parecer jurídico: revise o contrato com um advogado de sua confiança.

O que a Lei 9.609/1998 diz sobre a propriedade do software

A Lei 9.609/1998, conhecida como lei do software, trata o programa de computador como obra protegida pelo regime de direito autoral. A proteção existe independentemente de registro. O registro no INPI é opcional e serve como prova de autoria e de data, não como condição para ter o direito.

Para o caso que interessa aqui, a lei traz uma regra de partida: salvo estipulação em contrário, os direitos sobre o programa desenvolvido durante um contrato de prestação de serviços cuja finalidade é justamente esse desenvolvimento pertencem a quem contratou. A mesma lógica vale para o empregador em relação ao empregado contratado para desenvolver software.

O ponto que mais gera conflito está na expressão "salvo estipulação em contrário". O contrato pode dispor de outro jeito, e muitos dispõem, às vezes em uma cláusula genérica que ninguém leu com atenção. Também há zonas cinzentas que a regra geral não resolve sozinha: ferramentas e componentes que o fornecedor já tinha antes do projeto, bibliotecas de terceiros e produtos próprios do fornecedor que foram adaptados para você.

Cessão ou licença: qual a diferença na prática

Quase todo contrato de software cai em um de dois modelos, ou numa combinação deles. Na cessão, os direitos patrimoniais sobre o código passam para você. Na licença, o fornecedor continua dono e autoriza o uso, dentro das condições que o contrato fixar.

PontoCessão de direitosLicença de uso
Quem fica com o códigoVocê, como titular dos direitos patrimoniaisO fornecedor, que autoriza o uso
Acesso ao código-fonteEntregue a você, com o histórico de versõesDepende do contrato; muitas vezes não é entregue
Trocar de fornecedorOutra equipe pode assumir o sistemaExige negociar com o fornecedor ou recomeçar
Quando costuma fazer sentidoSistema feito para a sua operação, que você quer evoluir com liberdadeProduto que o fornecedor vende para vários clientes
O que conferir no contratoEscopo da cessão e o que fica de fora, como componentes préviosPrazo, usuários, atualizações, suporte e o que acontece se o contrato acabar

Nenhum dos dois é errado em si. Licenciar um produto pronto pode ser a melhor escolha quando o processo é padrão, como discutimos em software pronto ou sob medida. O problema aparece quando você paga por um sistema feito para a sua operação e descobre, no fim, que só ganhou o direito de usar.

Um arranjo comum e razoável é a combinação: você recebe a cessão do que foi construído para o seu projeto e uma licença permanente e gratuita para usar os componentes que o fornecedor já tinha e reaproveita em outros clientes. O importante é que isso esteja escrito, com a lista do que é cada coisa.

O que o contrato de desenvolvimento precisa dizer

Antes de assinar, confira se o contrato responde a estas perguntas sem deixar margem para interpretação:

  • Quem é o titular do código. A cláusula precisa dizer se há cessão dos direitos patrimoniais, a partir de quando ela vale (na entrega, a cada pagamento ou ao final) e se abrange também documentação, design e banco de dados.
  • O que fica de fora. Componentes que o fornecedor já tinha, bibliotecas de terceiros e produtos próprios devem estar listados, com a licença que você recebe para cada um.
  • Quando e como o código é entregue. O ideal é o código ficar no seu repositório desde o começo, e não ser entregue de uma vez só no encerramento.
  • O que acontece no fim do contrato. Prazo de transição, apoio para passar o sistema a outra equipe, devolução de acessos e exportação dos dados em formato aberto.
  • Confidencialidade e dados. Quem pode acessar os dados da operação, para que finalidade e como isso conversa com a LGPD.

Esses pontos valem para qualquer fornecedor. Quando você ainda está escolhendo quem vai desenvolver, eles entram na lista de perguntas do guia sobre como contratar uma software house.

O que pedir na entrega do sistema

Propriedade que não se exerce não protege ninguém. Se o fornecedor sumir amanhã, a pergunta é simples: outra equipe consegue colocar o sistema no ar, entender o código e continuar o trabalho? Para isso, a entrega precisa incluir:

  • Repositório de código. Em uma conta da sua empresa, com o histórico completo de versões, e não um arquivo compactado enviado por e-mail.
  • Documentação técnica. Como o sistema está organizado, como instalar, como publicar uma versão nova e quais integrações ele usa.
  • Registro de decisões. Por que cada escolha importante foi feita, quais riscos foram aceitos e o que ficou para depois.
  • Acessos administrativos. Hospedagem, banco de dados, domínio, e-mail transacional e serviços de terceiros em contas suas, ou com você como administrador.
  • Infraestrutura descrita. Quais ambientes existem, como são configurados e onde ficam as cópias de segurança.
  • Credenciais e chaves. Guardadas em um cofre de senhas sob o seu controle, com a lista do que cada uma faz.

No nosso método de trabalho, decisões, critérios de aceite, versões e riscos ficam documentados ao longo do projeto, e não só no final. É isso que faz o conhecimento do sistema não depender da memória de ninguém, nem da nossa.

Bibliotecas de terceiros e código aberto

Nenhum sistema moderno é escrito do zero. Frameworks, bibliotecas e componentes de código aberto fazem parte de quase todo projeto, e isso é bom: são peças testadas por muita gente. Mas elas não passam a ser suas. Cada uma tem a própria licença, e você recebe o direito de usá-la nos termos dessa licença.

A maior parte das licenças mais usadas, como MIT, BSD e Apache, é permissiva: permite usar e modificar inclusive em software fechado, pedindo basicamente que o aviso de licença seja mantido. Outras, como a família GPL, impõem condições sobre a distribuição do software que as incorpora. Para um sistema que roda só dentro da sua operação, isso costuma ter pouco impacto, mas vale saber quais estão no projeto.

O pedido razoável ao fornecedor é uma lista das dependências principais com as respectivas licenças, e o compromisso de não incluir componentes cuja licença conflite com o uso que você pretende dar ao sistema.

Como evitar ficar refém do fornecedor

Ficar refém raramente acontece por má-fé. Acontece por acúmulo: o código fica na conta do fornecedor, a hospedagem está no cartão dele, só uma pessoa sabe publicar uma versão nova e nada disso foi escrito. Quando a relação acaba, ou quando essa pessoa sai, o sistema vira uma caixa-preta.

Algumas práticas simples evitam isso desde o primeiro dia. Abra o repositório e as contas de infraestrutura no nome da sua empresa e dê acesso ao fornecedor, e não o contrário. Peça para ver a documentação em cada entrega, e não só no encerramento. Prefira tecnologias de mercado, com comunidade e profissionais disponíveis, a soluções proprietárias que só o fornecedor domina.

Se você já está nessa situação, com um sistema antigo que ninguém mais entende, o caminho costuma ser uma avaliação técnica antes de qualquer decisão. Falamos disso no guia sobre como modernizar um sistema legado, e é o mesmo cuidado que aplicamos quando assumimos a manutenção de um sistema feito por outra equipe no nosso trabalho de desenvolvimento de software sob medida.

Perguntas frequentes

Perguntas sobre este tema.

01Preciso registrar o software no INPI para ser dono dele?

Não. A proteção do programa de computador independe de registro. O registro no INPI é opcional e funciona como prova de autoria e de data, útil em caso de disputa. A titularidade, na relação com o fornecedor, é definida principalmente pelo contrato de desenvolvimento.

02O fornecedor pode reaproveitar partes do código em outros clientes?

Pode, se o contrato permitir. É comum o fornecedor manter componentes que já tinha antes do projeto e licenciá-los para você. O que foi construído especificamente para a sua operação deve ter a titularidade definida por escrito, com a lista do que entra em cada categoria.

03O que é cláusula de escrow de código-fonte?

É um acordo em que o código de um software licenciado fica depositado com um terceiro e é liberado ao cliente em situações combinadas, como o encerramento das atividades do fornecedor. Costuma aparecer em licenças de produtos críticos, quando a cessão do código não é uma opção.

04Software feito por funcionário pertence à empresa?

Em regra, sim, quando desenvolver software faz parte das atribuições do funcionário ou é o objeto do contrato de trabalho, salvo estipulação em contrário. Situações fora dessas atribuições têm tratamento diferente na lei, então vale formalizar a questão no contrato e revisar com um advogado.

Quer uma resposta para o seu caso?

O nosso consultor faz as primeiras perguntas e encaminha a conversa para o time, sem compromisso.