Contratos de desenvolvimento de software: aspectos principais

 In #descortinando

A primeira abordagem sobre a exploração econômica do software ofereceu uma visão panorâmica do tema (se não viu, confira aqui). Compreendeu-se que a tecnologia da informação se integrou à vida humana e passou a ser ferramenta indispensável na busca por aperfeiçoamento e inovação. O intelecto humano aplicado à elaboração de softwares e hardwares permitiu que essa evolução se intensificasse significativamente. Por consequência, a criação, a produção e a comercialização de programas de computador passaram a ser objeto de incontáveis negociações, na maioria das vezes formalizadas por meio de contratos de licença, de cessão ou de encomenda. Por sua relevância e complexidade, o foco deste texto está direcionado aos contratos de encomenda (ou desenvolvimento) de software.

Nessa espécie de contrato, um interessado solicita a outro que desenvolva determinado software. Esse programa deverá atender a finalidade e ser elaborado conforme as exigências e as necessidades específicas do contratante. Há aqui a contratação de algo exclusivo – tailor made.  Na prática, trata-se de um contrato de prestação de serviços, que, para fins didáticos, pode ser comparado ao contrato de empreitada, em que se encomenda uma obra específica e pré-determinada.

O encomendante, nesse contrato, adquire o direito de usar o software criado nos limites estabelecidos na relação contratual, que, via de regra, o impedem de reproduzir ou introduzir modificações no programa.

A posição do criador varia conforme a natureza de sua relação com a empresa produtora – ou encomendante – e com as circunstâncias da elaboração do programa. No contrato de desenvolvimento, como regra, os direitos autorais econômicos sobre o software já nascem sob a titularidade do contratante. A propósito, tudo o que for objeto desse contrato pertencerá exclusivamente a quem contratou.

É possível, porém, que as partes contratantes estabeleçam outra regra: que o contratado será o titular do programa desenvolvido, por exemplo. Por esse motivo, aliás, é necessário que o contrato de desenvolvimento seja claro e livre de cláusulas que permitam interpretações ambíguas. Vale, portanto, destacar os aspectos desse contrato que mais demandam atenção.

É necessário que sejam definidos e esclarecidos os termos técnicos que serão utilizados ao longo do texto, a fim de facilitar a correta interpretação e execução do contrato. Após, deve-se pontuar exatamente qual o objeto ou a finalidade daquela negociação. Isso porque, por se tratar de um bem incorpóreo, há grande dificuldade em traçar os limites entre aquilo que se contratou e o que foi efetivamente produzido. Logo, é importante que haja uma definição exaustiva de todas as tarefas que serão realizadas pela parte contratada, divididas em fases que possam ser verificadas com clareza.

Recomenda-se, ainda, uma análise prévia do parque de máquinas do contratante. Evita-se, assim, qualquer espécie de alegação por parte do desenvolvedor de que o software não funcionou por deficiência do hardware do contratante.

Apesar da dinamicidade imposta pelo avanço tecnológico, é possível identificar etapas que comumente estão presentes na concepção de um software. Em princípio, identifica-se o problema a ser solucionado por ele; em seguida, apresenta-se uma solução por meio de um projeto com a formulação do método, isto é, criam-se os “algoritmos e estrutura do programa a ser desenvolvido (modelagem/fluxograma/organograma)”. Passa-se, então, à elaboração do código-objeto por intermédio de uma linguagem de programação (código-fonte); e, por fim, verifica-se a efetiva funcionalidade do software.

É necessário, portanto, que se defina previamente um cronograma de desenvolvimento do software, e que se crie mecanismos de aceitação, isto é, de aprovação de cada uma das fases. Estabelece-se, assim, um critério para que determinada etapa do projeto seja considerada efetivamente concluída.

Sabe-se que o tempo é elemento fundamental para a efetividade do serviço contratado. Por vezes, aliás, o rápido desenvolvimento e chegada ao mercado do software é necessário à sobrevivência da empresa. Por esse motivo, é interessante que se estabeleça uma cláusula de compromisso arbitral. Isso permitirá uma resolução ágil e transparente de eventuais conflitos.

Além disso, a característica de serviço sob medida torna necessária uma intensa troca de informações entre os envolvidos na negociação. Sugere-se, portanto, a estipulação de uma cláusula de confidencialidade, que especifique quais das informações serão tratadas como sigilosas.

Apresentou-se aqui alguns dos principais aspectos, que, se não forem cuidadosamente tratados, podem prejudicar significativamente o negócio. O contrato de desenvolvimento de software envolve, porém, inúmeras outras peculiaridades. Há, por óbvio, muitos outros pontos que merecem aprofundamento. O que ocorre, por exemplo, se a empresa desenvolvedora do software falir ou encerrar suas atividades? Trata-se, contudo, de tema já bastante distante da superfície, que merece atenção exclusiva. Será preciso uma dose extra de oxigênio para avançarmos ao terceiro ponto sobre a exploração econômica dos softwares. Há fôlego para mais?

Recent Posts

Start typing and press Enter to search