Tout au long de mes différents lieux de travail, j'ai toujours écrit du code qui m'a fait penser "ce serait vraiment utile dans d'autres situations". En effet, j'écris intentionnellement du code, même si cela me prend plus de temps à écrire, ce qui, je le sais, m'aidera à l'avenir (par exemple les SubString()
fonctions personnalisées ). Un bon candidat pour ces extraits est diverses classes «Helper».
Je suis sûr que ces extraits peuvent être trouvés ailleurs en ligne, mais le fait est que je les ai écrits et je les utiliserai à nouveau plus tard dans d'autres emplois ou pour des projets personnels. Actuellement, je ne gère pas de bibliothèque de codes personnels, mais la question est: est-ce mal de prendre le code que vous avez produit au travail et de le réutiliser ( a ) pour des projets personnels et ( b ) dans d'autres emplois?
Réponses:
J'ai toujours résolu ce problème en ayant un projet personnel dans lequel je mets toutes mes idées folles et mes trucs génériques, puis je les concède sous la licence BSD, qui permet aux gens de réutiliser, modifier, renommer, fermer et facturer de l'argent pour il. De cette façon, je conserve le droit d'auteur, mais je peux réutiliser le code à ma guise pour tel ou tel employeur, de sorte que je conserve le droit d'auteur sur l'original, mais l'employeur conserve le droit d'auteur sur l'instance réutilisée. Je pense que s'ils avaient un problème avec ça, alors ils devraient simplement me payer pour le réécrire sur le temps de travail, ce qui n'a aucun sens de leur point de vue. De plus, les entreprises utilisent le code BSD tout le temps, car l'idée derrière BSD est de permettre aux personnes et aux entreprises de faire à peu près tout ce qu'elles veulent, y compris le rebranding et la vente.
Ensuite, bien sûr, si des ajouts sont apportés au code sur le lieu de travail, je ne peux pas le réutiliser ailleurs sans le réécrire sur mon propre temps ... ce qui est bien parce que les trucs génériques ont tendance à être relativement petits, sauf si c'est un idée qui justifie de toute façon un effort considérable de temps libre.
L'écrire à votre guise et attribuer une licence au code sous une licence de type BSD devrait vous permettre de maintenir une bibliothèque pour vous que vous pouvez utiliser à peu près partout où vous le souhaitez.
Maintenant, en ce qui concerne les contrats qui prétendent aspirer le droit d'auteur de tous vos projets personnels ... cela diffère probablement radicalement entre les juridictions, mais dans au moins certaines juridictions occidentales, je crois qu'un contrat ne peut pas faire cela. Le contrat peut le dire, mais il ne serait pas appliqué par un tribunal parce que le droit d'auteur doit être explicitement transféré, par opposition à "toute votre base nous appartient" - accord kinda qui ne serait jamais respecté (en la juridiction d'où je viens de toute façon). Il y a un certain nombre de restrictions sur ce qui peut être confirmé par un tribunal par le biais d'un contrat, c'est pourquoi vous verrez généralement (et j'espère) une clause disant quelque chose selon laquelle si une partie du contrat ne fonctionne pas légalement , le reste du contrat est toujours valable.
Mais comme toujours, consultez un avocat avant d'interpréter cela comme un conseil juridique précis. Je n'ai jamais été traduit en justice à ce sujet, donc je ne connais rien de tout cela comme des faits à l'épreuve des avocats. :)
la source
Cela dépend de votre contrat de travail. De nos jours, la réponse la plus probable est (a) oui, c'est faux et (b) oui, c'est vraiment faux. Presque tous les contrats proposés aux développeurs aujourd'hui contiennent des dispositions stipulant que tout code que vous écrivez lorsque vous êtes employé par l'entreprise (que ce soit pendant les heures de bureau ou non) leur appartient et que vous leur transférez automatiquement vos droits d'auteur. À moins que vous n'ayez spécifiquement négocié contre cela, cela s'applique probablement à vous.
Cependant, comme toujours:
Ne nous croyez pas! Consultez un avocat avant de faire quelque chose de potentiellement dangereux.
la source
Réécrivez simplement le code au fur et à mesure de vos besoins . Cela évite complètement le problème pour quelques minutes de codage.
Il y a des chances pour que vous ayez appris plus et que vous écriviez mieux. La réécriture du code le rend généralement plus élégant.
la source
x()
est si spécifique et utile qu'il n'y a pas tant de façons de l'écrire? Dans ce cas, comment pouvez-vous le séparer si la mise en œuvre est si similaire?Selon vos conditions d'emploi, cela pourrait l'être. Consultez votre superviseur, le service des ressources humaines, le service juridique et / ou le service d'éthique pour déterminer ce qui appartient à votre entreprise et ce qui vous appartient, ainsi que la procédure à suivre pour demander l'obtention des droits d'utilisation ou de propriété des choses. que vous produisez au travail.
Presque tous les endroits où j'ai travaillé, les choses qui entrent dans les projets appartiennent à l'entreprise, mais j'ai demandé et obtenu la permission de sortir les choses pour des projets personnels au cas par cas, ce qui exigeait généralement d'expliquer ce que je veux à voir avec cela et comment il ne serait pas préjudiciable à l'organisation de le laisser partir.
la source
J'ai eu un certain succès (pas un succès total) à amener mes employeurs à accepter de publier sous une licence open source une partie de mon code écrit pendant que je travaillais pour eux. Surtout du code que j'ai écrit pendant mon temps libre, mais parfois non. Tout ce code n'est spécifique à aucune industrie.
J'ai commencé le tout en écrivant quelques bibliothèques pendant que j'étais au chômage, puis en les libérant sous la licence MIT. Ensuite, pendant le processus d'embauche à des emplois ultérieurs, je le mentionnerais et dirais que j'utiliserais mon code pour les aider, si cela était possible, mais cela leur dérangerait-il d'ajouter des choses que j'ai écrites en travaillant pour eux, mais seulement des choses qui n'étaient pas spécifiques à leur entreprise et uniquement avec leur approbation.
Les résultats ont varié, mais j'ai pu construire ma bibliothèque au fil du temps. Et il y a eu des cas où avoir la bibliothèque a accéléré le temps de développement pour mes employeurs.
la source
Je suis surpris que la réponse la plus votée ici soit «oui». En tant que développeur, la réponse a toujours été "absolument pas", sauf dans les cas où le code est soit:
Quelqu'un vous a payé pour écrire le code. À moins d'une entente et d'un accord différents, ce qui est bien, il n'est pas juste que quelqu'un d'autre en profite DIRECTEMENT.
Maintenant - le mot DIRECT. Si vous arrivez à la fin d'un projet et que vous avez appris quelque chose d'intéressant et que vous avez créé quelque chose d'utile qui n'est pas directement lié à la propriété intellectuelle du client, prenez du temps et créez-vous une bibliothèque pour cela. Encore mieux - COMMENCEZ UN PROJET DE SOURCE OUVERTE AVEC ELLE, pour que tout le monde s'en retrouve plus riche. Je pense que c'est absolument 100% éthiquement pur comme la neige entraînée, et en effet, je l'ai fait moi-même.
À court terme, la réutilisation du code que vous avez payé pour écrire pour quelqu'un d'autre vous causera des maux de tête légaux. À long terme, cela vous causera des maux de tête.
la source
Je suis sûr que c'est une question juridique selon l'endroit où vous vivez / travaillez et ce qui a été convenu / votre contrat.
Si j'apprends quelque chose par moi-même, pendant mon temps libre, toutes les dépenses que je paie (ordinateur, accès Internet, logiciels, etc.), ne voudraient-ils pas que je l'utilise dans mon travail? Vous trouvez une expression régulière pour un projet personnel et décidez de l'envoyer par e-mail à votre compte professionnel car vous pourriez probablement l'utiliser. Il serait un peu idiot de passer du temps en compagnie à faire semblant de le rechercher à nouveau sur Internet. Bien sûr, nous nous efforçons d'améliorer notre métier, c'est ce que l'on attend des programmeurs, bla, bla, bla, mais si c'était dans un domaine en dehors de la programmation ou même de l'informatique? Je peux me retenir s'ils veulent jouer à ce jeu.
L'entreprise peut essayer de garder une emprise serrée sur le code que je produis. C'est juste une mauvaise fondation pour construire une relation. S'ils se soucient autant de quelques lignes de code, je ne peux pas imaginer dans quelle mesure ils vont dominer mon temps; ce qui vaut beaucoup plus.
la source
J'ai également eu les mêmes pensées dans le passé. Malheureusement, je pense que tout ce que vous écrivez directement pour votre travail serait techniquement protégé par le droit d'auteur par votre employeur. Vous devez demander l'autorisation de réutiliser ce code dans d'autres travaux non liés à l'entreprise.
D'un autre côté, si vous avez écrit du code pendant votre temps libre pour l'un de vos propres projets, vous pouvez protéger votre code avec une sorte de droit d'auteur, puis proposer de le donner à votre employeur pour l'utiliser.
Dans tous les cas, il doit y avoir une communication claire sur la question.
Bien sûr, IANAL.
la source
Votre question est très similaire à celle-ci " Open Source - Est-il légal de recréer / open source un programme que vous avez créé précédemment pour une autre entreprise? "
Je dirais que vous êtes sur des bases juridiques précaires car les entreprises pour lesquelles vous avez travaillé possèdent probablement le code que vous avez écrit pour elles. Il serait préférable de coder les routines à partir de zéro, mais même dans ce cas, il pourrait y avoir des questions si vous aviez encore des copies de l'autre code.
[Je ne suis pas avocat, alors ne vous attendez pas à ce que mon conseil vous aide devant un tribunal.]
la source
Je dirais qu'il vaut mieux ne pas conserver ces petites méthodes / fonctions génériques entre les projets. La plupart du temps, vous pouvez utiliser Boost ou ce que votre langue propose pour ce faire. La plupart du temps, ceux-ci sont mieux écrits que les vôtres.
Ce qui est une bonne idée, c'est d'avoir un ensemble de tests unitaires pour ceux-ci et de les utiliser pour tester votre code kata.
la source
Les emplois se dirigent vers l'Asie, alors réécrivez le code pendant que le train de sauce existe toujours. Si vous êtes payé pour écrire du code, écrivez-le ou collez-le et faites comme si vous l'aviez réécrit tout en faisant quelque chose d'amusant. Ou encore mieux, travaillez à domicile et payez des codeurs asiatiques plus qualifiés, plus intelligents et surtout, beaucoup moins chers pour écrire le code pour vous et faire la différence. Ensuite, vous pouvez sortir et profiter du monde avant que nos dieux d'entreprise ne nous déposent et nous sommes tous démunis travaillant dans des usines de puces fabriquant des puces à 2 cents l'heure pour les riches consommateurs d'iphone chinois et indiens.
la source
Je sais que c'est une vieille question mais quelqu'un l'a heurtée et j'ai pensé que ce serait une bonne idée d'ajouter une référence à la très triste histoire de Sergey Aleynikov . Avant de prendre un code du travail, lisez comment cela a ruiné sa vie et l'a mis en prison .
la source