Est-il légal de réutiliser du code dans les projets d'autres clients?

22

Je travaille en tant que développeur logiciel indépendant pour les applications mobiles. Un client me demande de développer une application mobile. Donc en ce moment je calcule le temps et l'effort pour rédiger une offre pour ce projet.

L'application elle-même ne sera utilisée que pendant un certain temps car elle est liée à un certain événement après cela si elle sera inutile. Mais la fonctionnalité de base de l'application sera réutilisable pour d'autres clients qui souhaitent avoir une application similaire pour leur événement.

En ce moment, je me demande s'il est correct de développer l'application pour le client, de lui permettre de payer le développement et de réutiliser une partie du code source pour l'application d'un autre client?

Alors, quelle serait la meilleure façon pour moi de gérer ce scénario?

  • À qui appartient le code source de l'application?
  • Dois-je donner le code source au client lors du paiement du développement?
  • Si je dois le faire, puis-je en conserver une copie et la réutiliser plus tard?
  • Dois-je demander au client de réutiliser le code?
  • Dois-je travailler avec une sorte de modèle de licence ici. Et que le premier client ne paie qu'une partie du développement pour que je puisse réutiliser le code sans souci?

J'espère avoir clarifié ma situation. J'attends vos réponses avec impatience.

Flo
la source
Avez-vous déjà établi un contrat officiel avec le client?
Thomas Owens
Non, en ce moment je suis en phase de rabotage. Jusqu'à présent, je n'ai parlé au client que des exigences.
Flo
5
@Flo - Écrivez un contrat qui répond à toutes ces préoccupations. Par défaut, le droit d'auteur vous appartient en tant qu'auteur. Bien sûr, si vous acceptez un contrat qui dit le contraire, c'est à vous.
Ramhound
8
Vous devriez consulter un avocat, au lieu de vous fier aux suppositions d'un groupe de programmeurs qui ne connaissent pas les détails de votre situation et vos lois locales.
Paul Tomblin
1
Connexe: stackoverflow.com/questions/900803
Robert Harvey

Réponses:

26

Vous devez décider avant de démarrer le projet, qui conservera la propriété du code.

S'ils vous permettent avec plaisir de conserver la propriété, vous pouvez l'utiliser dans d'autres projets. S'ils souhaitent s'approprier après, c'est un point de négociation.

À M
la source
6
Il peut être dans votre intérêt de suggérer un accord dans lequel vous pouvez réutiliser le code, mais pas dans des projets pour les concurrents de votre client. Cela semble plus acceptable de leur point de vue.
Emilio M Bumachar
4
S'ils s'y opposent, l'option habituelle est de citer 2 taux. 1 si je peux réutiliser le code et les bibliothèques existants et 2. un montant 10 fois plus si je dois tout recréer à partir de zéro pour ce projet uniquement. Dans la pratique, vous mettez un peu sur la "réutilisation du code et des bibliothèques standard" juste pour vous couvrir et personne ne s'en aperçoit ou s'en soucie.
Martin Beckett
3
+1 à Martin Beckett. Vous devez avoir deux bases de code dans n'importe quel projet; Un ensemble de bibliothèques "communes" contenant du code avec une application globale, que vous "concédez sous licence" à vos clients, et le code "personnalisé" que votre client possédera réellement à la fin. Vous pouvez stipuler dans le contrat que le développement des bibliothèques "communes" avec de nouvelles fonctionnalités en réponse aux exigences de ce projet est toujours facturable. Vous devrez négocier avec le client au cas par cas sur ce qui est qualifié de «commun»; le client peut souhaiter une base de code qui ne dépend pas entièrement de votre code sous licence.
KeithS
6

Comme vous n'avez pas encore de contrat, vous devez résoudre ces problèmes avec le client avant de signer le contrat final. D'après ma compréhension, cela se produira si le client est d'accord avec vos estimations sur le temps et les coûts, c'est donc quelque chose que vous devriez penser à discuter avec le client maintenant, ainsi que les exigences. Ce sont des choses qui sont souvent incluses dans un tel document. Ce qui est inclus devrait convenir à vous et à la personne qui paie le produit, bien que selon la personne ou l'organisation, vous n'obtiendrez peut-être pas tout ce que vous voulez.

Si vous n'avez pas beaucoup d'expérience dans la rédaction de contrats, ou si vous avez des questions très précises, la meilleure personne à poser serait un avocat spécialisé dans les contrats et le droit des affaires - ils sauraient si ce que vous avez écrit résiste. en cas de problème. Vous ne voudriez pas qu'une erreur dans votre contrat cause des problèmes plus tard.

Thomas Owens
la source
7
+1 Je voudrais également ajouter que la consultation juridique ou l'aide à la rédaction de votre premier contrat est une bonne idée afin que vous puissiez le faire correctement. Généralement, la plupart des transactions sont très similaires, il est donc assez facile d'utiliser vos anciens contrats comme modèle pour vos contrats que vous rédigerez plus tard pour de nouveaux clients.
maple_shaft
4

Jusqu'à présent, les réponses ont été excellentes. Je suis entièrement d'accord avec les conseils de:

  • demander à un avocat
  • rédiger un contrat chaque fois que vous travaillez avec quelqu'un
  • continuer à travailler avec votre avocat
  • profit!

Dans cette situation, vous savez déjà que la "fonctionnalité de base de l'application sera réutilisable pour d'autres clients", et en fait, je suis sûr que vous (et d'autres) avez déjà vécu des situations dans lesquelles vous connaissez des fonctionnalités ou des cadres de base - soyez ils Web, mobile, ordinateur de bureau ou autre - vont être réutilisés. Je veux dire vraiment, pourquoi ne réutiliserions-nous pas quelque chose que nous savons fonctionner et que nous connaissons? Nous le faisons probablement tout le temps.

Cela pourrait ne pas fonctionner pour vous, mais cela a fonctionné pour moi au fil des ans:

  • Mangez le coût de développement de tout ce que vous pensez pouvoir réutiliser, en conserver la propriété et le concéder sous licence à vos clients. Aucun argent extérieur ne change de mains dans ce processus, pour garder la propriété claire.

Dans cette situation, avec l'aide d'un avocat, vous pouvez indiquer clairement que vos clients paient pour tout ce qui est construit en plus de la fonctionnalité de base que vous fournissez, ils possèdent cette personnalisation mais pas la base, et vous continuez d'être libre de se développer pour les autres de manière similaire.

Si le client exige l'exclusivité d'utilisation, alors vous pouvez l' offrir à leur disposition à un prix que vous rémunère pour le moment, l' effort et l' incapacité de le vendre à quelqu'un d' autre à l'avenir.

L'inconvénient, bien sûr, est que vous développez quelque chose gratuitement. Vous devez être certain qu'il sera réutilisable et que d'autres vous paieront, sinon c'est un mauvais pari. Mais si vous prévoyez d'être un développeur indépendant pendant un certain temps et que vous avez une base de clients - ou du moins voulez - cette ligne de pensée pourrait être quelque chose à considérer à long terme.

Et parlez à un avocat!

jcmeloni
la source
3

À qui appartient le code source de l'application? Dois-je donner le code source au client lors du paiement du développement?

Cela dépend du contrat. En général, vous devez demander au client ce que l'on appelle l' exclusivité . Par exemple, vous pourriez facturer beaucoup plus pour le développement exclusif (et le client sera alors propriétaire du code); vous pouvez également leur dire que le client devra payer moins, mais que vous êtes légalement propriétaire de la source. Vous pouvez fournir / installer une version binaire du logiciel aux clients afin que ceux-ci soient amenés à vous demander des modifications.

Si je dois le faire, puis-je en conserver une copie et la réutiliser plus tard? Dois-je demander au client de réutiliser le code?

Généralement, conserver une copie n'est pas illégal / contraire à l'éthique. Vous pouvez l'utiliser lorsque le client demande plus de développement. Cependant, distribuer du code (à quelqu'un d'autre) si l'accord était exclusif n'est pas correct.

Dois-je travailler avec une sorte de modèle de licence ici. Et que le premier client ne paie qu'une partie du développement pour que je puisse réutiliser le code sans souci?

Non seulement du point de vue de la réutilisation du code, le processus de licence doit être là pour définir tous les éléments du client et vos préoccupations. Vous devez donc accorder une licence indépendamment du fait que l'accord soit unilatéral. En outre, vous devez inclure des dispositions pour un développement futur plus tard pour le même client.

Dipan Mehta
la source
1
-1, Il n'y a aucune raison pour laquelle vous ne pouvez pas distribuer le code source même si vous le possédez.
user606723
@ user606723 lirez-vous la phrase complète s'il vous plait? However, distributing code (to someone else) if the deal was exclusive, is not right.c'est-à-dire si vous aviez développé le code exclusif pour un client qui le distribue à quelqu'un d'autre n'est pas approprié!
Dipan Mehta
"Alternativement, vous pouvez leur dire que le client devra payer moins, mais vous êtes légalement propriétaire de la source. Vous ne pouvez fournir / installer le binaire qu'au client. " <- c'est à cela que je fais référence. Vous pouvez accorder des droits non exclusifs sur le code source.
user606723
@ user606723 n'est-ce pas également couvert dans ma réponse? alternatively you can tell them customer will have to pay less but you are legally owning the source- quel est le point de désaccord?
Dipan Mehta
1
@DipanMehta: Je suis d'accord avec user606723; et votre dernière modification n'a pas résolu le problème. Le problème est que "[...] vous pouvez également leur dire que le client devra payer moins mais que vous êtes légalement propriétaire de la source. Vous pouvez fournir / installer une version binaire du logiciel aux clients [...]" fait on dirait que vous ne pouvez pas donner aux clients le code source si vous voulez toujours le posséder. Le fait est que vous pouvez toujours leur octroyer le code source à des fins spécifiques, sans renoncer à la propriété et / ou renoncer à tous les droits.
ruakh
-1

Vous pouvez toujours utiliser dans votre code d'autres bibliothèques, open source par exemple. De toute évidence, le client n'aura pas de droits d'auteur sur eux. Dans des cas particuliers, vous pouvez utiliser des bibliothèques écrites par vous. Le client paie pour la personnalisation - cette partie, qui est conçue pour lui et ses besoins commerciaux. Tout ce qui n'est pas spécifique à l'utilisateur et doit être utilisé dans plusieurs projets peut être votre propre bibliothèque. Je n'y vois aucun problème.

Le problème serait de réutiliser l'interface ou la logique métier, ou même de revendre le même projet à quelqu'un d'autre. Le code utilitaire est quelque chose que le client ne connaît généralement pas et ne se soucie pas non plus.

Marin danubien
la source
1
Bien sûr, tout cela devrait être divulgué au client.
user606723
1
Non, ce ne serait pas le cas. Des licences telles qu'Apache ou MIT permettent une utilisation commerciale.
Danubian Sailor
-1

Les autres réponses simplifient trop les choses. Je ne veux pas avoir une réponse complète, juste pour souligner quelques points.

  1. Vous pouvez accorder des droits ou accorder des droits exclusifs.
  2. Si vous accordez des droits exclusifs, vous pouvez maintenir que dans le cadre de l'accord, vous conserverez des droits non exclusifs. (Cela vous permettra d'utiliser le code / programme personnellement)
  3. Même si vous ne fournissez pas de droits exclusifs, vous pouvez toujours fournir des droits non exclusifs pour utiliser, modifier et distribuer le code source. Les deux ne s'excluent pas mutuellement.
user606723
la source
-1 votre réponse ne couvre AUCUN point que les autres n'ont jamais parlé auparavant!
Dipan Mehta