É legal reutilizar código em projetos de outros clientes?


22

Estou trabalhando como desenvolvedor de software independente para aplicativos móveis. Um cliente me pede para desenvolver um aplicativo móvel. Então, no momento, estou calculando o tempo e o esforço para escrever uma oferta para este projeto.

O aplicativo em si só será usado por um certo tempo, pois está relacionado a um determinado evento depois disso, se for inútil. Mas a funcionalidade básica do aplicativo será reutilizável para outros clientes que desejam ter um aplicativo semelhante para o evento.

No momento, estou pensando se não há problema em desenvolver o aplicativo para o cliente, para que ele pague o desenvolvimento e reutilize parte do código-fonte do aplicativo de outro cliente?

Então, qual seria a melhor maneira de lidar com esse cenário?

  • A quem pertence o código fonte do aplicativo?
  • Preciso fornecer o código-fonte ao cliente conforme ele pagou pelo desenvolvimento?
  • Se for necessário, ainda posso manter uma cópia e reutilizá-la mais tarde?
  • Preciso pedir ao cliente para reutilizar o código?
  • Tenho que trabalhar com algum tipo de modelo de licenciamento aqui. E deixe o primeiro cliente pagar apenas uma parte do desenvolvimento para que eu possa reutilizar o código sem preocupações.

Espero ter esclarecido minha situação. Estou ansioso para você respostas.


Você já estabeleceu um contrato formal com o cliente?
Thomas Owens

Não, no momento estou na fase de planejamento. Até agora, conversei apenas com o cliente sobre os requisitos.
Flo

5
@ Flo - Escreva um contrato que atenda a todas essas preocupações. Por padrão, os direitos autorais são atribuídos a você como autor. Obviamente, se você concorda com um contrato que diz o contrário, é seu.
Ramhound

8
Você deve consultar um advogado, em vez de confiar nas suposições de vários programadores que não conhecem os detalhes da sua situação e das leis locais.
Paul Tomblin

Respostas:


26

Você deve decidir antes de iniciar o projeto, quem manterá a propriedade do código.

Se eles permitirem que você mantenha a propriedade, você poderá usá-la em outros projetos. Se eles desejam se apropriar depois, então é um ponto de negociação.


6
Pode ser do seu interesse sugerir um acordo no qual você possa reutilizar o código, mas não em projetos para os concorrentes de seus clientes. Isso parece mais agradável do ponto de vista deles.
Emilio M Bumachar

4
Se eles objetarem, a opção usual é citar 2rates. 1 se eu puder reutilizar 2. código e bibliotecas existentes e 2. uma quantidade 10 vezes mais se eu tiver que recriar tudo do zero apenas para este projeto. Na prática, você se dedica um pouco à "reutilização de código e bibliotecas padrão" apenas para se cobrir e ninguém nunca nota ou se importa.
Martin Beckett

3
+1 a Martin Beckett. Você deve ter duas bases de código em qualquer projeto; Um conjunto de bibliotecas "comuns" que contêm código com aplicativo global, que você "licencia" para seus clientes e o código "personalizado" que seu cliente realmente possuirá na conclusão. Você pode estipular no contrato que o desenvolvimento de bibliotecas "comuns" com novos recursos em resposta aos requisitos deste projeto ainda é cobrável. Você terá que negociar com o cliente, caso a caso, sobre o que é qualificado como "comum"; o cliente pode querer uma base de código que não dependa totalmente do seu código licenciado.
Keiths

6

Como você ainda não possui um contrato, precisará resolver esses problemas com o cliente antes de assinar o contrato final. Pelo meu entendimento, isso acontecerá se o cliente concordar com suas estimativas de tempo e custo, por isso é algo que você deve pensar em discutir com o cliente agora, juntamente com os requisitos. Essas são coisas frequentemente incluídas em um documento como esse. O que está incluído deve ser agradável para você e a pessoa que paga pelo produto, embora, dependendo da pessoa ou organização, você não consiga tudo o que deseja.

Se você não tem muita experiência em escrever contratos, ou se tiver perguntas muito específicas, a melhor pessoa a perguntar seria um advogado especializado em contratos e direito comercial - eles saberiam se o que você escreveu seria válido. tribunal deve haver um problema. Você não gostaria que um erro no seu contrato causasse problemas mais tarde.


7
+1 Gostaria de acrescentar também que obter uma consulta legal ou ajudar a escrever seu primeiro contrato é uma boa idéia para que você possa fazer o que é certo. Geralmente, a maioria das transações é muito semelhante; portanto, é muito fácil usar seus contratos antigos como modelo para os contratos que você escreve para novos clientes posteriormente.
Maple_shaft

4

As respostas até agora foram excelentes. Concordo plenamente com o conselho de:

  • pergunte a um advogado
  • redigir um contrato toda vez que trabalhar com alguém
  • continue trabalhando com seu advogado
  • lucro!

Nessa situação, você já sabe que a "funcionalidade básica do aplicativo será reutilizável para outros clientes" e, de fato, tenho certeza de que você (e outros) já experimentaram situações nas quais conhece algumas funcionalidades ou estruturas básicas - seja na Web, em dispositivos móveis, em computadores ou em outros locais - serão reutilizados. Quero dizer, realmente, por que não reutilizaremos algo que sabemos que funciona e que estamos familiarizados? Provavelmente todos fazemos isso o tempo todo.

Isso pode não funcionar para você, mas funcionou para mim ao longo dos anos:

  • Coma o custo de desenvolvimento de qualquer coisa que você pense que irá reutilizar, manter a propriedade e licenciá-la para seus clientes. Nenhum dinheiro externo muda de mãos nesse processo, para manter a propriedade limpa.

Nessa situação, com a ajuda de um advogado, você pode deixar claro que seus clientes estão pagando por tudo que é construído sobre a funcionalidade básica que você fornece, eles possuem essa personalização, mas não a base, e você continua livre para desenvolver para os outros de maneira semelhante.

Se o cliente exige exclusividade de uso, em seguida, você pode oferecer a eles a um preço que remunera-lo para o tempo, esforço e incapacidade de vendê-lo para qualquer outra pessoa no futuro.

A desvantagem, é claro, é que você está desenvolvendo algo de graça. Você deve ter certeza de que será reutilizável e que outros pagarão, caso contrário, é uma má aposta. Mas se você planeja ser um desenvolvedor independente por algum tempo e tem uma base de clientes - ou pelo menos deseja - essa linha de pensamento pode ser algo a considerar a longo prazo.

E fale com um advogado!


3

A quem pertence o código fonte do aplicativo? Preciso fornecer o código-fonte ao cliente conforme ele pagou pelo desenvolvimento?

Isso depende do contrato. Em geral, você deve perguntar ao cliente sobre o que é conhecido como exclusividade . Por exemplo, você pode cobrar muito mais pelo desenvolvimento exclusivo (e o cliente será o proprietário do código); Como alternativa, você pode dizer a eles que o cliente terá que pagar menos, mas você é o proprietário legal da fonte. Você pode fornecer / instalar a versão binária do software para os clientes, para que os clientes tenham que procurá-lo para modificações.

Se for necessário, ainda posso manter uma cópia e reutilizá-la mais tarde? Preciso pedir ao cliente para reutilizar o código?

Geralmente, manter uma cópia não é ilegal / antiético. Você pode usá-lo quando o cliente solicitar mais desenvolvimento. No entanto, distribuir código (para outra pessoa) se o negócio for exclusivo, não está certo.

Tenho que trabalhar com algum tipo de modelo de licenciamento aqui. E deixe o primeiro cliente pagar apenas uma parte do desenvolvimento para que eu possa reutilizar o código sem preocupações.

Não apenas do ponto de vista da reutilização de código, o processo de licenciamento deve estar presente para definir todos os itens do cliente e suas preocupações. Portanto, você deve licenciar independentemente, mesmo que o negócio seja unilateral. Além disso, você deve incluir provisões para desenvolvimento futuro posteriormente para o mesmo cliente.


1
-1, Não há razão para que você não possa distribuir o código-fonte, mesmo se você o possuir.
user606723

@ user606723 você vai ler a frase completa, por favor? However, distributing code (to someone else) if the deal was exclusive, is not right.isto é, se você desenvolveu o código exclusivo para um cliente que distribui para outra pessoa, não é apropriado!
Dipan Mehta 30/01/12

"alternativamente, você pode dizer a eles que o cliente terá que pagar menos, mas você é o proprietário legal da fonte. Você pode fornecer / instalar o binário apenas para o cliente. " <- é a isso que estou me referindo. Você pode conceder direitos não exclusivos ao código fonte.
precisa saber é o seguinte

@ user606723 isso também não está coberto na minha resposta? alternatively you can tell them customer will have to pay less but you are legally owning the source- qual é o ponto de desacordo?
Dipan Mehta

1
@DipanMehta: concordo com o usuário606723; e sua edição mais recente não resolveu o problema. O problema é que "[...] você pode dizer a eles que o cliente terá que pagar menos, mas você é o proprietário legal da fonte. Você pode fornecer / instalar a [...] versão binária do software para os clientes". parece que você não pode fornecer aos clientes o código-fonte se você ainda o possui. O fato é que você ainda pode licenciar o código-fonte para propósitos específicos, sem abrir mão da propriedade e / ou renunciar a todos os direitos.
Ruakh

-1

Você sempre pode usar em seu código outras bibliotecas, de código aberto, por exemplo. Obviamente, o cliente não terá direitos autorais sobre eles. Em um caso especial, você pode usar bibliotecas criadas por você. O cliente paga pela personalização - essa parte, projetada para ele e suas necessidades comerciais. Tudo o que não é específico do usuário e deve ser usado em vários projetos pode ser sua própria biblioteca. Não vejo nenhum problema lá.

O problema seria se você reutilizar a interface ou lógica de negócios ou mesmo revender o mesmo projeto para outra pessoa. O código do utilitário é algo que o cliente geralmente não tem conhecimento e também não se importa.


1
Obviamente, tudo isso teria que ser divulgado ao cliente.
user606723

1
Não, não seria. Licenças como Apache ou MIT permitem uso comercial.
Danubian Sailor

-1

As outras respostas são coisas simplistas demais. Não pretendo ter uma resposta completa, apenas para apontar algumas coisas.

  1. Você pode conceder direitos ou direitos exclusivos.
  2. Se você conceder direitos exclusivos, poderá manter que, como parte do contrato, você manterá direitos não exclusivos. (Isso permitirá que você use o código / programa pessoalmente)
  3. Mesmo se você não fornecer direitos exclusivos, ainda poderá fornecer direitos não exclusivos para usar, modificar e distribuir o código-fonte. Os dois não são mutuamente exclusivos.

-1 sua resposta não cobre QUALQUER ponto que outros não tenham falado antes!
Dipan Mehta
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.