Je pense que la plupart d'entre nous, les programmeurs, ont utilisé Stack Overflow pour résoudre les problèmes de tous les jours: ont cherché un algorithme efficace pour faire quelque chose.
Imaginez maintenant une situation: vous avez un problème à résoudre. Googlé un peu, a trouvé une question StackOverflow mais vous n'êtes pas vraiment satisfait des réponses jusqu'à présent. Vous devez donc faire vos propres recherches: vous devez le faire parce que vous le souhaitez dans l'application de l'entreprise.
Finalement, après quelques heures, vous avez trouvé la meilleure solution. Vous êtes heureux, vous l'avez ajouté à la base de code de l'entreprise, puis vous souhaitez soumettre votre réponse avec un extrait de code (quelques lignes seulement) à la question que vous avez trouvée auparavant pour aider les autres aussi.
Mais attendez: le logiciel de l'entreprise est en source fermée, et vous y avez travaillé sur l'horloge.
Cela signifie-t-il que je ne devrais pas poster la réponse ni au travail ni à la maison à cette question dans le reste de ma vie, parce que je l'ai résolue au travail et que l'entreprise possède ce morceau de code?
Réponses:
La divulgation d'informations exclusives sur l'entreprise est quelque chose que vous ne devriez jamais faire. Cependant, la plupart des extraits de code sur Stack Overflow sont beaucoup plus banals que cela. Considérez cet exemple :
Cette méthode inverse l'endianité d'un nombre de 32 bits, en échangeant les octets autour. La différence entre cette implémentation et une implémentation naïve est que celle-ci s'exécute deux fois plus vite, mais vous ne pouvez l'exécuter que sur une petite machine endian. Il est utilisé dans un programme propriétaire, mais il décrit une technique générale et n'expose rien de confidentiel.
la source
Je poste fréquemment des problèmes et des solutions que je rencontre au travail, à l'heure de l'entreprise avec le code de l'entreprise *. J'en ai parlé directement à mon directeur, et il estime que la valeur que l'entreprise tire de mon temps passé ici dépasse de loin toute préoccupation concernant mon temps passé ici en général.
* Je suis prudent de masquer tout ce qui, selon moi, pourrait être exclusif. Notre code interne est très propriétaire, mais serait en grande partie inutile à quiconque sans notre matériel propriétaire (que nous ne vendons pas).
Je considère mes questions et réponses comme m'aidant moi-même ainsi que quelqu'un d'autre sur la route lorsqu'ils rencontrent des problèmes similaires aux miens.
la source
Combien cela coûterait-il à votre entreprise pour votre temps supplémentaire ou votre temps perdu si vous n'aviez pas cette ressource?
Tant qu'aucune information compromettante ou propriétaire n'est donnée, je pense que les solutions d'affichage que vous avez trouvées sont une compensation pour les réponses que vous avez reçues.
la source
La réponse réside dans les accords juridiques écrits que vous avez signés avec votre employeur (votre contrat) et avec la juridiction en vertu de laquelle ces accords seront jugés. Il est courant qu'un accord juridique énumère la juridiction qui peut ou non être l'État dans lequel vous travaillez (bien que probablement le pays dans lequel vous travaillez, mais pas nécessairement).
Un grand livre est la propriété intellectuelle et l'open source de Van Lindberg. De la p. 185:
Lisez votre contrat. Divulguez vos intentions à votre employeur avant d'agir. Révélez ensuite vos actions à votre employeur. Divulguer ces choses par écrit et obtenir leur réponse / autorisation le cas échéant par écrit. C'est du moins ce que dit ce livre.
Je ne suis pas avocat, je m'intéresse à ce genre de choses. Ce ne sont pas des conseils juridiques, juste des suggestions amicales. Pour ma part, je ne rends rien nonchalamment public. J'ai rendu certaines choses publiques après de longues discussions avec mon patron, une divulgation complète, un étiquetage clair de la licence et un accord écrit sur ce que je publie, mais c'est rare.
la source
J'ai publié des extraits de code en ligne, mais je modifie toujours le code afin de supprimer toute référence à l'entreprise, toutes les données client et souvent je renomme également les champs / variables. Je finis par réécrire le code afin qu'il ne puisse pas être retracé à un employeur. Cela demande un peu d'effort supplémentaire mais je pense que ça vaut le coup.
Mis à part l'aspect juridique, vous devez également penser que vous avez confiance en la propriété de votre employeur. Si vous en publiez librement des morceaux en ligne, il semble que vous manquiez de discrétion et que vous ne puissiez pas faire confiance. Même si vous aviez la permission, un futur employeur trouvant votre extrait de code dans un moteur de recherche peut ne pas le savoir.
C'est pourquoi j'aurais tendance à pécher par excès de prudence.
la source