Puis-je utiliser la licence MIT pour donner une partie de mon code écrit précédent à l'employeur afin que je me protège et que je ne perde pas mes droits d'auteur?

17

Ma situation:

  • J'ai écrit un cadre avant de commencer mon nouveau travail. Je possède le copyright.

  • Il a un tas de logique passe-partout à l'intérieur, comme n'importe quel logiciel. (duh!)

  • Je ne veux pas utiliser le cadre entier dans mon nouvel emploi, mais j'ai besoin de réutiliser certaines parties de celui-ci dans un cadre similaire que je construis pour mon nouvel emploi.

  • Il est impossible de réimplémenter / repenser toute la logique à partir de zéro. C'est beaucoup de logique et la logique est logique, vous ne pouvez pas faire beaucoup de différence. Par exemple, combien de versions différentes d'un HashMap pouvez-vous coder? Je parie qu'ils seront très similaires et la troisième version peut prétendre que vous avez violé le droit d'auteur de la première version. :(

  • Il n'est pas pratique d'essayer de réinventer l'API. Pouvez-vous réinventer l'API d'un HashMap? Vous pouvez peut-être passer put(k,v)à add(k,v), mais pas beaucoup plus que cela.

Mon idée de me protéger et de protéger mon code précédent:

Je dirai à mon employeur que je construis le nouveau cadre basé sur un précédent que j'ai écrit sous la licence MIT. Donc, à l'avenir, si j'utilise mon ancien cadre ailleurs, ou même une autre version dérivée de celui - ci , qui a des morceaux de code similaires à ce nouveau cadre que je construis maintenant pour l'employeur, ils ne pourront pas dire que je suis en utilisant leur code, celui que j'ai écrit pour eux.

Mes questions:

  • Je ne distribue mon code à personne. Je n'ai pas à distribuer mon code sous licence MIT à quiconque, si je possède les droits d'auteur, n'est-ce pas? Je veux dire, quelqu'un peut-il demander que je libère mon code que je prétends maintenant qu'il est sous licence MIT? Ce ne serait pas la fin du monde et je serais certainement d'accord pour le faire sous une menace juridique.

  • Cette stratégie a-t-elle un sens? Mon objectif final est de pouvoir utiliser une version dérivée de mon ancien framework codé sans en perdre le copyright. En même temps, je ne veux pas distribuer ce code en tant que projet open source à personne. J'ai d'autres projets open-source, que je distribue librement, mais celui-ci je voudrais le garder pour moi afin que je puisse l'utiliser sur mes jobs (pas de jobs d'entrepreneur).

C'est comme affirmer que vous avez un cadre sous la licence MIT, sans réellement distribuer et / ou montrer à personne . S'il est disponible, gratuit et facilement accessible, mes employeurs n'ont plus besoin de moi. Ils peuvent simplement prendre le code et le donner à quelqu'un d'autre pour l'utiliser.

Remarques:

  • J'ai répertorié ce cadre comme une invention précédente avant de commencer le travail.

  • Je n'ai publié ce code nulle part. C'est sur mon dépôt SVN privé que j'héberge sur mon serveur privé.

Mon idée en un mot:

  • Mon plan est de garder le code précédent pour moi, d'utiliser des parties de celui-ci dans ce nouveau cadre que je construis pour l'employeur et de dire à l'employeur qu'il s'agit d'un travail dérivé d'un cadre autorisé par le MIT que j'ai codé auparavant et que je n'ai distribué à personne ". Je ne suis pas obligé de distribuer un logiciel que j'ai codé sous licence MIT, n'est-ce pas? Si plus tard, une réclamation légale se produit (j'espère que non), je peux immédiatement coller la licence sur toutes les sources et afficher / publier le code.
JohnPristine
la source

Réponses:

21

J'étais un avocat spécialisé en propriété intellectuelle, j'ai donc de l'expérience avec des licences. J'ai l'impression que les termes eux-mêmes sont assez lisibles et compréhensibles, mais là encore, je suis gâché par trois ans d'école de droit et un peu de temps d'avocat avant de retrouver mes esprits et de revenir au piratage. D'autant plus que je ne suis pas actuellement un avocat actif, ce n'est certainement pas du tout un conseil juridique.

Commençons par le langage de licence MIT lui-même. Ensuite, je vais exposer quelques points clés pour comprendre les licences open source, puis répondre à vos questions et fournir des observations de haut niveau.

La permission est accordée, sans frais, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le "Logiciel"), de traiter le Logiciel sans restriction, y compris, sans limitation, les droits d'utilisation, de copie, de modification, de fusion , publier, distribuer, sous-licencier et / ou vendre des copies du Logiciel, et autoriser les personnes à qui le Logiciel est fourni à le faire, sous réserve des conditions suivantes: (qu'elles y laissent cet avis. La fin.)

Quelques éléments clés avec la plupart des licences open source (y compris BSD, MIT, GPL) pour les titulaires de droits d'auteur sont:

  1. La licence ne modifie pas votre propriété du droit d'auteur lui-même. C'est une licence non exclusive, pas une cession ou une déchéance de propriété. Utiliser une licence de système d'exploitation n'est pas «mettre quelque chose dans le domaine public», bien que ce soit certainement une approche de l'open source.
  2. Rien ne vous "oblige", en tant que propriétaire des droits d'auteur, à rendre le code public de quelque manière que ce soit simplement parce que vous y attachez une licence.
  3. Mais si vous utilisez une licence OS, vous ne pouvez pas empêcher quiconque "obtient" votre code sous licence OS de le rendre public de quelque manière que ce soit, ce qui est explicitement dans leurs droits sous toutes ces licences.
  4. Les licences Copyleft (par exemple, GPL) obligent les acquéreurs (mais pas les propriétaires) à rendre leurs œuvres dérivées publiques et open source. Permissif (MIT, BSD) ne le font pas. (cela peut être un peu simplifié, mais c'est la différence essentielle)
  5. Il n'y a pas de clause de «reprise» pour la plupart des licences open source (par exemple, le MIT), donc une fois que quelqu'un a «obtenu» votre code, il a le droit de l'utiliser à perpétuité, selon les conditions de licence sous lesquelles il l'a reçu.
  6. Vous pouvez toujours distribuer les futures versions de votre code sous une licence différente, ou les garder entièrement propriétaires. Cela n'empêche pas quelqu'un de commencer avec votre version précédente open-source (en supposant qu'il l'ait "obtenue") et d'ajouter ses propres nouvelles parties et de la distribuer.
  7. Vous pouvez supprimer un canal "d'obtention" pour les versions précédentes de votre code, par exemple, le retirer de github. Cependant, comme mentionné, cela n'empêche pas les autres d'utiliser ou de distribuer les versions précédentes que vous aviez ouvertes, en aucune façon.

Sur cette base, je vais passer à vos questions.

Je ne distribue mon code à personne. Je n'ai pas à distribuer mon code sous licence MIT à quiconque, si je possède le droit d'auteur, n'est-ce pas? Je veux dire, quelqu'un peut-il demander que je libère mon code que je prétends maintenant qu'il est sous licence MIT? Ce ne serait pas la fin du monde et je serais certainement d'accord pour le faire sous une menace juridique. ... En même temps, je ne veux pas distribuer ce code en tant que projet open source à personne.

En tant que détenteur des droits d'auteur, vous n'avez à distribuer aucun code à personne; vous n'auriez pas à honorer de telles demandes (même s'il s'agissait de GPL). Vous conservez tous les droits. Cependant, dans la situation que vous décrivez, vous distribueriez à votre nouvelle entreprise et lui octroyeriez une licence perpétuelle sous une licence OS. Votre employeur (plus probablement un ancien employeur) pourrait coller votre code sur Internet, et vous ne pourriez rien y faire à part vous plaindre.

Je suppose que vous voulez dire "toute personne en dehors de mon employeur". Si vous ne voulez pas le donner à votre employeur "en open source" et lui donner tous les droits qui sont inclus dans cette licence, y compris la redistribution et l'utilisation perpétuelle de la manière qu'il souhaite, alors vous ne devriez pas utiliser un licence open source. Vous devez simplement lui octroyer une licence directement dans les conditions que vous souhaitez. Bullet souligne ce que vous voulez et demandez à un avocat de vous facturer une heure ou deux pour les mettre sous forme de paragraphe. Ou écrivez-le vous-même. Les licences ne sont que des contrats qui ne sont que des accords mis en mots.

Mon objectif final est de pouvoir utiliser une version dérivée de mon ancien framework codé sans en perdre le copyright.

Vous ne pouvez pas perdre le droit d'auteur à moins de le céder à quelqu'un, de le concéder sous licence exclusivement (y compris vous-même) ou de le perdre. La licence open source n'en fait pas partie. Vous serez toujours en mesure d'utiliser les versions dérivées que vous créez et pourrez même concéder sous licence les dérivations différemment ou conserver tous les droits.

Mais, une de vos préoccupations principales et légitimes semble être que vous puissiez continuer à conserver le droit d'auteur et utiliser votre code à l'avenir sans que l'employeur ne revendique le code comme le leur ou que vous n'ayez pas le droit de le faire. La clé pour cela est de créer une preuve irréfutable que A) vous conservez le droit d'auteur sur votre travail précédent et que vous le fournissez sous des conditions de licence X (MIT fonctionne, si vous êtes d'accord avec l'aspect open source décrit ci-dessus. ) B) ils acceptent ces conditions, et C) quel était exactement le travail précédent.

Pour (A) et (B), vous pouvez les amener à signer ou à accepter par écrit quelque chose qui fait référence ou inclut la licence et qu'ils comprennent que vous apportez le code à la table selon ces termes. En ce qui concerne (C), je ne sais pas quelle serait la manière standard de procéder, mais soyez logique. Si ce n'est pas terriblement massif, vous pouvez simplement imprimer le code et l'inclure dans l'addendum en copie de l'accord que vous et votre employeur signez. Conservez votre copie, avec leur signature dessus. S'il est trop gros pour être imprimé pratiquement, il semble qu'un hachage md5 serait utile ici. Peut-être que vous pourriez vous y référer comme quelque chose comme "le fichier zip nommé X dans le référentiel github privé /, (ou site ftp, etc.), qui a un hachage md5 de XXXXXX ... et a été envoyé par courrier électronique à la société Y reprentative sur Z Date". Ensuite, vous pouvez l'envoyer par e-mail à votre responsable ou à son avocat ou à quiconque de votre compte de messagerie personnel et même s'ils suppriment leur copie, vous conservez toujours le vôtre et ils ne peuvent pas prétendre que vous avez prédit le futur hachage md5 de code qui n'est pas encore écrit . Cela les empêcherait théoriquement de revendiquer quoi que ce soit d'autre sur la route.

Ben Roberts
la source
C'est génial, Ben. Merci de votre aide. Je suis déjà employé, je me demande donc si un e-mail à mon manager indiquant la situation et les termes de la licence de moi à eux suffirait. Ensuite, j'inclurais la licence (Copyright (c) MON NOM - Licence accordée à la société bla, bla, bla) sur chaque code source que j'apporte. Que pensez-vous?
JohnPristine
Les e-mails peuvent certainement être la preuve d'une entente ou d'un accord, par exemple un contrat. Si vous proposez de mettre le code sur la table sous certaines conditions et qu'une personne ayant autorité dans l'entreprise l'accepte, cela semble créer un contrat assez bien. Je pense que votre idée des termes (C) / licence dans chaque fichier est également bonne. La question est de savoir si vous conserverez (C) les améliorations des fichiers ou non. Sinon, vous voudrez peut-être faire un enregistrement des versions originales des fichiers que vous conservez seul (C), par exemple avec un fichier zip et un hachage md5 envoyé à votre gestionnaire.
Ben Roberts
Super réponse, merci. Très bien détaillé et formulé.
haylem
6

(Je ne suis pas avocat.)

Je vois quelques problèmes potentiels avec cela:

  • Si le pire arrive au pire, vous devrez prouver que vous avez écrit ce code avant de commencer à travailler là-bas et que lorsque vous l'avez utilisé dans votre projet au travail, votre employeur était conscient qu'il était sous vos droits d'auteur et sous la licence MIT . Comme l'objectif principal de cela est de conserver vos droits d'auteur, et non de fixer des conditions de redistribution, un contrat écrit avec votre employeur concernant l'utilisation de votre code précédemment écrit semble une meilleure idée.

  • Vous dites que vous voulez protéger vos droits d'auteur et la possibilité d'en créer "même une autre version dérivée". Maintenant, il est probable que pendant votre travail actuel, vous aurez quelques bonnes idées et les mettrez en œuvre. Il me semble que cela deviendrait poilu lorsque vous quittez votre travail, puis `` réimplémentez '' ces idées pour construire une autre version de votre bibliothèque - puisque vous ne pouvez pas faire ce que vous voulez avec le code que vous avez écrit lors de votre travail (et dans une certaine mesure, les idées sous-jacentes).

us2012
la source
1) Je prévois de le faire avec un fichier de licence avec le code de l'entreprise, indiquant qu'il est basé sur un travail dérivé avec une licence MIT. Pour prouver qu'il a été écrit avant que je ne compte avec ma déclaration de formulaire d'invention précédente. 2) Je crois que les idées ne sont pas protégées par le droit d'auteur, sauf s'il existe un brevet. Le code est protégé par des droits d'auteur. Le défi est de savoir comment retaper / réimplémenter / réutiliser l'idée sans rompre le droit d'auteur du code d'origine qui a implémenté.
JohnPristine
2
Il est vrai que les idées ne sont pas protégées par le droit d'auteur mais peuvent être considérées comme des "secrets commerciaux" ou un "savoir-faire" ou (si elles sont brevetables) des "idées brevetables" ou tout autre type de "propriété intellectuelle" dont vous avez probablement convenu que l'entreprise est propriétaire. C'est une sorte de zone en désordre.
Ben Roberts
4

Je ne suis pas avocat, mais ce serait ma solution:

  1. Libérez le code sous la licence GNU GPL v3 dans un référentiel public, où tout le monde peut le voir.

  2. La licence GPL ne permet pas à d'autres personnes de prendre votre code et de le mettre dans leur logiciel commercial propriétaire et de fermer le code.

  3. Si le code a été créé à 100% par vous et ne contient pas de travail provenant d'autres personnes ou de travail dérivé, la GPL vous permet également de concéder sous licence votre code sous une autre licence, auquel cas vous êtes autorisé à l'utiliser dans vos travaux à des fins commerciales exclusives. code. Cependant, vous devez faire de votre employeur un licencié de cette licence propriétaire alternative.

  4. Cette solution prouverait que vous avez écrit votre code AVANT de commencer le travail.

  5. Vous pouvez annoncer que votre code est disponible sous une licence propriétaire à vendre (pour de l'argent), puis les parties intéressées peuvent vous contacter pour l'acheter.

ruben2020
la source
Je ne voudrais pas faire 1 ou publier le code dans un référentiel public. Je comprends que c'est le moyen le plus simple de prouver que le code a été écrit auparavant. Je pense que les professionnels du logiciel manquent de ce type de licence, une licence qui leur permet d'utiliser leur code pour un travail sans le rendre open source et sans le perdre. Si vous refaites tout, les codes seront similaires, il n'y a pas moyen d'y échapper. Et une conception de salle blanche n'est pas pratique pour un employé.
JohnPristine
Mais votre solution permet à votre employeur de publier votre code source dans un référentiel public. Je pense qu'il n'est pas judicieux d'utiliser une licence open source lorsque vous ne voulez pas qu'elle soit open source.
markijbema
2

Y a-t-il une raison spécifique pour laquelle vous ne pouvez pas demander à votre employeur s'il est possible que vous conserviez le droit d'auteur sur le code général que vous écrivez pour votre framework (qui lui donne à son tour du code gratuit en ce moment), et que vous lui donniez une solution à tout faire -vous-voulez-avec-ça (d'accord, c'est un peu comme le MIT).

Cependant, si vous accordez une licence à votre code MIT actuel, il n'y a aucune raison pour que votre employeur ouvre sa version modifiée (modifiée par vous), donc je dirais que cela ne résout pas grand-chose. Même LGPL ne résoudrait pas cela, tant que le code n'est pas «distribué».

Dans l'ensemble, votre accord ne semble pas déraisonnable: vous avez du code cadre et vous êtes prêt à les donner à l'entreprise, tant que vous pouvez conserver le code et le réutiliser pour d'autres projets plus tard, alors pourquoi ne pas demander?

markijbema
la source
Ouais! C'est toujours la meilleure approche que je dois accepter. Soyez courageux et demandez. S'ils pensent que vous êtes bizarre de demander cela, alors commencez à chercher un autre emploi. Aussi simple que cela. La vie est une question d'honnêteté et de risques. :)
JohnPristine
2

IANAL, demandez à un vrai avocat, etc.

Tout d'abord, je pense que vous pensez que lorsque vous avez des droits d'auteur, vous ne pouvez vous concéder une licence sur le produit que dans les mêmes conditions que vous le concédez à tout le monde. C'est faux: vous pouvez vous le concéder sous n'importe quelle licence appropriée, et le concéder à quelqu'un d'autre sous une licence différente.

Cela signifie que vous pouvez créer une licence spéciale pour l'entreprise qui est sur le point de vous embaucher et mettre le logiciel à leur disposition dans le cadre d'un accord distinct. Bien sûr, cela devrait être fait par un vrai avocat.

Demandez à votre entreprise de signer la licence distincte, qui stipule explicitement que vous avez le droit d'auteur et que vous leur accordez certains droits, pas le droit d'auteur.

En ce qui concerne le problème secondaire, il existe d'autres moyens de prouver la date antérieure, en plus de l'open source du projet. Par exemple, vous pourriez héberger sur un serveur accessible au public un fichier, qui dit que vous avez bien écrit ce logiciel, à la date indiquée, contenant par exemple quelques hachages différents de la version actuelle, ou même la version cryptée du projet.

Cela signifie que si vous êtes sous une menace juridique, vous pouvez prouver la date d'utilisation antérieure au juge, mais vous ne révèle pratiquement rien sur le projet, à part que vous êtes l'auteur et la date à laquelle vous l'avez révélé. Vous devriez consulter un avocat au sujet de l'éventuelle validité d'un tel argument, mais je crois qu'il serait accepté par la plupart des tribunaux.

K.Steff
la source