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.
la source
Réponses:
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.
la source
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.
la source
Jusqu'à présent, les réponses ont été excellentes. Je suis entièrement d'accord avec les conseils de:
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:
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!
la source
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.
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.
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.
la source
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é!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?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.
la source
Les autres réponses simplifient trop les choses. Je ne veux pas avoir une réponse complète, juste pour souligner quelques points.
la source