Ich weiß, dass die Firma, für die Sie arbeiten, den Code besitzt, und offensichtlich werden Sie verhaftet, wenn Sie versuchen, ihn zu verkaufen. Aber ist es ungewöhnlich, dass Entwickler eine persönliche Kopie des von ihnen geschriebenen Codes aufbewahren (als zukünftige Referenz)?
Anscheinend wurde dieser Mann ins Gefängnis geschickt, weil er den Quellcode kopiert hatte.
Antworten:
Ich weiß nicht, wie häufig es ist, aber häufig oder nicht, es ist immer noch eine schlechte Idee.
Programmierer denken oft, dass es Zeitverschwendung ist, dasselbe Problem zweimal zu lösen. Wir versuchen, unseren Code so zu gestalten, dass er (manchmal) wiederverwendbar ist. Wir erstellen Bibliotheken mit Klassen und Funktionen, die zu einem späteren Zeitpunkt wiederverwendet werden können. Manchmal geben wir sogar unseren Code weiter, damit niemand anders Code schreiben muss, um das gleiche Problem zu lösen, das wir gerade gemacht haben. Es kann daher verständlich sein, "Ihren" Code mitzunehmen, wenn Sie von einem Job zu einem anderen wechseln. Aber Sie sollten es aus folgenden Gründen immer noch nicht tun:
Es ist nicht dein Code zu nehmen.
Der Code, den Sie für Ihren früheren Arbeitgeber geschrieben haben, ist Teil des Geschäfts, das sie aufgebaut haben. Ihr Code ist Teil ihres Wettbewerbsvorteils. Sicher, Konkurrenten könnten ihren eigenen Code schreiben, um das gleiche Problem zu lösen, aber sie sollten nicht den Vorteil haben, auf der Arbeit aufzubauen, für die Ihr Arbeitgeber bezahlt, die er besitzt und die Sie nicht autorisiert hat.
Wenn sie überhaupt einen Sinn haben, möchte Ihr neuer Arbeitgeber keinen Teil des Codes, den Sie von Ihrem früheren Arbeitgeber übernommen haben. Je mehr Sie sich auf eine Arbeit "beziehen", die Sie für einen früheren Arbeitgeber geleistet haben, desto mehr gefährden Sie Ihren neuen Arbeitgeber.
Wenn Sie bei New Employer jemals versehentlich feststellen, dass Sie noch eine Kopie der Dinge haben, die Sie für Old Employer getan haben, wird Ihr Chef bei New wahrscheinlich feststellen, dass Sie eine Kopie seines Codes nehmen, wenn Sie zu einem anderen wechseln Job. Das passt vielleicht nicht zu ihm oder ihr.
Selbst wenn ich Abschreiben Sie keine echten Linien oder nur vage Vorstellungen von Ihren alten Sachen einfach Ihre alte Sachen in Ihrem Besitz mit Verdacht erwecken könnte , dass Sie könnte es für etwas verwenden. Stellen Sie sich vor, der alte Arbeitgeber verklagt den neuen Arbeitgeber, und als einer von wenigen Arbeitnehmern, die von Alt zu Neu gewechselt sind, stellen Sie plötzlich fest, dass Sie eine Kaution hinterlegen. Keiner von Ihnen hat den Code von Old tatsächlich in das Produkt von New kopiert, aber der Anwalt vor Ihnen fragt: "Mr. SuperFoo, haben Sie jetzt oder zu irgendeinem Zeitpunkt, seit Sie Old Employer verlassen haben, eine Kopie eines Codes in Ihrem Besitz, den Sie oder hat noch jemand bei Old Employer geschrieben? "
Sie brauchen den Code, den Sie letzten Monat, vor einem Jahr oder länger geschrieben haben, nicht. Sie haben das Problem einmal gelöst, und jetzt wissen Sie, wie Sie das Problem erneut lösen können. Oder Sie wissen möglicherweise, wie Sie das Problem nicht lösen können - Ihre neue Implementierung ist besser, weil Sie Erfahrung haben.
Es gibt bessere Wege. Es ist schwierig, etwas Nützliches zu lernen, indem man alten Code aus dem Kontext liest. Ein Tagebuch oder Tagebuch, in dem beschrieben wird, was Sie lernen, welche Ideen Sie haben usw., ist später weitaus nützlicher.
Auch wenn Old Employer weiß, dass Sie ihren Code haben und damit einverstanden sind, möchten Sie ihn trotzdem nicht! Das Einzige, was daraus entstehen kann, ist ein Anruf um 3 Uhr morgens: „Hey, SuperFoo? Wie geht es dir? System, und wir haben es auf ein paar Dateien eingegrenzt, die Sie geschrieben haben und die unser neuer Typ einfach nicht versteht. Ich weiß, dass es spät ist, aber könnten Sie ihn durch SuperDuper.pl führen? "
Vergiss es. Du brauchst es nicht.
quelle
for (int i=0; i < N; ++i)
in meinem Code verwende, ist es sicherlich nicht illegal, ihn bei einer anderen Firma zu verwenden ...Ich behalte immer eine Kopie des Codes, den ich schreibe, und bringe ihn zwischen den Jobs. Nachfolgende Arbeitgeber können den Code nie sehen / ausführen, aber ich verwende ihn zu Hause als Referenz: "Ah ja, habe ich nicht etwas Ähnliches für Project X getan?".
Ist das legal? Hängt von der Gerichtsbarkeit und den Umständen ab, ist aber ziemlich häufig. In moralischer Hinsicht habe ich kein Problem damit, vorausgesetzt, Sie geben neuen Arbeitgebern nicht einfach einen Code ... Es ist eine Erinnerung und eine Demonstration Ihrer Aktivitäten, anstatt eine kostenlose Ressource für Ihren Arbeitgeber.
[Die Kehrseite davon ist die unvermeidliche Schande, die entsteht, wenn man sich älteren Code ansieht: 'Was habe ich gedacht? Warum um alles in der Welt habe ich das so gemacht?
quelle
Das ist eine sehr schlechte Idee. Dieser Code gehört Ihnen (rechtlich gesehen) nicht und sein Besitz kann Sie in große Schwierigkeiten bringen. Dies gilt umso mehr, wenn Sie zu einem neuen Job wechseln und den Quellcode trotzdem beibehalten. Noch schlimmer, wenn es ein Konkurrent ist. Ihre Firma würde sich nicht freuen, wenn Sie Zugriff auf ihren Quellcode hätten, wenn Sie nicht mehr für sie arbeiten.
Es geht darum, Ihr Risiko zu managen. Es wird natürlich erwartet, dass Sie Dinge von einem früheren Arbeitgeber behalten, die Sie woanders verwenden können. Dies ist der Grund, warum Ihre Unterschriften zu Wettbewerbsverboten gemacht werden, die X Monate / Jahre nach dem Verlassen der Unterschriften bestehen. Wenn Sie jedoch über den Code verfügen, sind Sie anfälliger für jemanden, der Sie beschuldigt, den Unternehmenscode unverblümt kopiert zu haben (auch wenn Sie dies nicht getan haben). und nur die gleichen Ideen verwendet). Lohnt es sich, den Code zu haben, um dieses Risiko zu managen?
Sicherlich ist das nützliche Zeug, das Sie durch das Schreiben des Codes erhalten haben, nicht die exakte Syntax. es ist das Wissen, das Sie gewonnen haben. Es lohnt sich wahrscheinlich nicht, mit all diesen rechtlichen Dingen umzugehen.
quelle
Das ist nicht ungewöhnlich.
Ich habe eine Kopie von fast 1 für jeden Code, den ich professionell geschrieben habe, und mit Sicherheit den gesamten Code aus meinen aktuellen Projekten, unabhängig davon, wer ihn geschrieben hat 2 . Zusammen mit dem Code habe ich eine Menge Papierkram, der klar definiert, was ich damit machen kann und was nicht. Nur den Code zu haben, ist nicht das Gleiche wie zu versuchen, vom Code zu profitieren.
Das heißt, es ist eine rechtliche Frage, und rechtliche Fragen sind in der Regel äußerst kompliziert und lokalisiert. Im Zweifelsfall müssen Sie unbedingt mit einem Anwalt sprechen. Ich kann meinen Code behalten, aber ich bin zu 99% sicher, dass ich dafür keine Probleme bekomme.
1 Was fehlt, ist meistens das, was ich nicht archivieren wollte. Aus rechtlichen Gründen fehlt nur ein kleiner Projektcode.
2 Die Natur der Projekte und meine Rolle in ihnen, ich bin einer der Leute, die zumindest eine Vorstellung davon haben müssen, was wohin geht, auch wenn ich nicht an der Erstellung eines bestimmten Moduls beteiligt war.
quelle
Ich sehe Ihren festgenommenen Chinesen und erhebe Sie mit einem "Code ist kein Eigentum, daher kann er nicht gestohlen werden".
Ref .: Code "kein physisches Eigentum", Gerichtsurteil im Spionagefall Goldman Sachs
Nachdem das gesagt worden ist.
quelle
Hier ist eine einfache Frage für Sie. Gehen Sie zu Ihrem Chef und sagen Sie ihm: "Ich habe eine Kopie des gesamten Codes, den ich während meiner Arbeit hier geschrieben habe. Nur den Code, den ich geschrieben habe, nicht andere Leute. Dies dient meiner eigenen Ausbildung und ich werde ihn niemals herausgeben."
Ihre nächsten Handlungen werden diktieren (ja, dieses Wort gibt es in Nordamerika / der Welt), ob Sie in ihren Augen falsch oder richtig liegen.
Unabhängig von Ihrer eigenen "Ethik" arbeiten Sie für einen Arbeitgeber. Wenn sie der Meinung sind, dass das, was Sie tun, falsch ist, dann ist es aufgrund ihrer Ethik falsch. Wenn sie dich bezahlen und du bei ihnen angestellt bist, ist es an deinem Gericht, ihnen entweder zuzustimmen oder nicht zuzustimmen, was dich entlassen könnte.
Jetzt geht es um Integrität. Ich habe es einem früheren Mitarbeiter überlassen, einen Teil unseres Codes zu übernehmen, aber ich habe alles zuerst überprüft.
Nur weil Sie glauben, im Recht zu sein, sind Sie nicht im Recht. Normalerweise unterzeichnen Softwareentwickler Verträge, wenn sie angestellt sind. Wenn Sie eine unterschrieben haben, müssen Sie nach Ihrem Wort leben.
quelle
Die Beantwortung der Frage direkt werde, sage ich in meiner Erfahrungen dies ist ungewöhnlich. Die Ausnahme , die ich gesehen habe, sind Leute, die viel freiberuflich tätig sind und den Code für die zukünftigen Wartungs- und Verbesserungsprojekte ihrer Kunden parat haben die Gewohnheit, die Verträge meiner Freunde zu überprüfen (wer weiß). Menschen, die ich kenne und die in größeren Unternehmen arbeiten, haben nie zugegeben , dass sie Code von früheren Arbeitgebern behalten.
Ich weiß, dass ich es nicht tun würde, weil ich mir keine einzige Situation vorstellen kann, in der es nützlich wäre (ganz zu schweigen davon, dass mein aktueller Arbeitgeber solche Dinge verbietet - ich müsste nur die Dokumente nachschlagen, um sicherzugehen ). Der Code, den ich geschrieben / korrigiert habe, ist normalerweise so spezifisch für eine bestimmte Geschäftsanforderung, dass ich mir nicht vorstellen kann, dass er in Zukunft jemals wieder so auftaucht, dass es einfacher wäre, den alten Code wiederzuverwenden, als neuen zu schreiben Code.
quelle
Früher war es üblich, dass Entwickler ihre persönliche Bibliothek mit Routinen hatten, mit denen sie Probleme im aktuellen Job lösen konnten. Die Quelle würde zurückbleiben, wenn der Entwickler ging, aber alle Verbesserungen gingen auch mit ihm.
Dies führte zu einer Win-Win-Situation. Es war auch nur eine Teilmenge des gesamten geschriebenen Codes.
Natürlich würde das meiste, was sich in persönlichen Bibliotheken befand, heute in Standardbibliotheken sein.
quelle
In den meisten Teilen Nordamerikas ist es im Rahmen einer Beziehung zwischen Arbeitgebern und Arbeitnehmern illegal, digitales Material (dh Quellcode) von den Geräten Ihres Arbeitgebers ohne vorherige gesetzliche Genehmigung des Arbeitgebers zu übertragen oder zu übertragen.
Zu den gesetzlichen Bestimmungen bezüglich der Definition eines Arbeitnehmers am Arbeitsplatz gehört die Beschreibung, dass der Arbeitnehmer keine eigenen Arbeitsmittel zur Verfügung stellt, sofern im Arbeitsvertrag nichts anderes bestimmt ist, mit Ausnahme von Geschäften, bei denen der Arbeitnehmer zum Kauf verpflichtet ist ihre eigene Ausrüstung (dh Bauarbeiter).
Die meisten Arbeitsgesetze in Nordamerika definieren den Arbeitgeber als den Hauptrisikoträger in einem Verhältnis von Arbeitnehmer zu Arbeitgeber. Der Arbeitnehmer wird für seine / ihre Zeit bezahlt, während der Arbeitgeber Materialien und Ausrüstung zur Verfügung stellt und die arbeitsbezogenen Tätigkeiten des Arbeitnehmers kontrolliert.
Zu welchem Zeitpunkt in dieser Beziehung ist es in Ordnung, dem Arbeitgeber wertvolles Material zu stehlen, der für die Erstellung dieses Materials bezahlt hat und Risiken eingegangen ist?
Das Hauptproblem dabei war die Frage "Quellcode, den Sie geschrieben haben?". Nein, Sir, Sie haben es nicht geschrieben. Unter Anleitung Ihres Arbeitgebers haben sie es geschrieben. Sie sind nur die angeheuerte Hand, die es abgetippt hat. In Nordamerika gibt es kein Gericht, das Ihnen zur Seite steht, wenn Ihr Arbeitgeber rechtliche Schritte unternimmt, um sein Eigentum zu sichern. Durch einfaches Kopieren des Quellcodes auf einen USB-Stick gelangen Sie in heißes Wasser.
Wenn ein Arbeitgeber Ihnen erlaubt, Ihre eigene Ausrüstung (z. B. einen Laptop) zu verwenden oder das Material zu übermitteln, ist dies eine andere Sache. Der Arbeitgeber muss Sie bei Kündigung darüber informieren, dass Material zurückgegeben / vernichtet werden muss.
Ich dachte nur, ich würde diese Antwort posten, weil es so scheint, als ob einige Leute dachten, dies sei eine Grauzone. Ich glaube wirklich nicht, dass Sie als Entwickler über das Internet posten sollten, dass Sie Kopien der Materialien des Arbeitgebers aufbewahren. Ich meine, Sie kannten die Antwort auf diese Frage eindeutig schon, weil Sie ein neues Mitgliedskonto erstellt haben, nur um diese Frage zu stellen. ;)
quelle
Ich habe das in der Vergangenheit vor ein paar Jobs gemacht.
Ich bin jedoch noch nie zurückgegangen und habe es mir angesehen. Ich habe gelegentlich Ideen und Dinge, die ich gelernt habe, wiederverwendet, aber ich habe keinen Grund gefunden, zurück zu gehen und mir den Code anzusehen.
Also würde ich mich nicht mehr darum kümmern. Es ist rechtlich zweifelhaft, und ich habe es in der Praxis noch nie für nützlich befunden.
quelle
Sicher. Ich mag es, eine Kopie aller meiner Arbeiten aufzubewahren - ob es sich um Code handelt oder nicht. Nennen Sie es ein Sammelalbum, wenn Sie möchten. Die Regeln brechen? Vielleicht.
Die Kommentare zum Wettbewerbsvorteil sind irrelevant, es sei denn, Ihr nächster Arbeitgeber ist ein direkter Wettbewerber. Wenn Sie von einer Telefongesellschaft zu einem Softwarehaus oder von einem Spieleentwickler zu einem Datenbankentwickler wechseln, spielt dies keine Rolle. Wenn Sie tatsächlich vorhaben, Code wiederzuverwenden, ist das eine andere Geschichte.
Interessanterweise erfahren Sie oft, dass Webentwickler eine "Kiste mit Werkzeugen" mit einem Standardsatz von JavaScript- Bibliotheken und CSS- Stylesheets mitbringen. Aber ich habe das hier nicht gesehen.
quelle
Ich habe kürzlich den alten Code gelöscht, den ich von meinem vorherigen Arbeitgeber behalten habe. Ich habe nur Code-Teile aufbewahrt, die ich für die Zukunft für nützlich hielt. Ich habe tatsächlich festgestellt, dass ich erheblich weitergezogen bin, seit ich gegangen bin, und ich habe nie auf den alten Code verwiesen. Ich habe viel bessere Wege gefunden / entdeckt / gelernt, um dieselben Probleme zu lösen.
Es war eine schöne kleine Reise in die Vergangenheit :)
quelle
Ich denke, es muss eine Unterscheidung zwischen einem Entwurfsmuster und tatsächlichem Code geben (zeilenweises Kopieren).
Etwas Pseudocode aufzuschreiben, ist eine gute Möglichkeit, X in Y zu laden. Den ganzen Code aufzuschreiben ist etwas anderes.
quelle
Mit Erlaubnis Ihres Arbeitgebers veröffentlichen Sie den sauber wiederverwendbaren Code als Open-Source-Projekte, die andere Personen verwenden können. Dann kann Ihr Arbeitgeber auch von Beiträgen anderer Personen zu diesem Kodex profitieren.
Auf diese Weise können Sie den Code legal aufbewahren, ein öffentliches Portfolio von Code aufbauen, das Sie geschrieben haben, und der Code kann anderen Menschen zugute kommen.
quelle
Aus einer anderen Anzahl von Gründen, zum Beispiel wenn Sie von zu Hause aus arbeiten, haben Sie möglicherweise bereits eine Kopie, und ich würde diese nach einem Job nicht löschen. Warum tun Sie das? Es geht nicht gegen meine Überzeugungen oder so.
Aber in Bezug auf die Verwendung ist es nicht so nützlich wie ein Blog-Beitrag!
Fazit: Schreiben Sie Ihren Code, bloggen Sie über die Probleme, mit denen Sie konfrontiert waren, und wie Sie sie gelöst haben (insbesondere wenn es sich um allgemeine und umfassende Dinge handelt), und stellen Sie sicher, dass Sie ein (möglicherweise verschlüsseltes) Souvenir aus dem letzten Job behalten.
quelle
In der Finanzabteilung befasst sich das CFA mit diesem Problem. Es ist Ihnen nicht gestattet, Informationen in Bezug auf Kunden oder Ihre Arbeit für das Unternehmen (in diesem Fall Code) zu übernehmen. Aber nichts hindert Sie daran, sich zu merken, was Sie können, und es später aufzuschreiben.
Ich bin mir nicht sicher, wie legitim das ist, aber ich denke, Ihre beste Wette ist es, Ihren Quellcode zu verlassen, aber Ihre Ideen aufzuschreiben und wie Sie es getan haben, sobald Sie nach Hause gekommen sind. Stehlen ist Stehlen und vor Gericht versuchen sie nur herauszufinden, ob Sie den Code kopiert haben oder nicht.
quelle
Wenn Sie Ihren Code mit dem Ziel speichern, ihn später wiederzuverwenden, treten zwei Probleme auf:
Wenn der Code domänenspezifisch ist, ist er wahrscheinlich auch proprietär. Wie auch immer, keine zwei Unternehmen oder Probleme sind genau gleich und der Versuch, ein Problem mit der Lösung für ein anderes zu beheben, ist kein gutes Muster.
Wenn der Code, den Sie speichern, ein häufiges Problem löst, sollten Sie Ihren Ansatz in Frage stellen. Warum unternehmen Sie große Anstrengungen, um ein häufiges Problem zu lösen, wenn es sich wahrscheinlich um vorhandene (und bessere) Open-Source-Lösungen handelt?
Wenn Sie der Meinung sind, dass Sie die beste Lösung für ein häufiges Problem haben, sollten Sie versuchen, Ihren Code öffentlich in einem öffentlichen Repository und / oder einem Code-Blog zu veröffentlichen, wenn Sie ihn schreiben, und nicht für sich behalten. Ihr Chef sollte keine Einwände gegen die Freigabe einer allgemeinen Bibliothek erheben oder Sie zwingen, das Rad neu zu erfinden (wenn er dies tut, einen neuen Job zu finden).
Wenn Sie Ihren Code speichern, weil Sie ihn einem potenziellen Arbeitgeber zeigen oder Ihre Fähigkeiten verbessern möchten, empfehle ich Ihnen, stattdessen zu einem Open-Source-Projekt beizutragen.
quelle
Ich habe noch keinen Code für Arbeitgeber gespeichert. Freiberufliche Mitarbeiter (es kann schwierig sein, einen Kunden zu unterstützen, wenn ich meinen Code verliere).
Ich überlege jedoch, den Code, den ich für diesen Arbeitgeber erstellt habe, beizubehalten. Der Grund ist, dass ich ein Webentwickler bin und viele clientseitige Dinge entwickelt habe, die ziemlich hübsch aussehen. Ich habe sie nicht entworfen, aber ich habe sie umgesetzt und bin oft auf die Idee gekommen. Ich möchte eine Kopie dieses Materials behalten, um ein Online-Portfolio aufzubauen. Wie wir alle wissen, halten Websites nicht ewig, sodass ich nicht realistisch davon ausgehen kann, dass meine Arbeit online bleibt. Wenn ich eine Sicherungskopie habe, kann ich ein Portfolio online haben.
Ich weiß, dass Designer oft Kopien ihrer Arbeiten (auch wenn es sich um Leiharbeiten handelte) für Portfoliozwecke aufbewahren.
Ich bin mir nicht sicher, wie rechtmäßig dies ist (es wird in meinem Vertrag nicht ausdrücklich erwähnt).
quelle
but what are your thoughts on this?
Bitte laden Sie zu Ihrer Antwort nicht offen ein, indem Sie eine weitere Frage stellen. Sie teilen uns mit, ob wir eine Kopie des gesamten Codes behalten sollen, den wir schreiben. Sie können die Antwort verbessern, indem Sie sie bearbeiten.Nun, für die Entwicklung der Geschäftslogik für mein Unternehmen kann ich den Code nicht behalten, da er illegal und persönliches Eigentum des Unternehmens ist. Als Entwickler weiß ich, wie man diese Logik entwickelt, damit ich diese Logik im Kopf behalten kann. Grundsätzlich ist es standardmäßig in Ihrem Kopf gespeichert, und wenn Sie es das nächste Mal benötigen, sollten Sie automatisch die Logik / bessere Logik als die vorherige implementieren. Es ist die menschliche Natur und Intelligenz. :)
Das Problem entsteht jedoch, wenn Sie eine Utility-Logik entwickeln. Diese ist wiederverwendbar und immer wichtig. Sie wird möglicherweise häufig in verschiedenen Projekten benötigt. Also solltest du es bei dir behalten wollen.
Ich habe eine alternative Lösung dafür. Erstellen Sie einfach eine JAR- Datei ohne Quelle / Dokumentation, und fügen Sie sie als externe JAR- Datei eines Drittanbieters in Ihr Projekt ein. Wahrscheinlich können Sie dadurch Ihre Verantwortung sowie Ihre Selbstzufriedenheit bestätigen, dass Sie den Code haben ;)
quelle
Ich behalte keinen Code aus einem einfachen Grund: Die Firma hat mich dafür bezahlt, den Code für sie zu schreiben. Ich gebe ihnen meinen Code und sie geben mir meinen Gehaltsscheck. Der Typ, der mein Mittagessen gemacht hat, kann einen Teil davon nicht für sich behalten. Warum sollte Code anders sein?
Wie bereits erwähnt, habe ich keine Arbeit mehr, all diese Kopfschmerzen bleiben bestehen, neue Arbeit, neuer Start, aber mit ein bisschen mehr Erfahrung und Verständnis für die Arten von Problemen in der Domäne dieses alten Jobs.
quelle