나는 당신이 일하는 회사가 코드를 소유하고 있다는 것을 알고 있으며, 당신이 그것을 판매하려고하면 분명히 체포 될 것입니다. 그러나 개발자가 작성한 코드의 사본을 보관하는 것은 드문 일입니까 (나중에 참조하기 위해)?
분명히이 사람 은 소스 코드를 복사하기 위해 감옥으로 보내졌습니다.
나는 당신이 일하는 회사가 코드를 소유하고 있다는 것을 알고 있으며, 당신이 그것을 판매하려고하면 분명히 체포 될 것입니다. 그러나 개발자가 작성한 코드의 사본을 보관하는 것은 드문 일입니까 (나중에 참조하기 위해)?
분명히이 사람 은 소스 코드를 복사하기 위해 감옥으로 보내졌습니다.
답변:
그러나 개발자가 작성한 코드의 사본을 보관하는 것은 드문 일입니까 (나중에 참조하기 위해)?
나는 그것이 얼마나 흔한 지 잘 모르지만, 일반적인 것인지 아닌지는 여전히 나쁜 생각입니다.
프로그래머는 종종 같은 문제를 두 번 해결하는 것이 시간 낭비라는 사고 방식으로 작동합니다. 우리는 재사용 할 수 있도록 코드를 디자인하려고합니다 (때로는). 우리는 미래에 어느 시점에서 재사용 할 수있는 클래스와 함수 라이브러리를 구축합니다. 그 누구도, 그래서 우리는 때로는 멀리 우리의 코드를 제공 사람은 지금까지 우리가했던 것과 같은 문제를 해결하기 위해 코드를 작성할 필요가 없습니다. 따라서 한 작업에서 다른 작업으로 이동할 때 "귀하의"코드를 가져 가고 싶을 수도 있습니다. 그러나 다음과 같은 이유로 여전히 그렇게해서는 안됩니다.
취할 코드가 아닙니다.
이전 고용주를 위해 작성한 코드는 그들이 만든 사업의 일부입니다. 그들의 코드는 경쟁 우위의 일부입니다. 물론 경쟁 업체는 동일한 문제를 해결하기 위해 자체 코드를 작성할 수 있지만 고용주가 비용을 지불하고 소유하고 승인하지 않은 작업을 기반으로하는 이점을 활용해서는 안됩니다.
그들이 전혀 의미가 없다면, 새로운 고용주는 이전 고용주로부터 가져온 코드의 일부를 원하지 않습니다. 이전 고용주에 대해 "직장을"더 많이 참조할수록 새로운 고용주를 법적 위험에 처하게 할 수 있습니다.
실수로 New Employer에서 이전 고용주를 위해 한 일의 사본을 얻었음을 알게 된 경우 New의 상사는 다른 사람을 위해 떠날 때 코드 사본을 가져갈 것입니다. 일. 그 사람과 잘 어울리지 않을 수도 있습니다.
실제 선을 긋지 않거나 오래된 물건에서 모호한 아이디어를 가지고 있더라도 오래된 물건을 소유하고 있으면 무언가를 사용하고 있다는 의혹이 생길 수 있습니다 . Old Employer가 New Employer를 고소한다고 가정하고 Old에서 New로 이동 한 소수의 직원 중 한 사람이 갑자기 자신을 기탁한다고 생각합니다. 여러분 중 어느 누구도 Old의 코드를 New의 제품에 실제로 복사 한 사람은 없었지만, 귀하 앞에있는 변호사는 다음과 같이 묻습니다. Old Employer에서 일하면서 다른 사람이 있었나요? "
지난 달, 작년 또는 더 오래 전에 작성한 코드는 필요 하지 않습니다 . 문제를 한 번 해결 한 후 문제를 다시 해결하는 방법 을 알게 되었습니다. 또는 문제를 해결 하지 않는 방법을 알고있을 수도 있습니다. 경험이 있기 때문에 새로운 구현이 더 좋습니다.
더 좋은 방법이 있습니다. 상황에 상관없이 오래된 코드를 읽어서 유용한 것을 배우기 란 어렵습니다. 배운 내용, 가지고있는 아이디어 등을 설명하는 일기 나 일기는 나중에 훨씬 더 유용합니다.
Old Employer가 자신의 코드를 알고 있음에도 불구하고 여전히 괜찮 습니다! 전화를받을 수있는 유일한 방법은 오전 3시 전화입니다. "저기 SuperFoo? 어떻게 지내세요? 잘 들으십시오 우리가 새로운 사람이 이해하지 못한다고 쓴 몇 개의 파일로 좁혔습니다
놓아 줘 필요하지 않습니다.
for (int i=0; i < N; ++i)
내 코드에서, 확실히 ... 다른 회사에서 다른 곳을 사용하는 것은 불법 아닙니다
나는 항상 내가 작성한 코드의 사본을 보관하고 작업간에 가져갑니다. 후속 고용주는 코드를 보거나 실행하지 못하지만 집에서 참조로 사용합니다. '아, 예. X 프로젝트와 비슷한 작업을하지 않았습니까?'
이것이 합법입니까? 관할권과 상황에 따라 다르지만 상당히 일반적입니다. 도덕적으로, 난 당신이 단순히 새로운 고용주에게 코드를 제공하는 것이 아니라면 문제가 없습니다. 그것은 고용주에게 무료 자원이 아니라 당신이 한 일을 상기시켜주는 것입니다.
[이 단점은 오래된 코드를 볼 때 필연적으로 발생하는 부끄러운 수치입니다. '무엇을 생각하고 있었습니까? 지구에서했던 이유는 그것을 할 그 길을? ']
이것은 매우 나쁜 생각입니다. 이 코드는 당신에게 속해 있지 않으며 (법적으로 말하면) 코드를 소유하면 많은 문제를 일으킬 수 있습니다. 새 작업으로 이동하고 해당 소스 코드를 계속 유지하면 더욱 그렇습니다. 경쟁자라면 더 나쁘다. 더 이상 일하지 않을 때 소스 코드에 액세스 할 수 있다면 회사는 기쁠 것입니다.
위험 관리에 관한 것입니다. 분명히 다른 곳에서 사용할 수있는 이전 고용주로부터 물건을 보관해야합니다. 그들은 그러나 코드의 소지가 더 만들어 가지고, 당신의 기호는 지난 X 달이 / 후 년을 떠나 절을 비 경쟁 할 이유입니다 취약 당신이하지 않은 경우에도 (노골적으로 회사의 코드를 복사 당신을 비난하는 사람에게, 같은 아이디어를 사용했습니다). 이 위험을 관리 할 가치가있는 코드가 있습니까?
코드를 작성함으로써 얻은 유용한 내용은 정확한 구문이 아닙니다. 그것은 당신이 얻은 지식입니다. 이 모든 법적 문제를 다룰 가치가 없을 것입니다.
드문 일이 아닙니다.
나는 거의 사본이 1 매 에 관계없이 쓴 사람의, 내 현재 프로젝트에서 내가 전문적으로 작성한 코드의 조각, 확실히 모든 코드를 2 . 코드와 함께 내가 할 수있는 것과 할 수없는 것을 명확하게 정의하는 법적인 서류가 많이 있습니다. 코드를 얻는 것만이 코드에서 이익을 얻는 것과는 다릅니다.
즉, 이는 법적 문제이며 법적 문제는 매우 복잡하고 현지화되는 경향이 있습니다. 확실치 않은 경우 변호사와 상담해야합니다. 내 코드를 보관할 수는 있지만 99 % 확신합니다.
1 누락 된 것은 주로 보관하지 않은 것입니다. 법적 이유로 인해 하나의 작은 프로젝트 코드 만 누락되었습니다.
2 프로젝트의 본질과 프로젝트에서의 역할, 나는 특정 모듈을 만들지 않더라도 적어도 어디로 갈지에 대한 아이디어가 필요한 사람 중 하나입니다.
체포 된 중국인을보고 "코드는 재산이 아니므로 도난 당할 수 없습니다"라는 말로 당신을 키우고 있습니다.
참고 : Goldman Sachs 간첩 사건의 법원 규칙 인 '물성이 아닌 코드'
그것으로 말했다.
여기 간단한 질문이 있습니다. 상사에게 가서 "내가 여기서 일하는 동안 쓴 모든 코드의 사본이 있습니다. 다른 사람이 아닌 내가 작성한 코드 만 있습니다. 이것은 내 교육용이며 절대로 제공하지 않습니다."
당신이 그들의 눈에 틀리거나 옳다면 그들의 다음 행동은 지시 할 것입니다 (예, 그 단어는 북미 / 세계에 존재합니다).
자신의 "윤리"에 관계없이 고용주를 위해 일합니다. 그들이 당신이하고있는 일이 잘못되었다고 생각하면, 그들의 윤리에 따라 잘못됩니다. 그들이 당신에게 돈을 지불하고 당신이 그들에 의해 고용되면, 당신은 그들이 당신을 해고시킬 수있는 그들에 동의하거나 동의하지 않는 법원에 있습니다.
이제 그것은 청렴의 문제입니다. 이전 직원이 코드 일부를 사용하도록했지만 먼저 모든 코드를 검사했습니다.
당신이 옳다고 믿는다 고해서 당신을 옳게 여기지는 않습니다. 일반적으로 소프트웨어 개발자는 고용 계약에 서명합니다. 당신이 서명 한 경우, 당신은 당신의 말로 살아야합니다.
개발자가 작성한 코드의 개인 사본을 유지하는 것은 드문 일입니까?
직접 질문에 대답, 나는에 말할 것이다 나의 이 경험 입니다 드문 일. 이것에 대한 예외 는 많은 프리랜서를 고용하고 고객의 향후 유지 보수 및 개선 프로젝트를 위해 코드를 유지하는 사람들이며, 계약서에 분명히 명시되어 있다고 상상할 수 있습니다 ( 내 친구의 자유 계약을 검토하는 습관, 그래서 누가 아는가). 대기업에서 일하는 사람들 은 이전 고용주의 코드를 지키는 것을 결코 인정 하지 않았습니다 .
나는 그것이 유용 할 하나의 상황을 생각할 수 없기 때문에 나는 그렇지 않다는 것을 안다. (현재 고용주가 그러한 것들을 금지한다고 확신하지는 않는다.) ). 내가 작성 / 수정 한 코드는 일반적으로 특정 비즈니스 요구 사항에 따라 매우 다르므로 새 코드를 작성하는 것보다 이전 코드를 재사용하는 것이 더 쉬운 방식으로 나중에 다시 올 것이라고 상상할 수 없습니다 암호.
당시에는 개발자들이 현재 업무에서 문제를 해결하는 데 사용할 개인 루틴 라이브러리를 보유하는 것이 일반적이었습니다. 개발자가 떠날 때 소스는 그대로 남아 있지만 모든 개선 사항도 그와 함께했습니다.
이로 인해 윈-윈 상황이 발생했습니다. 또한 작성된 모든 코드의 일부일뿐입니다.
물론 개인 라이브러리에 있던 대부분은 오늘날 표준 라이브러리에 있습니다.
북미 대부분의 지역에서 고용주와 직원 간의 관계에 따라 고용주의 사전 승인없이 고용주 장비에서 디지털 자료 (예 : 소스 코드)를 전송하거나 전송하는 것은 불법입니다.
직장에서의 직원 정의와 관련된 법률의 일부는 직원이 구매를 요구하는 거래를 제외하고 직원 계약에 달리 명시되지 않는 한 직원이 자신의 작업 장비를 제공하지 않는다는 설명입니다. 자체 장비 (예 : 건설 노동자).
북아메리카의 대부분의 고용 법은 고용주를 직원 대 고용주 관계의 주요 위험 요소로 정의합니다. 고용주는 직원에게 자재, 장비를 제공하고 업무 관련 활동을 통제하는 동안 시간을 지불합니다.
이 관계가 진행되는 동안 언제라도 해당 자료를 만들면서 비용을 지불하고 위험을 감수 한 고용주로부터 귀중한 자료를 훔치는 것이 괜찮습니까?
이것에 대한 주요 문제는 "당신이 작성한 소스 코드?"라는 질문이었습니다. 아니, 당신은 그것을 쓴 사람이 아닙니다. 고용주의지도하에 그것을 쓴 사람이 있습니다. 당신은 그것을 입력 한 고용 된 손입니다. 북미 지역에는 고용주가 재산을 확보하기 위해 법적 조치를 취해야하는 법원이 없습니다. 소스 코드를 USB 썸 드라이브에 복사하기 만하면 뜨거운 물에 빠질 수 있습니다.
따라서 고용주가 자신의 장비 (예 : 랩톱)를 사용하거나 자료를 전송하도록 허용 한 경우에는 다른 문제입니다. 고용주는 해지시 모든 자료를 반환 / 파기해야한다는 사실을 통지해야합니다.
일부 사람들은 이것이 회색 영역이라고 생각한 것 같아서이 답변을 게시 할 것이라고 생각했습니다. 나는 당신이 개발자라면, 당신은 당신이 고용주의 자료의 사본을 보관한다는 인터넷 게시물을 둘러 봐야한다고 생각하지 않습니다. 이 질문에 대한 답변을 얻기 위해 새 회원 계정을 만들었 기 때문에 이미이 질문에 대한 답을 이미 알고 계셨습니다. ;)
확실한. 코드 작성 여부에 관계없이 내가하는 모든 작업의 사본을 유지하고 싶습니다. 원하는 경우 스크랩북이라고합니다. 규칙을 어기다? 혹시.
다음 고용주가 직접적인 경쟁자가 아닌 한 경쟁 우위에 대한 의견은 무의미합니다. 전화 회사에서 소프트웨어 회사로 또는 게임 개발자에서 데이터베이스 개발자로 이동하는 것은 중요하지 않습니다. 실제로 코드를 재사용 할 계획이라면 다른 이야기입니다.
흥미롭게도 웹 개발자는 표준 JavaScript 라이브러리 및 CSS 스타일 시트 세트와 함께 "도구 상자"를 가져 오는 것에 대해 자주 듣는다 . 그러나 나는 여기서 언급 한 것을 보지 못했습니다.
집에서 일하는 것과 같은 여러 가지 이유로 이미 사본이있을 수 있으며 퇴근 후에는 삭제하지 않을 이유가 무엇입니까? 그것은 내 믿음이나 어떤 것에도 반대하지 않습니다.
그러나 그것을 사용하는 것과 관련하여 블로그 게시물 만큼 유용하지 않습니다 !
결론 : 코드를 작성하고, 직면 한 문제와 해결 방법 (특히 일반적이고 광범위 할 때)에 대한 블로그를 작성하고 마지막 작업에서 기념품을 보관하지 않아도됩니다.
재무에서 CFA는 이 문제를 해결합니다. 고객 또는 회사의 업무와 관련된 정보 (이 경우 코드)를 사용할 수 없습니다. 그러나 당신이 할 수있는 것을 암기하고 나중에 그것을 쓰지 못하게 막는 것은 없습니다.
그것이 합법적인지 확실하지 않지만, 최선의 방법은 소스 코드를 남기고 아이디어를 적어두고 집에 도착하자마자 어떻게했는지를 생각하는 것입니다. 도둑질은 도둑질이며 법정에서 그들이 결정하려고하는 것은 코드를 복사했는지 여부입니다.
나중에 재사용 할 목적으로 코드를 저장하는 경우 두 가지 문제가 있습니다.
코드가 도메인에 따라 다르면 독점적 일 수도 있습니다. 어쨌든, 두 사업이나 문제가 똑같지 않으며 다른 문제에 대한 해결책으로 한 문제를 해결하려고 시도하는 것은 좋은 패턴이 아닙니다.
저장하는 코드가 일반적인 문제를 해결하는 경우 접근 방식에 의문을 제기해야합니다. 기존 (그리고 더 나은) 오픈 소스 솔루션 일 때 일반적인 문제를 해결하기 위해 많은 노력을 기울이는 이유는 무엇입니까?
일반적인 문제에 대한 최선의 해결책이 있다고 생각되면 코드를 작성할 때 공용 저장소 및 / 또는 코드 블로그에서 코드를 공개적으로 공유해야합니다. 상사는 일반 라이브러리 공유에 반대하거나 바퀴를 재발 명하도록 강요해서는 안됩니다 (그렇다면 새 직업을 찾으십시오).
잠재적 고용주에게 코드를 보여 주거나 기술을 향상시키기 위해 코드를 저장하는 경우 대신 오픈 소스 프로젝트에 참여하는 것이 좋습니다.
아직 고용주를 위해 작성한 코드를 보관하지 않았습니다. 내가 보관 한 프리랜서 (코드를 잃어 버리면 클라이언트를 지원하기가 어려울 수 있음)
그러나 나는이 고용주를 위해 작성한 코드를 유지하는 것을 고려하고 있습니다. 그 이유는 제가 웹 개발자이기 때문에 꽤 예쁘게 보이는 많은 클라이언트 쪽을 개발했기 때문입니다. 나는 그것들을 디자인하지 않았지만 구현하고 종종 아이디어를 생각해 냈습니다. 온라인 포트폴리오를 구축하기 위해이 자료의 사본을 보관하고 싶습니다. 우리 모두 알다시피, 사이트는 영원히 지속되지 않기 때문에 온라인 상태를 유지하는 작업을 현실적으로 믿을 수 없습니다. 백업 사본이 있으면 온라인으로 포트폴리오를 만들 수 있습니다.
나는 디자이너들이 종종 포트폴리오 목적으로 (복사를 위해 일하더라도) 사본을 보관한다는 것을 알고 있습니다.
이것의 합법성이 무엇인지 잘 모르겠습니다 (내 계약서에 명시 적으로 언급되어 있지 않습니다).
but what are your thoughts on this?
다른 질문을 소개하여 답변에 대화를 공개적으로 초대하지 마십시오. 우리가 작성한 모든 코드의 사본을 보관해야하는지 알려주십시오. 답변을 편집하여 개선 할 수 있습니다.
글쎄, 우리 회사의 비즈니스 로직을 개발하기 위해 회사의 불법 및 개인 재산이기 때문에 코드를 유지할 수 없습니다. 개발자는 해당 논리를 개발하는 방법을 알고 있으므로 해당 논리를 마음에 담을 수 있습니다. 기본적으로 기본적으로 마음에 저장되며 다음에 필요할 경우 이전보다 논리 / 더 나은 논리를 자동으로 구현해야합니다. 인간의 본성과 지능입니다. :)
그러나 문제는 일부 유틸리티 로직을 개발할 때 생성되며 재사용 가능하고 항상 중요하며 다른 프로젝트에서 자주 필요할 수 있습니다. 그래서 당신은 그것을 유지해야합니다.
나는 그것에 대한 대체 해결책이 있습니다. thos 유틸리티에 대한 소스 / 문서없이 JAR 을 작성하고 프로젝트에서 외부 써드 파티 JAR로 추가하십시오. 아마도이 작업을 수행하면 코드를 가지고 있다는 자신의 만족뿐만 아니라 자신의 책임을 확인할 수 있습니다 .)