¿Es legal reutilizar el código en los proyectos de otros clientes?


22

Estoy trabajando como desarrollador de software independiente para aplicaciones móviles. Un cliente me pide que desarrolle una aplicación móvil. Así que en este momento estoy calculando el tiempo y el esfuerzo para escribir una oferta para este proyecto.

La aplicación en sí misma solo se usará durante un tiempo determinado, ya que está relacionada con un evento determinado después de eso, si es inútil. Pero la funcionalidad básica de la aplicación será reutilizable para otros clientes que quieran tener una aplicación similar para su evento.

En este momento me pregunto si está bien desarrollar la aplicación para el cliente, ¿dejarle pagar el desarrollo y reutilizar parte del código fuente para la aplicación de otro cliente?

Entonces, ¿cuál sería la mejor manera para mí de lidiar con este escenario?

  • ¿A quién pertenece el código fuente de la aplicación?
  • ¿Tengo que dar el código fuente al cliente mientras paga por el desarrollo?
  • Si tengo que hacerlo, ¿puedo conservar una copia y reutilizarla más tarde?
  • ¿Tengo que pedirle al cliente que reutilice el código?
  • ¿Tengo que trabajar con algún tipo de modelo de licencia aquí? ¿Y dejar que el primer cliente solo pague una cierta parte del desarrollo para que pueda reutilizar el código sin ninguna preocupación?

Espero haber aclarado mi situación. Espero sus respuestas.


¿Ya ha establecido un contrato formal con el cliente?
Thomas Owens

No, en este momento estoy en la fase de planificación. Hasta ahora solo he hablado con el cliente sobre los requisitos.
Flo

55
@Flo: escriba un contrato que aborde todas estas inquietudes. Por defecto, los derechos de autor pertenecen a usted como autor. Por supuesto, si está de acuerdo con un contrato que dice lo contrario, depende de usted.
Ramhound

8
Debe consultar a un abogado, en lugar de confiar en las conjeturas de un grupo de programadores que no conocen los detalles de su situación y sus leyes locales.
Paul Tomblin

Respuestas:


26

Antes de comenzar el proyecto, debe decidir quién mantendrá la propiedad del código.

Si felizmente le permiten mantener la propiedad, entonces está bien usarlo en otros proyectos. Si desean tomar posesión después de eso, es un punto de negociación.


66
Puede interesarle sugerir un acuerdo en el que pueda reutilizar el código, pero no en proyectos para los competidores de sus clientes. Eso parece más aceptable desde su punto de vista.
Emilio M Bumachar

44
Si se oponen, la opción habitual es cotizar 2 tasas. 1 si puedo reutilizar el código y las bibliotecas existentes y 2. una cantidad 10 veces mayor si tengo que recrear todo desde cero solo para este proyecto. En la práctica, se dedica un poco a "reutilizar el código estándar y las bibliotecas" solo para cubrirse y nadie se da cuenta ni le importa.
Martin Beckett

3
+1 a Martin Beckett. Debería tener dos bases de código en cualquier proyecto; Un conjunto de bibliotecas "comunes" que contienen código con aplicación global, que "licencia" a sus clientes, y el código "personalizado" que su cliente realmente poseerá al finalizar. Puede estipular en el contrato que el desarrollo de las bibliotecas "comunes" con nuevas características en respuesta a los requisitos de este proyecto todavía es facturable. Deberá negociar con el cliente caso por caso sobre lo que califica como "común"; el cliente puede querer una base de código que no dependa totalmente de su código con licencia.
KeithS

6

Como todavía no tiene un contrato, debe resolver estos problemas con el cliente antes de firmar el contrato final. Según tengo entendido, esto sucederá si el cliente está de acuerdo con sus estimaciones de tiempo y costo, por lo que es algo en lo que debería pensar hablar con el cliente ahora, junto con los requisitos. Estas son cosas que a menudo se incluyen en dicho documento. Lo que se incluye debe ser aceptable tanto para usted como para la persona que paga el producto, aunque, dependiendo de la persona u organización, es posible que no obtenga todo lo que desea.

Si no tiene mucha experiencia en la redacción de contratos, o si tiene preguntas muy específicas, la mejor persona para preguntar sería un abogado especializado en contratos y derecho comercial: sabrían si lo que usted escribió se mantendría firme. corte debe haber un problema. No querrá que un error en su contrato cause problemas más adelante.


77
+1 También me gustaría agregar que obtener una consulta legal o ayudarlo a redactar su primer contrato es una buena idea para que pueda hacerlo bien. En general, la mayoría de las ofertas son muy similares, por lo que es bastante fácil usar sus contratos anteriores como plantilla para sus contratos que escriba para nuevos clientes más adelante.
maple_shaft

4

Las respuestas hasta ahora han sido excelentes. Estoy totalmente de acuerdo con el consejo de:

  • pregúntale a un abogado
  • redacta un contrato cada vez que trabajas con alguien
  • continúe trabajando con su abogado
  • ¡lucro!

En esta situación, ya sabe que "la funcionalidad básica de la aplicación será reutilizable para otros clientes", y de hecho estoy seguro de que usted (y otros) ya han experimentado situaciones en las que conoce algunas funcionalidades básicas o marcos. web, móvil, computadora de escritorio o de otro tipo, se reutilizarán. Quiero decir realmente, ¿por qué no reutilizaríamos algo que sabemos que funciona y con lo que estamos familiarizados? Probablemente todos lo hacemos todo el tiempo.

Puede que esto no funcione para usted, pero me ha funcionado a lo largo de los años:

  • Coma el costo de desarrollo de todo lo que cree que reutilizará, conservará la propiedad y lo licenciará a sus clientes. Ningún dinero externo cambia de manos en este proceso, para mantener la propiedad clara.

En esa situación, con la ayuda de un abogado, puede dejar en claro que sus clientes están pagando por todo lo que se basa en la funcionalidad básica que usted proporciona, ellos poseen esa personalización pero no la base, y usted continúa siendo libre de desarrollarse para otros de manera similar.

Si el cliente exige exclusividad de su uso, a continuación, se puede ofrecer a ellos a un precio que remunera el tiempo, esfuerzo, y la imposibilidad de vender a cualquier otra persona en el futuro.

La desventaja, por supuesto, es que estás desarrollando algo gratis. Tienes que estar seguro de que será reutilizable y que otros te pagarán, de lo contrario es una mala apuesta. Pero si planea ser un desarrollador independiente durante algún tiempo y tener una base de clientes, o al menos querer , esta línea de pensamiento podría ser algo a considerar a largo plazo.

¡Y habla con un abogado!


3

¿A quién pertenece el código fuente de la aplicación? ¿Tengo que dar el código fuente al cliente mientras paga por el desarrollo?

Esto depende del contrato. En general, debe preguntar al cliente sobre lo que se conoce como exclusividad . Por ejemplo, podría cobrar mucho más por el desarrollo exclusivo (y luego el cliente será el propietario del código); Alternativamente, puede decirles que el cliente tendrá que pagar menos, pero usted es el propietario legal de la fuente. Puede suministrar / instalar una versión solo binaria del software a los clientes para que los clientes tengan que acudir a usted para modificaciones.

Si tengo que hacerlo, ¿puedo conservar una copia y reutilizarla más tarde? ¿Tengo que pedirle al cliente que reutilice el código?

En general, conservar una copia no es ilegal / poco ético. Puede usarlo cuando el cliente solicite más desarrollo. Sin embargo, distribuir código (a otra persona) si el acuerdo fue exclusivo, no es correcto.

¿Tengo que trabajar con algún tipo de modelo de licencia aquí? ¿Y dejar que el primer cliente solo pague una cierta parte del desarrollo para que pueda reutilizar el código sin ninguna preocupación?

No solo desde el punto de vista de la reutilización del código, sino que el proceso de licencia debe estar allí para definir todos los elementos del cliente y sus preocupaciones. Por lo tanto, debe obtener una licencia independientemente de si el acuerdo es unilateral. Además, debe incluir disposiciones para el desarrollo futuro posterior para el mismo cliente.


1
-1, no hay ninguna razón por la que no puedas distribuir el código fuente aunque lo poseas.
user606723

@ user606723 ¿leerá la oración completa por favor? However, distributing code (to someone else) if the deal was exclusive, is not right.es decir, si hubiera desarrollado el código exclusivo para un cliente que lo distribuye a otra persona, ¡no es apropiado!
Dipan Mehta

"Alternativamente, puede decirles que el cliente tendrá que pagar menos, pero usted es el propietario legal de la fuente. Puede suministrar / instalar binarios solo al cliente " . <- esto es a lo que me refiero. Puede otorgar derechos no exclusivos al código fuente.
user606723

@ user606723 ¿no está cubierto esto también en mi respuesta? alternatively you can tell them customer will have to pay less but you are legally owning the source- ¿Cuál es el punto de desacuerdo?
Dipan Mehta

1
@DipanMehta: estoy de acuerdo con user606723; y tu última edición no ha solucionado el problema. El problema es que "[...] alternativamente puede decirles que el cliente tendrá que pagar menos, pero usted es el propietario legal de la fuente. Puede suministrar / instalar una versión binaria del software a los clientes". suena como si no pudiera darles a los clientes el código fuente si aún desea tenerlo. El hecho es que aún puede otorgarles la licencia del código fuente para fines específicos, sin renunciar a la propiedad y / o renunciar a todos los derechos.
ruakh

-1

Siempre puede usar en su código otras bibliotecas, por ejemplo, de código abierto. Obviamente, el cliente no tendrá derechos de autor sobre ellos. En casos especiales, puede usar bibliotecas escritas por usted. El cliente paga por la personalización, esa parte, que está diseñada para él y sus necesidades comerciales. Todo lo que no sea específico del usuario y se use en múltiples proyectos puede ser su propia biblioteca. No veo ningún problema allí.

El problema sería si reutiliza la interfaz o la lógica empresarial, o incluso revende el mismo proyecto a otra persona. El código de utilidad es algo que el cliente generalmente no conoce y tampoco le importa.


1
Por supuesto, todo esto tendría que ser revelado al cliente.
user606723

1
No, no lo haría. Las licencias como Apache o MIT permiten el uso comercial.
Danubian Sailor

-1

Las otras respuestas son cosas que simplifican demasiado. No me refiero a tener una respuesta completa, solo para señalar algunas cosas.

  1. Puede otorgar derechos o puede otorgar derechos exclusivos.
  2. Si otorga derechos exclusivos, puede mantener que, como parte del acuerdo, retendrá derechos no exclusivos. (Esto le permitirá usar el código / programa personalmente)
  3. Incluso si no proporciona derechos exclusivos, puede proporcionar derechos no exclusivos para usar, modificar y distribuir el código fuente. Los dos no son mutuamente excluyentes.

-1 tu respuesta no cubre CUALQUIER punto que otros no hayan hablado antes.
Dipan Mehta
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.