Devez-vous conserver une copie de tout le code que vous écrivez? [fermé]

197

Je sais que la société pour laquelle vous travaillez est propriétaire du code et vous serez évidemment arrêté si vous essayez de le vendre. Mais est-il rare que les développeurs conservent une copie personnelle du code qu'ils ont écrit (pour référence future)?

Apparemment, ce type a été envoyé en prison pour avoir copié du code source.

superFoo
la source
13
Si vous le vendez / le réutilisez pour une entreprise concurrente, le problème juridique pourrait être grave.
EL Yusubov
19
Notez que dans l'article lié, il s'agit d'un cas assez spécifique car il est reparti avec un code qui était probablement couvert par des NDA (compte tenu du client), et même si ce n'était pas le cas, je ne suis pas sûr que je risquerais ma chance. de partir avec le code qui a été développé pour la banque de la Réserve fédérale freaking ! Vous ne devez pas avoir tout ce qu'il ya si vous pensez que rien ne peut aller mal avec ça et qu'il n'y aura pas au moins être quelques personnes influentes qui ne voudraient pas cette idée du tout si vous jamais entendu avez pris le code avec vous .
Hayem
10
En supposant qu'il s'agisse d'un travail à la location, et que votre ancien employeur détient par conséquent les droits d'auteur sur le code que vous avez écrit pour eux et ne l'a pas publié en tant que source ouverte, je dirais que conserver des copies du code que vous avez écrit est tout aussi inapproprié que de conserver des copies du code écrit par vos collègues.
Keith Thompson
37
@ DavidPeterman - pourquoi un employeur qui vous a embauché ne serait-il pas en possession de tout ce que vous faites pour lui? Pensez-vous qu'une partie de votre maison appartient au charpentier qui a fait le cadrage?
Réactif le
10
@ MatthewFoscarini Je comprends ce que vous dites, mais je parle des algorithmes. Ce serait comme dire que le charpentier ne possède pas les étapes qu'il a prises pour construire la maison
David Peterman

Réponses:

303

Mais est-il rare que les développeurs conservent une copie personnelle du code qu'ils ont écrit (pour référence future)?

Je ne sais pas si c'est courant, mais commun ou pas, c'est toujours une mauvaise idée.

Les programmeurs pensent souvent que résoudre le même problème à deux reprises est une perte de temps. Nous essayons de concevoir notre code pour qu'il soit réutilisable (parfois). Nous construisons des bibliothèques de classes et de fonctions à réutiliser ultérieurement. Nous donnons parfois même notre code afin que personne d' autre ne soit obligé d'écrire du code pour résoudre le même problème que nous venons de faire. Il peut donc être compréhensible de vouloir emporter "votre" code lorsque vous passez d'un travail à un autre. Mais vous ne devriez toujours pas le faire, pour les raisons suivantes:

  1. Ce n'est pas votre code à prendre.

  2. Le code que vous avez écrit pour votre ancien employeur fait partie de l'entreprise qu'ils ont créée. Leur code fait partie de leur avantage concurrentiel. Bien sûr, les concurrents pourraient écrire leur propre code pour résoudre le même problème, mais ils ne devraient pas avoir l’avantage de construire sur un travail que votre employeur a payé, que possède, et qu’il ne vous a pas autorisé.

  3. S'ils ont un sens du tout, votre nouvel employeur ne veut aucune partie du code que vous avez pris de votre ancien employeur. Plus vous "référez" au travail que vous avez effectué pour un employeur précédent, plus vous mettez votre nouvel employeur en danger juridique.

  4. Si, par mégarde, vous avez toujours laissé entendre au nouvel employeur que vous aviez toujours une copie de ce que vous aviez fait pour l'ancien employeur, votre supérieur hiérarchique se rendra probablement compte que vous en prendrez une copie lorsque vous partirez pour un autre. emploi. Cela pourrait ne pas bien s'asseoir avec lui ou elle.

  5. Même si vous n'écrivez pas de vraies lignes ou simplement des idées vagues de vos anciens contenus, le seul fait de les avoir en votre possession peut faire suspecter que vous les utilisiez peut-être pour quelque chose. Imaginez qu’un ancien employeur poursuive un nouvel employeur et que, faisant partie d’une poignée d’employés qui sont passés d’ancien à nouveau, vous vous retrouvez subitement en dépôt. Aucun de vous n’a copié le code de Old dans le produit de New, mais l’avocat devant vous demande: "M. SuperFoo, avez-vous maintenant ou avez-vous depuis votre départ de Old Employer en votre possession une copie du code que vous ou quelqu'un d'autre a écrit alors qu'il travaillait chez Old Employer? "

  6. Vous n'avez pas besoin du code que vous avez écrit le mois dernier, l'année dernière ou plus longtemps. Vous avez résolu le problème une fois et vous savez maintenant comment le résoudre à nouveau. Ou, vous savez peut-être comment ne pas résoudre le problème - votre nouvelle implémentation sera meilleure parce que vous avez de l'expérience.

  7. Il y a de meilleures façons. Il est difficile de revenir en arrière et d'apprendre quelque chose d'utile en lisant du vieux code hors contexte. Un journal ou journal qui décrit ce que vous apprenez, les idées que vous avez, etc. est beaucoup plus utile par la suite.

  8. Même si l'ancien employeur sait que vous avez son code et qu'il est d'accord avec ça, vous n'en voulez toujours pas! La seule chose qui puisse en résulter est un appel téléphonique à 3 heures du matin: "Hé là, SuperFoo? Comment allez-vous? Écoutez, vous avez une copie de nos fichiers, non? Regardez, nous avons un problème avec le système, et nous avons réduit le nombre de fichiers à quelques fichiers que vous avez écrit et que notre nouveau type ne comprend tout simplement pas. Je sais qu’il est tard, mais pourriez-vous le guider à travers SuperDuper.pl? "

Laisser aller. Tu n'en as pas besoin.

Caleb
la source
7
En outre, si le contenu sur lequel vous conservez le contenu est perdu ou volé, vous vous exposez à de nombreux problèmes. À vrai dire, je préfère éviter autant que possible toute sorte de connectivité VPN ou de sources sur mes ordinateurs personnels. Votre PC pourrait faire partie du botnet sans même que vous le sachiez, pourquoi le risquer?
Coder
8
Excellente réponse! En fait, on m'a offert une copie du code (ou un accès continu) en quittant mon ancien employeur. J'ai refusé, exactement pour des raisons proches du numéro 8. Après tout, il y avait une raison de démissionner. Si je voulais toujours leur offrir, je resterais :)
harald
79
+1: Vous n'en avez pas besoin La partie difficile est de savoir quoi écrire, pas de l'écrire. Si vous l'écrivez une seconde fois, ce sera probablement encore mieux.
Kevin Cline
6
Lorsque je résous un problème avec mon code, j'ai tendance à écrire la solution sur un blog. Pas le code source de mon travail, mais un code générique qui suit le même schéma (une seule ligne ou quelques lignes pour atteindre l'objectif - pas des monstres de code). Je trouve que c'est une excellente méthode pour stocker ce que j'ai appris lors de travaux précédents. +1 pour la puce # 7!
Gaʀʀʏ
11
Ne devrait-il pas y avoir un seuil quelconque pour la quantité de code admissible? Si j'utilise for (int i=0; i < N; ++i)dans mon code, il n'est sûrement pas illégal de l'utiliser ailleurs dans une autre société ...
vsz
159

Je garde toujours une copie du code que j'écris et le prend entre les travaux. Les employeurs suivants ne voient jamais / n'exécutent pas le code, mais je l'utilise comme référence à la maison: "Ah oui, n'ai-je pas fait quelque chose de similaire à celui du projet X?".

Est-ce légal? Cela dépend de la juridiction et des circonstances, mais c'est assez courant. Moralement, cela ne me pose aucun problème, à condition que vous ne donniez pas simplement du code à de nouveaux employeurs ... C'est un rappel et une démonstration de ce que vous avez fait, plutôt qu'une ressource gratuite pour votre employeur.

[Le revers de la médaille, c’est la honte inévitable qui se produit lorsque l’on regarde un code ancien: «A quoi je pensais ?? Pourquoi est-ce que je l'ai fait de cette façon ?? ']

cjmUK
la source
35
+1 Et peu importe que ce soit légal ou non. Beaucoup d’entre nous le font quand même. Cela ne nuit pas à votre ancien employeur (vous ne vendez pas le code à un concurrent) et il ne peut pas être réglementé de toute façon. D'une certaine manière, si vous vous «souvenez» de la façon dont vous avez résolu un problème pour un employeur précédent, vous «volez» ce secret pour lui - d'une manière qui ne peut être réglementée tant qu'il n'a pas inventé le contrôle de l'esprit;)
Andres F.
89
@AndresF. Ce n'est qu'une rationalisation. Le code est la propriété de votre ancien employeur, vos souvenirs ne le sont pas. Si vous vous souvenez de la façon dont vous avez résolu un problème, vous n'avez pas besoin du code, alors à quoi sert-il de le résoudre?
Caleb
10
+1 pour avoir argumenté moralement. Personnellement, je suis cela, principalement parce que la majorité de mon code n'est pas spécifique à un domaine. Je me souviens de la façon dont j'ai résolu quelque chose, mais pas nécessairement de ses nuances.
Telastyn
46
Dans le cas d'une accusation de vol de propriété intellectuelle par une entreprise, le fait de disposer d'une copie du code agira comme un facteur aggravant important à votre encontre. Avoir la mémoire de ce n'est pas. C'est la différence.
Oleksi
13
@Caleb Quoi qu'il en soit, de nombreux développeurs prennent des morceaux de code après leur départ. Il s’agit d’une action totalement distincte de l’utilisation de ce code pour concurrencer ou blesser votre ancien employeur. Elle est généralement considérée comme une référence, comme dans «comment diable ai-je résolu ce problème / configuré ce logiciel auparavant? vous voulez, mais c'est toujours une pratique répandue, et pas vraiment blesser quelqu'un. Vous pouvez enterrer votre tête collective dans le sable, ou prétendre que c'est faux, mais cela arrive quand même. Surtout avec l'externalisation / la délocalisation arrive, vous êtes surpris
Andres F.
51

C'est une très mauvaise idée. Ce code ne vous appartient pas (légalement) et sa possession peut vous causer beaucoup de problèmes. Cela devient encore plus vrai lorsque vous passez à un nouvel emploi tout en conservant ce code source. Pire encore si c'est un concurrent. Votre entreprise ne serait pas contente si vous aviez accès à leur code source alors que vous ne travailliez plus pour elles.

Il s’agit de gérer vos risques. On s'attend évidemment à ce que vous conserviez des éléments d'un ancien employeur que vous pouvez utiliser ailleurs. C’est la raison pour laquelle ils font de votre signature des clauses de non-concurrence qui durent X mois / années après que vous les avez quittés. Cependant, la possession du code vous rend plus vulnérable à une accusation de copie flagrante du code de la société (même si vous ne l’avez pas fait, et juste utilisé les mêmes idées). Avoir le code vaut-il la peine de gérer ce risque?

Les éléments utiles que vous avez obtenus en écrivant le code ne sont sûrement pas la syntaxe exacte; c'est la connaissance que vous avez acquise. Cela ne vaut probablement pas la peine de traiter de toutes ces affaires juridiques.

Oleksi
la source
9
Ce n’est pas une mauvaise idée, sauf s’il existe des contrôles de sécurité stricts à votre bureau (par exemple, interdire les courriels et les clés USB). De toute façon, personne ne va chercher dans votre ordinateur personnel, et il est entendu que les développeurs retirent des connaissances de leurs emplois passés. Vous ne pouvez pas empêcher cela, et il serait déraisonnable de le faire, que le code soit "mémorisé" ou copié intégralement. En tant qu’employeur, vous pouvez appliquer des clauses de non-concurrence, des accords de confidentialité ou tout autre mécanisme juridique disponible dans votre pays.
Andres F.
14
@ Malfist Non, vous ne le faites pas. IANAL, mais il est assez bien établi qu'aux États-Unis au moins, les produits du travail que quelqu'un vous paye pour créer sont leur propriété, pas la vôtre. Voir les travaux à la location sur Wikipedia.
Caleb
5
@ Malfist Encore une fois, non. Voir le lien dans mon commentaire précédent.
Caleb
4
@ Malfist: "si vous êtes le seul développeur, et qu'ils ne vous ont pas fait renoncer à vos droits d'auteur, vous pouvez prendre le code avec vous lorsque vous quittez (je le fais toujours)". Vous n'êtes pas sûr que vos contrats reflètent la majorité de la réalité. La plupart des contrats de location de logiciels indiquent explicitement que vous devez fournir toutes les sources et les fichiers binaires et leur transférer la propriété et les droits d'auteur. Ce qui est assez normal pour la pige. Vous pouvez négocier cela, mais ce sont plutôt des clauses de facto que je m'attends à voir dans les contrats (pour les contrats internes ou pour les contrats à la pige).
Hayem
5
Considérons de manière hypotétique un développeur qui se souvient de n’importe quelle ligne écrite au cours de sa carrière. Serait-il illégal s'il utilisait cette mémoire pour travailler sur de futurs projets? Pourquoi faites-vous une distinction entre garder votre code en mémoire et en sauvegarder une copie sur votre disque dur privé? Si vous êtes autorisé à prendre exemple sur votre expérience, vous devriez le faire même s’il est écrit dans votre cahier au lieu d’être stocké dans votre cerveau. Et si vous n'êtes pas autorisé à relire votre ancien code, que vous avez enregistré sur votre PC, vous ne devriez pas non plus être autorisé à le "rappeler", ce qui n'a évidemment aucun sens.
Nadir Sampaoli
36

Ce n'est pas rare.

J'ai une copie de presque 1 chaque morceau de code que j'ai écrit de manière professionnelle, et certainement tout le code de mes projets actuels, quel que soit le créateur de celui-ci 2 . En plus du code, j'ai une énorme pile de documents juridiques qui définit clairement ce que je peux et ne peux pas faire avec. Avoir le code, ce n'est pas la même chose que d'essayer de tirer profit du code.

Cela dit, il s’agit d’une question juridique, et les questions juridiques ont tendance à être extrêmement complexes et localisées. En cas de doute, vous devez vraiment consulter un avocat. Je garde peut-être mon code, mais je suis à 99% sûr de ne pas avoir de problème à le faire.

1 Ce qui manque, c'est surtout ce que je n'ai pas voulu archiver. Le code d'un seul petit projet est manquant pour des raisons juridiques.
2 Nature des projets et mon rôle dans ceux-ci, je suis l’un des types qui doivent au moins avoir une idée de ce qui se passe où, même si je n’étais pas impliqué dans la construction d’un module spécifique.

Yannis Rizos
la source
4
@haylem Je ne suis jamais dans les locaux de la société;)
yannis
3
pourtant, je suis sûr que vous savez ce que je voulais dire et qu'il importe peu probablement où vous êtes physiquement :)
haylem
3
J'ai entendu un développeur parler lors d'une conférence WordPress et il a dit quelque chose comme: "Si je sous-traite un travail pour vous, je m'assure que vous savez que vous possédez le code que j'écris pour vous, mais cela ne veut pas dire que je n'ai rien appris. nouveau en écrivant votre code. "
programmeur
3
@Caleb Avoir la documentation appropriée peut être rare (je ne sais pas), mais je ne pense pas que conserver des copies du code soit. Il se trouve que je viens d'avoir les deux;)
yannis
2
@Krelp, les clés de chiffrement, comme les clés de coffre-fort, peuvent être forcées via une assignation à comparaître.
Malfist
29

Je vois votre Chinois arrêté et vous élève avec un "code n'est pas une propriété, donc ne peut pas être volé".

Réf.: Code 'pas de propriété physique', le tribunal statue dans l'affaire d'espionnage Goldman Sachs

Ceci étant dit.

  • Est-ce que je garde le code que j'écris? Absolument.
  • Est-ce que je garde les projets complets? Absolument.
  • Est-ce que je m'assure de saisir le code de mon ordinateur de travail sur mon ordinateur personnel? Vous betcha!
  • Est-ce que je réutilise ce code dans une autre entreprise ou dans un projet personnel? Nan.
  • Est-ce que je regarde souvent l'ancien code et vais WtF!? Tout le temps.
TimSonOfSteve
la source
14
+1 Héhé, une réponse gentille et honnête. La meilleure partie est qu'il est vrai que vous ne revenez jamais à l'ancien code. Vous vous sentez plus en sécurité si vous le prenez avec vous, ne le regardez plus jamais dans votre vie!
Andres F.
N'était-ce pas un problème majeur dans la récente affaire Oracle v Google?
robertc
1
Totalement d'accord avec toi. Je fais la même chose. C'est une très bonne référence.
Andrea Girardi
2
code est pas la propriété, donc ne peut pas être volé est un résumé terrible de cette affaire Goldman Sachs. Le Russe a été acquitté, non pas parce qu'il n'a rien fait de mal, mais parce que son vol ne relevait pas de la loi, le procureur essayait de l'utiliser contre lui. Cela ne voulait pas dire qu'il n'avait pas violé son contrat avec GS, ni enfreint les lois sur la propriété intellectuelle. Veuillez lire l'article plus attentivement et prendre en compte certains des commentaires ci-dessous.
Nate
Article connexe: Goldman Sachs a-t-il outrepassé les charges de son ancien programmeur? . C'est aussi un bon exemple que même si vous gagnez à la fin, la bataille juridique elle-même peut faire beaucoup de mal.
CodesInChaos
10

Voici une question simple pour vous. Allez chez votre patron et dites-leur: "J'ai une copie de tout le code que j'ai écrit pendant que je travaillais ici. Seul le code que j'ai écrit, pas celui des autres peuples. C'est pour ma propre éducation et je ne le distribuerai jamais".

Leurs actions à venir dicteront (oui, ce mot existe en Amérique du Nord / Monde) si vous avez tort ou tort.

Indépendamment de votre propre "éthique", vous travaillez pour un employeur. S'ils estiment que ce que vous faites est mauvais, alors c'est faux en raison de leur éthique. Au moment où ils vous paient et que vous les employez, il appartient à votre tribunal de les accepter ou d’être en désaccord, ce qui pourrait vous faire virer.

Maintenant, c'est une question d'intégrité. J'ai laissé un ancien employé prendre une partie de notre code, mais je l'ai d'abord vérifié.

Ce n’est pas parce que vous croyez que vous avez raison que vous avez raison. Les développeurs de logiciels signent généralement des contrats lorsqu'ils sont employés. Si vous en avez signé un, vous devez vivre selon votre parole.

Ryan Ternier
la source
"pendant que je travaillais ici" implique que la personne en question n'est plus votre patron. Si c'est votre ancien patron, pourquoi voudriez-vous lui demander?
Alexandre
Pourquoi? Contrats? Intégrité?
Ryan Ternier
Vous pouvez conserver le code que vous avez écrit sans l'utiliser, tout en maintenant vos contrats et en préservant votre intégrité.
Alexander
2
Si vous signez un contrat stipulant que tout le code appartient à votre employeur, le ramener à la maison est une violation de ce contrat s'il ne sait pas que vous l'avez, ou vous en a donné la permission. C'est effectivement du vol. Oui, c'est du "code", des 0 et des 1 numériques, mais dans la plupart des cas, c'est du noir et blanc.
Ryan Ternier
C'est la discussion classique du "piratage, c'est du vol".
Alexander
8

est-il rare que les développeurs conservent une copie personnelle du code qu'ils ont écrit

Répondant directement à la question, je dirai dans mes expériences que cela est rare. L’ exception à ce que j’ai vue est celle des personnes qui travaillent beaucoup en freelance et gardent le code sous la main pour les futurs projets de maintenance et d’amélioration de leurs clients, et j’imagine que cela est clairement énoncé dans le contrat (bien que je ne sois l'habitude de passer en revue les contrats de freelance de mes amis, alors qui sait). Les personnes que je connais qui travaillent dans de grandes entreprises n’ont jamais admis avoir gardé le code de leurs anciens employeurs.

Je sais que je ne le ferais pas car je ne peux imaginer une seule situation où cela serait utile (sans mentionner que je suis à peu près sûr que mon employeur actuel interdit de telles choses - il me suffirait de consulter les documents pour être certain ) Le code que j'ai écrit / corrigé est généralement si spécifique à un besoin métier particulier que je ne peux imaginer qu'il reviendra jamais à l'avenir de telle manière qu'il serait plus facile de réutiliser l'ancien code que d'en écrire un nouveau. code.

FrustratedWithFormsDesigner
la source
3
En tant que pigiste, je garderai tout le code. Il est extrêmement improbable de le réutiliser, mais pour finir, je le garderai (par exemple, si l'employeur engage quelqu'un d'autre qui bousille le code et m'engage à nouveau pour le corriger).
Camilo Martin
1
Dans mon travail en freelance, je trouve qu'il y a beaucoup de code qui est couramment réutilisé. Combien de fois dois-je écrire le même code de connexion avant de le réutiliser? Bien que je garde le code à des fins de maintenance, les zones de code communes sont généralement copiées. Si j'ai trouvé du code qui est essentiellement identique entre deux projets, je le copie sous une forme généralisée et je le copie dans d'autres projets si nécessaire.
Chris
8

À l'époque, il était courant que les développeurs disposent d'une bibliothèque personnelle de routines qu'ils utiliseraient pour résoudre les problèmes liés au travail en cours. La source resterait à la sortie du développeur, mais toutes les améliorations l’emporteraient également.

Cela a abouti à une situation gagnant-gagnant. C'était aussi juste un sous-ensemble de tout le code écrit.

Bien entendu, l'essentiel de ce qui se trouvait dans les bibliothèques personnelles le serait dans les bibliothèques standard d'aujourd'hui.

Jon Strayer
la source
Dans certains environnements, il existe une délimitation claire entre le code de bibliothèque ou de composant, ou les classes explicitement conçues pour être réutilisées (analyseurs, etc.) et celles qui sont spécifiques au domaine de problèmes. Le code qui est spécifique à un domaine problématique (application interne ou entité commerciale majeure de XWare) peut ne pas être utile en dehors de cet emplacement, mais les composants / bibliothèques de bas niveau ou réutilisables peuvent en réalité être très utiles.
Warren P
6

Dans une relation employeur-employé dans la plupart des régions d'Amérique du Nord, il est illégal de transférer ou de transmettre du matériel numérique (code source, par exemple) à partir de l'équipement de votre employeur sans autorisation légale préalable de l'employeur.

Une partie de la législation relative à la définition du terme "employé sur le lieu de travail" stipule que l’employé ne fournit pas son propre équipement de travail, sauf indication contraire dans le contrat de l’employé, à l’exception des opérations pour lesquelles l’employé doit acheter leur propre équipement (ouvrier de construction).

La plupart des lois du travail en Amérique du Nord définissent l’employeur comme le principal preneur de risque dans une relation d’employé à employeur. L'employé est rémunéré pour son temps alors que l'employeur fournit le matériel, l'équipement et contrôle les activités professionnelles de l'employé.

À quel moment de cette relation est-il acceptable de voler du matériel précieux à l’employeur, qui a payé et pris le risque de le créer?

Le problème clé avec ceci était la question "le code source que vous avez écrit?". Non monsieur, ce n'est pas vous qui l'avez écrit. Sous la direction de votre employeur, ce sont eux qui l'ont écrit. Vous êtes juste la main louée qui l'a tapé. En Amérique du Nord, aucun tribunal ne vous accompagnera si votre employeur prend des mesures juridiques pour protéger leurs biens. Copier simplement le code source sur une clé USB peut vous mettre dans l’eau chaude.

Cela dit, si un employeur vous a autorisé à utiliser votre propre équipement (un ordinateur portable, par exemple) ou à le transmettre, la situation est différente. En cas de résiliation, l'employeur doit vous informer que tout le matériel doit être renvoyé / détruit.

Je pensais que je posterais cette réponse, car il semblerait que certaines personnes aient pensé qu'il s'agissait d'une zone grise. Je ne pense vraiment pas que si vous êtes un développeur, vous devriez consulter Internet pour garder des copies des documents de l'employeur. Je veux dire, vous avez clairement déjà connu la réponse à cette question parce que vous avez créé un nouveau compte membre simplement pour poser cette question. ;)

Mathew Foscarini
la source
En cas de résiliation, l'employeur doit vous informer que tout le matériel doit être renvoyé / détruit. Est-ce vraiment vrai? L'employeur est-il légalement et / ou contractuellement obligé de le faire?
Radu Murzea
L’employeur n’a pas d’obligation légale de le faire, mais il peut à tout moment demander que tout matériel qui lui appartient soit renvoyé par un employé, à moins d’un accord entre l’employeur et l’employé permettant à l’employé de le conserver.
Reactgular
5

Je l'ai fait dans le passé, il y a quelques emplois.

Cependant, je ne suis jamais retourné le regarder. J'ai parfois réutilisé des idées et des choses que j'ai apprises mais je n'ai pas trouvé une seule raison de revenir en arrière et de regarder le code.

Donc, je ne me dérangerais plus. C'est légalement douteux et je ne l'ai jamais trouvé utile dans la pratique.

JohnB
la source
4

Sûr. J'aime conserver une copie de tout mon travail, que ce soit pour écrire du code ou autrement. Appelez ça un album, si vous voulez. Ne pas respecter les règles? Peut-être.

Les commentaires sur l’avantage concurrentiel ne sont pertinents que si votre prochain employeur est un concurrent direct. Si vous passez d'une compagnie de téléphone à une maison de logiciels ou d'un développeur de jeux à un développeur de bases de données, cela n'a pas d'importance. Si vous envisagez réellement de réutiliser du code - eh bien, c'est une autre histoire.

Il est intéressant de noter que les développeurs Web apportent souvent une "boîte à outils", avec un ensemble standard de bibliothèques JavaScript et de feuilles de style CSS . Mais je n'ai pas vu cela mentionné ici.

Steve Bennett
la source
3

Je viens tout juste de supprimer l'ancien code que j'avais conservé chez mon précédent employeur. Je n'ai gardé que des morceaux de code que je pensais bons à des fins de référence. En fait, j'ai constaté que j'ai beaucoup évolué depuis mon départ et que je n'ai jamais fait référence à l'ancien code. J'ai trouvé / découvert / appris de bien meilleures façons de résoudre les mêmes problèmes.

C'était un bon petit voyage en mémoire :)

Antony Scott
la source
2

Je pense qu'il faut faire la distinction entre un motif de conception et le code réel (copie ligne par ligne)

Écrire quelque chose comme psuedocode - c’est un excellent moyen de charger paresseux X dans Y est une chose. Écrire tout le code, c'est autre chose.

PSU_Kardi
la source
1

Avec la permission de votre employeur, publiez ce code réutilisable en tant que projets open source que d'autres personnes pourront utiliser. Ensuite, votre employeur peut également bénéficier des contributions d’autres personnes à ce code.

De cette façon, vous pouvez conserver le code légalement, créer un portefeuille public de code que vous avez écrit et le code peut profiter à d'autres personnes.

Sarel Botha
la source
1

Pour un nombre de raisons différent, comme le fait de travailler à domicile, vous pouvez aussi en avoir déjà une copie, et je ne voudrais pas supprimer ces mots après un emploi, pourquoi le faire? Cela ne va pas à l'encontre de mes croyances ou de quelque chose du genre.

Mais, en ce qui concerne son utilisation, ce n’est pas aussi utile qu’un article de blog!

En bout de ligne: écrivez votre code, bloguez sur les problèmes que vous avez rencontrés et sur la façon dont vous les avez résolus (en particulier lorsqu'il s'agit de contenus génériques et généraux), et ne craignez pas de garder un souvenir (éventuellement crypté) du dernier emploi.

Camilo Martin
la source
1

En finance, le CFA s’attaque à ce problème. Vous n'êtes pas autorisé à prendre des informations relatives aux clients ou à votre travail pour l'entreprise (dans ce cas, le code). Mais rien ne vous empêche de mémoriser ce que vous pouvez et de l'écrire plus tard.

Vous ne savez pas à quel point cela est légitime, mais je pense que votre meilleur choix est de laisser votre code source, mais écrivez vos idées et comment vous les avez réalisées dès votre retour à la maison. Voler, c'est voler et au tribunal, tout ce qu'ils essaient de savoir pour décider, c'est si vous avez copié le code ou non.

Peter Mortensen
la source
Gardez à l'esprit que certains employeurs feront de leur mieux pour vous empêcher de "noter vos idées" lorsque vous rentrerez chez vous. Le scénario qui leur fait défaut n’est pas un code copié, mais une compétition contre eux - et pour cela, les idées sont bien meilleures. Vous ne savez pas si c'est exécutoire, mais certains essaient de vous faire croire que vous possédez des idées que vous pourriez avoir pendant les heures de travail.
Andres F.
1
@AndresF. J'ai déjà travaillé dans un fonds de couverture qui tentait d'empêcher cela. Honnêtement, ils ne pouvaient pas l'empêcher, ils ont donc fait signer des contrats de non-concurrence et ont payé pour qu'ils ne travaillent pas pendant un ou deux ans après leur démission. Bien que extrêmement coûteux (vous payez deux ans de salaire à une personne qui ne travaille pas pour vous), vos connaissances deviennent obsolètes à votre départ et deviennent inutiles en tant que menace concurrentielle.
Lostsoul
+1 pour les idées seulement et pas le code. A été impliqué avec une entreprise qui a poursuivi un ancien programmeur pour avoir volé du code et vendu un produit similaire. Le juge a décidé que, parce que les insectes étaient identiques, il devait avoir volé le code.
jqa
J'ai vu de nombreux employeurs demander à un nouvel employé de convenir par écrit de ne pas s'engager dans d'autres activités commerciales lorsqu'il était employé par l'employeur. Tous les autres projets réalisés par l'employé sont également la propriété de l'employeur. Je pense que ce sujet en soi est une toute autre question, mais ces accords existent dans la plupart des contrats de travail.
Réactif le
@ MathewFoscarini Je suis d'accord. Dans mon entreprise, nous demandons aux employés d’avoir une approbation écrite avant de s’engager dans une activité qui leur procure un avantage (projets annexes, actions caritatives, etc.). Si vous réparez la voiture de votre voisin et qu'il vous achète une bière, il serait de qualité bien que les employés réalisent que nous ne le ferions probablement pas.
Lostsoul
1

Si vous enregistrez votre code dans le but de le réutiliser plus tard, cela me pose deux problèmes:

  • Si le code est spécifique à un domaine, il est probablement également propriétaire. Quoi qu’il en soit, il n’ya pas deux entreprises ou deux problèmes qui se ressemblent et essayer de résoudre un problème avec la solution d’un autre n’est pas une bonne chose.

  • Si le code que vous enregistrez résout un problème courant, vous devez remettre en question votre approche. Pourquoi consacrez-vous beaucoup d'efforts à résoudre un problème commun alors que ce sont probablement des solutions existantes (et de meilleure qualité) open source?

    Si vous pensez avoir la meilleure solution à un problème courant, vous devez vraiment essayer de partager votre code publiquement sur un référentiel public et / ou un blog de code lorsque vous l'écrivez, et non le garder pour vous. Votre patron ne devrait pas s'opposer au partage d'une bibliothèque générique ni vous forcer à réinventer la roue (le cas échéant, trouver un nouvel emploi).

Si vous enregistrez votre code pour le montrer à un employeur potentiel ou pour améliorer vos compétences, je vous suggère de contribuer à un projet open source.

David Veksler
la source
1
Le deuxième élément suppose qu’il y aurait une solution open source, ce qui est loin d’être certain. Mais le plus important est que le code que j'ai retenu est un code qui montre comment j'ai utilisé des composants / services tiers. Par exemple, si je développe une solution de paiement décente qui s'intègre à Paypal, je prendrai le code comme référence ultérieure - je n'ai donc pas besoin de réinventer la roue la prochaine fois.
cjmUK
0

Je n'ai pas encore gardé de code que j'ai fait pour les employeurs. J'ai conservé des documents en freelance (il peut être difficile de prendre en charge un client si je perds mon code).

Cependant, j’envisage de conserver le code que j’ai élaboré pour cet employeur. La raison en est que je suis un développeur Web et que j'ai développé beaucoup de choses côté client qui sont plutôt jolies. Je ne les ai pas conçus, mais je les ai mis en œuvre et j'ai souvent eu cette idée. Je voudrais garder une copie de ces choses pour construire un portefeuille en ligne. Comme nous le savons tous, les sites ne durent pas éternellement, je ne peux donc pas vraiment compter sur mon travail pour rester en ligne. Avoir une copie de sauvegarde me permettrait d'avoir un portfolio en ligne.

Je sais que les concepteurs conservent souvent des copies de leur travail (même s'il s'agissait d'un travail à louer) à des fins de portfolio.

Je ne suis pas sûr de la légalité de ceci (ce n'est pas explicitement mentionné dans mon contrat).

Xandor Schiefer
la source
4
but what are your thoughts on this?S'il vous plaît, n'invitez pas ouvertement une conversation sur votre réponse en introduisant une autre question. Vous nous dites si nous devons conserver une copie de tout le code que nous écrivons. Vous pouvez améliorer la réponse en la modifiant.
maple_shaft
1
Je pense qu'il y a une différence entre conserver les fichiers source originaux (dans votre cas, les fichiers graphiques tels que .ai ou .psd) par rapport à une capture d'écran du produit final de votre portefeuille. Vous devriez quand même demander la permission à votre employeur, mais ils devraient être plus agréables avec ce dernier.
Sarel Botha
Parce que le travail est souvent de nature interactive, une capture d'écran ne le réduira pas pour un portfolio. Cela ne montrerait que la conception (qui n'est généralement pas la mienne). Je pourrais prendre un screencast de moi en utilisant le travail en question, mais cela ne dit toujours pas des choses comme la latence, les performances, la compatibilité entre les navigateurs.
Xandor Schiefer
0

Eh bien, pour développer la logique commerciale de mon entreprise, je ne peux pas conserver le code, car il s'agit d'une propriété illégale et personnelle de l'entreprise. En tant que développeur, je sais comment développer cette logique afin de pouvoir la garder dans mon esprit. Fondamentalement, par défaut, il est stocké dans votre esprit, et si vous en avez besoin la prochaine fois, alors vous devriez automatiquement implémenter la logique / meilleure logique que la précédente. C'est la nature humaine et l'intelligence. :)

Mais le problème crée lorsque vous développez une logique d’utilité, elles sont réutilisables et toujours importantes, vous pouvez en avoir souvent besoin dans différents projets. Donc, vous devriez vouloir le garder avec vous.

J'ai une solution alternative à cela. Créez simplement un fichier JAR sans source / documentation pour ces utilitaires et ajoutez-le en tant que fichier JAR tiers externe dans votre projet. Ce faisant, vous pourrez probablement confirmer votre responsabilité ainsi que votre satisfaction personnelle à propos du code ;)

Soumyadip Das
la source
1
L’autre approche est que lorsque je rencontre un morceau de code utile / réutilisable que j’aimerais "emporter avec moi" ... je rentre tout simplement chez moi et rédige un billet de blog sur l’API ou la technique qui a intéressé moi. Cet article de blog ne fait bien sûr pas référence à mon employeur et n'utilise pas, ligne par ligne, le code écrit au centime de mon employeur.
Joel Martinez
S'il y a des règles, alors elles doivent être anti-règles. Que vous pouvez utiliser en votre faveur. Il existe différentes techniques pour y parvenir. La chose la plus importante est de garder le travail clair.
Soumyadip Das
0

Je ne conserve pas le code pour une raison simple: la société m'a payée pour l'écrire. Je leur donne mon code et ils me donnent mon salaire. Le type qui a préparé mon déjeuner ne peut pas en garder une partie pour lui-même, pourquoi le code serait-il différent?

En outre, comme je l'ai déjà dit, je quitte mon emploi, tous ces maux de tête y restent, nouvel emploi, nouveau départ, mais avec un peu plus d'expérience et de compréhension des types de problèmes rencontrés dans le domaine de cet ancien emploi.

Scott S
la source