私はあなたが働いている会社がコードを所有していることを知っており、それを売ろうとすると明らかに逮捕されるでしょう。しかし、開発者が自分が書いたコードの個人的なコピーを保持することは珍しいことですか(将来の参照のために)?
どうやらこの男はソースコードをコピーしたために刑務所に送られたようです。
私はあなたが働いている会社がコードを所有していることを知っており、それを売ろうとすると明らかに逮捕されるでしょう。しかし、開発者が自分が書いたコードの個人的なコピーを保持することは珍しいことですか(将来の参照のために)?
どうやらこの男はソースコードをコピーしたために刑務所に送られたようです。
回答:
しかし、開発者が自分が書いたコードの個人的なコピーを保持することは珍しいことですか(将来の参照のために)?
私はそれがどれほど一般的かは知りませんが、一般的かどうかはまだ悪い考えです。
プログラマは、同じ問題を2回解決するのは時間の無駄であるという考え方で行動することがよくあります。コードを再利用できるように設計することもあります(時には)。クラスと関数のライブラリを構築して、将来のある時点で再利用します。ときどきコードを渡してしまうので、私たちがやったのと同じ問題を解決するために誰もコードを書く必要がなくなります。そのため、あるジョブから別のジョブに移動するときに、「自分の」コードを持ち歩きたいと思うかもしれません。ただし、次の理由により、実行しないでください。
取るコードではありません。
元雇用主のために書いたコードは、彼らが築いたビジネスの一部です。彼らのコードは、競争上の優位性の一部です。もちろん、競合他社は同じ問題を解決するために独自のコードを書くこともできますが、雇用主が支払い、所有し、許可を与えなかった仕事に基づいて構築することの利点を得るべきではありません。
まったく意味がある場合、新しい雇用主は、以前の雇用主から取ったコードの一部を必要としません。以前の雇用主に対して行った仕事を「参照」するほど、新しい雇用主を法的な危険にさらすことになります。
あなたが誤って旧雇用者のためにしたことのコピーをまだ持っているということを、新しい雇用者で滑らせてしまった場合、あなたの上司はおそらくあなたが他の人に去るときに彼らのコードのコピーを取ると気付くでしょうジョブ。それは彼または彼女とうまく座れないかもしれません。
実際の行を切り詰めたり、古いものから曖昧なアイデアを引き抜いたりしていなくても、古いものを所有しているだけで、何かにそれを使用しているのではないかと疑われる可能性があります。Old EmployerがNew Employerを訴え、OldからNewに移行した少数の一握りの従業員の1人として、突然デポジットを行うことに気づいたと想像してください。あなたの誰も実際に古い製品のコードを新しい製品にコピーしませんでしたが、目の前の弁護士は次のように尋ねました。「スーパーフーさん、あなたは今、またはOld Employerで働いている間に他の誰かが書いた?」
先月、昨年、またはそれ以上前に作成したコードは必要ありません。問題を一度解決したら、問題をもう一度解決する方法がわかりました。または、問題を解決しない方法を知っているかもしれません -経験があるので、新しい実装はより良いでしょう。
より良い方法があります。コンテキストから古いコードを読み取って、戻って有用なことを学ぶのは困難です。あなたが学んだこと、あなたが持っているアイデアなどを説明する日記や日記は、後ではるかに役立ちます。
あなたが彼らのコードを持っていることをOld Employerが知っていて、それでOKだとしても、あなたはまだそれを望んでいません!それを持っていることから来ることができる唯一のものは午前3時の電話です:「こんにちは、SuperFoo?お元気ですか?聞いてください、あなたは私たちのもののコピーを持っていますよね?見て、私たちは問題を抱えていますシステム、そして私たちはあなたが書いたいくつかのファイルにそれを絞り込みました。私たちの新しい人は理解していないだけです。
手放す。必要ありません。
for (int i=0; i < N; ++i)
、私のコードでは、確かに...別の会社で、他の場所でそれを使用することは違法ではありません
私は常に自分が書いたコードのコピーを保持し、仕事の間でそれを取ります。それ以降の雇用主はコードを見たり実行したりすることはありませんが、私はそれを自宅で参照として使用します。
これは合法ですか?管轄権と状況に依存しますが、かなり一般的です。道徳的に、私はそれで問題はありません、あなたが単に新しい雇用者にコードを与えているのではないということです...それはあなたの雇用者のための無料のリソースではなく、あなたがしたことのリマインダーとデモンストレーションです。
[これの裏側は、古いコードを見るときに避けられない恥です:「私は何を考えていたのですか?? 一体どうしてそんなことをしたの ??]
これは非常に悪い考えです。そのコードはあなたのものではなく(合法的に)、それを所有していると多くのトラブルに巻き込まれる可能性があります。これは、新しいジョブに移動しても、そのソースコードを保持している場合にさらに当てはまります。競合他社の場合はさらに悪い。あなたが彼らのためにもう働いていないときに彼らのソースコードにアクセスできたら、あなたの会社は幸せではないでしょう。
リスクを管理することがすべてです。以前の雇用主からのものを保持し、どこかで使用できることが明らかに期待されています。そのため、彼らはあなたがサインを出してからXか月/年続くサインの非競合条項を作成しますが、コードを所有していると、会社のコードを露骨にコピーしたとして非難する人に対してより脆弱になります(そうしなかったとしても、同じアイデアを使用しただけです)。このリスクを管理する価値のあるコードを持っていますか?
確かに、コードを書いて得た有用なものは正確な構文ではありません。それはあなたが得た知識です。おそらくこれらすべての法的事項に対処する価値はありません。
珍しいことではありません。
私はほとんどのコピー持っている1 ごとに関係なく、誰が書いたかの、私は専門的に書かれた、と確かに私の現在のプロジェクトからすべてのコードしたコードの一部を2。コードとともに、私ができることとできないことを明確に定義する法的な書類の山がたくさんあります。コードを取得することは、コードから利益を得ようとすることと同じではありません。
とはいえ、それは法的問題であり、法的問題は非常に複雑でローカライズされる傾向があります。疑わしい場合は、弁護士に相談する必要があります。私は自分のコードを維持するかもしれませんが、そうすることでトラブルに巻き込まれないことを99%確信しています。
1不足しているのは、主にアーカイブを気にかけなかったものです。法律上の理由により、1つの小さなプロジェクトのコードのみが欠落しています。
2プロジェクトの性質とそれらにおける私の役割は、特定のモジュールの構築に関わっていなかったとしても、少なくとも何がどこに行くのかを知る必要がある人の1人です。
あなたの逮捕された中国人男性を見て、「コードは財産ではないので盗まれない」とあなたを育てます。
参照:コード「物理的性質ではない」、ゴールドマン・サックスのスパイ事件における裁判所の規則
とは言うものの。
ここに簡単な質問があります。上司のところに行って、「ここで働いている間に書いたすべてのコードのコピーがあります。他の人ではなく、書いたコードのみです。これは私自身の教育のためであり、決して配布しません」。
あなたが彼らの目に間違っているか、または正しい場合、彼らの次の行動が指示します(はい、その言葉は北米/世界に存在します)。
あなた自身の「倫理」に関係なく、あなたは雇用主のために働いています。彼らがあなたのしていることが間違っていると考えるなら、彼らの倫理に基づいて間違っています。彼らがあなたに支払い、あなたが彼らに雇われているとき、あなたは彼らに同意するか、あなたが解雇される可能性があることに同意しないのはあなたの裁判所です。
今、それは整合性の問題です。前の従業員にコードの一部を任せましたが、最初にすべてを吟味しました。
あなたが正しいと信じているからといって、あなたを正しいとは思わない。通常、ソフトウェア開発者は雇用されると契約書に署名します。署名した場合は、自分の言葉で生きる必要があります。
開発者が書いたコードの個人的なコピーを保持することは珍しいことです
質問に直接答えると、私の経験ではこれは珍しいと言います。例外私が見てきたこれまでは、フリーランスの多くを行うと、彼らは、クライアントの将来のメンテナンスや機能拡張プロジェクトのための手でコードを保つ人々である、と私は私はないですけれども、これは明確に(契約書に明記されていることを想像します友達のフリーランス契約を確認する習慣があるので、誰が知っているか)。私が知っている大企業で働く人々は、元雇用主からコードを守ることを認めたことはありません。
私はそれが役立つ単一の状況を考えることができないので、そうしないことを知っています(現在の雇用者がそのようなことを禁止していることは言うまでもありません-確実に文書を調べる必要があります)。私が書いた/修正したコードは通常、特定のビジネス要件に非常に特有であるため、新しいコードを書くよりも古いコードを再利用する方が簡単になるような方法で将来再び登場することは想像できませんコード。
昔は、開発者が現在の仕事で問題を解決するために使用するルーチンの個人ライブラリを持っていることが一般的でした。開発者が辞めたとき、ソースは背後にとどまりますが、拡張機能も彼と共にありました。
これにより、Win-Winの状況が生じました。また、記述されたすべてのコードのサブセットでした。
もちろん、個人ライブラリにあったもののほとんどは、今日の標準ライブラリにあります。
北米のほとんどの地域で雇用主と従業員の関係の下で、雇用主からの事前の法的許可なしに雇用主の機器からデジタル素材(ソースコード)を転送または送信することは違法です。
職場での従業員の定義に関連する法的法律の一部は、従業員が購入を必要とする取引を除き、従業員契約で特に明記されていない限り、従業員が自分の作業機器を提供しないという説明です自分の機器(すなわち、建設労働者)。
北米のほとんどの雇用法は、雇用主を従業員と雇用主の関係における主要なリスク負担者と定義しています。雇用者が材料、機器を提供し、従業員の仕事関連の活動を管理している間、従業員は自分の時間に対して支払われます。
この関係のどの時点で、雇用主から貴重な資料を盗むことを許可しますか?
これに関する重要な問題は、「あなたが書いたソースコード?」という質問でした。いいえ、それを書いたのはあなたではありません。あなたの雇用主の指導の下で、それを書いたのは彼らです。あなたはそれをタイプしたちょうど雇われた手です。北米では、雇用主が財産を確保するために法的措置を講じた場合にあなたの側に立つ裁判所はありません。ソースコードをUSBサムドライブにコピーするだけで、お湯に入ることができます。
そうは言っても、雇用者が自分の機器(ラップトップなど)の使用や資料の送信を許可した場合、それは別の問題です。雇用主は、終了時に資料を返却/破棄する必要があることを通知する必要があります。
一部の人々はこれが灰色の領域だと思ったようですので、私はこの答えを投稿すると思いました。もしあなたが開発者なら、雇用主の資料のコピーを保管するというインターネット上の投稿をあちこちに回すべきだとは本当に思いません。つまり、この質問をするためだけに新しいメンバーアカウントを作成したからです。;)
承知しました。私は、コードを書いているかどうかに関係なく、自分が行っているすべての作業のコピーを保持したいです。必要に応じて、スクラップブックと呼びます。ルールを破る?おそらく。
あなたの次の雇用主が直接の競争相手でない限り、競争上の優位性に関するコメントは無関係です。電話会社からソフトウェア会社に移る場合、またはゲーム開発者からデータベース開発者に移る場合、それは問題ではありません。実際にコードを再利用することを計画している場合は、別の話です。
興味深いことに、JavaScriptライブラリとCSSスタイルシートの標準セットを備えた「ツールの箱」をWeb開発者が持っていることをよく耳にします。しかし、私はここで言及したことを見ていません。
私は最近、以前の雇用主から保持していた古いコードをすべて削除しました。将来の参照に適していると思ったコードのみを保持しました。実際、私は去ってからかなり進んでおり、古いコードを参照したことがないことに気付きました。同じ問題を解決するより良い方法を見つけました/発見しました/学びました。
しかし、メモリレーンを下る素敵な小さな旅行でした:)
自宅で仕事をするなど、さまざまな理由で、すでにコピーを持っている可能性がありますが、私は仕事の後にこれらを削除しません、なぜですか?それは私の信念や何かに反するものではありません。
しかし、それを使用することに関しては、ブログ投稿ほど有用ではありません!
結論:コードを書き、直面している問題とその解決方法についてブログに書きます(特に一般的で幅広いものの場合)。最後の仕事から(おそらく暗号化された)お土産を残すことを気にしないでください。
財務面では、CFAはこの問題に対処しています。クライアントまたは会社の仕事に関連する情報(この場合はコード)を取得することは許可されていません。しかし、あなたができることを暗記し、後で書き留めることを妨げるものは何もありません。
どれだけ合法かはわかりませんが、ソースコードを残して、家に帰ったらすぐにアイデアとその方法を書き留めておくことをお勧めします。盗みは盗みであり、法廷では、コードをコピーしたかどうかを判断しようとするのです。
後で再利用する目的でコードを保存する場合、2つの問題があります。
コードがドメイン固有である場合、おそらく独自のコードでもあります。とにかく、2つのビジネスや問題はまったく同じではなく、1つの問題を別のソリューションで解決しようとするのは良いパターンではありません。
保存するコードが一般的な問題を解決する場合は、アプローチに疑問を呈する必要があります。既存の(そしてより良い)オープンソースソリューションである可能性が高い一般的な問題を解決するために、なぜ多くの努力を費やしているのですか?
共通の問題に対する最善の解決策があると信じる場合は、自分で保管するのではなく、公開リポジトリやコードブログの作成時にコードを公開して共有するようにしてください。上司は、一般的なライブラリの共有に反対したり、車輪の再発明を強制したりしないでください(もしそうなら、新しい仕事を見つけてください)。
潜在的な雇用者に見せたり、スキルを向上させたいためにコードを保存する場合は、代わりにオープンソースプロジェクトに貢献することをお勧めします。
雇用主のために行ったコードをまだ保持していません。私が保持しているフリーランスのもの(コードを紛失した場合、クライアントをサポートするのは難しい場合があります)。
ただし、この雇用主のために作成したコードを保持することを検討しています。その理由は、私がWeb開発者であり、かなりきれいに見えるクライアント側の多くのものを開発したからです。私はそれらを設計しませんでしたが、私はそれらを実装し、しばしばアイデアを思いつきました。このようなもののコピーを保管して、オンラインポートフォリオを構築したいと思います。誰もが知っているように、サイトは永遠に続くわけではないので、自分の仕事がオンラインにとどまることを現実的に当てにすることはできません。バックアップコピーを持っていると、ポートフォリオをオンラインにすることができます。
私は、デザイナーがポートフォリオの目的で自分の作品のコピーを(たとえそれが雇用のために働いていたとしても)しばしば保持していることを知っています。
私はこれの合法性がわからない(それは私の契約で明示的に言及されていない)。
but what are your thoughts on this?
別の質問を導入して、あなたの答えについて会話を公然と招待しないでください。書いたすべてのコードのコピーを保存する必要があるかどうかを教えてください。回答を編集して改善できます。
さて、私の会社のビジネスロジックを開発するために、会社の違法で個人的な財産であるため、コードを保持できません。開発者として、私はそのロジックを開発する方法を知っているので、そのロジックを心に留めることができます。基本的にデフォルトでそれはあなたの心に保存され、次回必要な場合、自動的に前のものよりも優れたロジック/ロジックを実装する必要があります。それは人間の本性と知性です。:)
しかし、いくつかのユーティリティロジックを開発すると問題が発生します。それらは再利用可能であり、常に重要です。異なるプロジェクトで頻繁に必要になる場合があります。だから、あなたはそれをあなたと一緒に保ちたいはずです。
私はそれに対する別の解決策を持っています。thosユーティリティ用のソース/ドキュメントなしのJARを作成し、それをプロジェクトの外部サードパーティJARとして追加するだけです。おそらくこれを行うことで、コードを持っているというあなたの責任と自己満足を確認できます;)