MIT 라이센스를 사용하여 이전에 작성한 코드 중 일부를 고용주에게 제공하여 본인을 보호하고 저작권을 잃지 않도록 할 수 있습니까?


17

내 상황 :

  • 새 직장을 시작하기 전에 프레임 워크를 작성했습니다. 나는 저작권을 소유합니다.

  • 소프트웨어와 마찬가지로 보일러 플레이트 로직이 내장되어 있습니다. (어!)

  • 새 작업에서 전체 프레임 워크를 사용하고 싶지 않지만 새 작업을 위해 구축하는 것과 비슷한 프레임 워크에서 일부 프레임 워크 를 다시 사용해야 합니다.

  • 모든 논리를 처음부터 다시 구현 / 생각하는 것은 비현실적입니다. 그것은 많은 논리이고 논리는 논리입니다. 크게 다르게 만들 수는 없습니다. 예를 들어, 몇 가지 버전의 HashMap을 코딩 할 수 있습니까? 나는 그것들이 매우 비슷할 것이라고 확신하고 세 번째 버전은 첫 번째 버전의 저작권을 위반했다고 주장 할 수 있습니다. :(

  • API를 다시 발명하려고 시도하는 것은 비현실적입니다. HashMap의 API를 다시 발명 할 수 있습니까? 로 변경할 put(k,v)add(k,v)있지만 그 이상은 아닙니다.

내 자신과 이전 코드를 보호하려는 아이디어 :

본인은 MIT 라이센스에 따라 작성된 이전 프레임 워크를 기반으로 새 프레임 워크를 구축하고 있다고 고용주에게 알릴 것입니다. 따라서 미래에 이전 프레임 워크를 다른 곳 이나 파생 된 다른 버전으로 사용 하면 고용주를 위해 지금 구축중인이 새로운 프레임 워크와 비슷한 코드 조각이 있습니다. 내가 작성한 코드를 사용합니다.

내 질문 :

  • 내 코드를 다른 사람에게 배포하지 않습니다. 저작권을 소유 한 경우 MIT 라이센스 코드를 다른 사람에게 배포 할 필요가 없습니다. 누군가가 내 코드를 MIT 라이센스하에 있다고 주장하는 코드를 릴리스하도록 요청할 수 있습니까? 그것은 세상의 종말이 아니며, 나는 법적 위협 하에서 그렇게 할 것에 분명히 동의합니다.

  • 이 전략이 의미가 있습니까? 마지막 목표는 이전 코드 프레임 워크의 파생 버전을 저작권을 잃지 않고 사용할 수 있도록하는 것입니다. 동시에이 코드를 오픈 소스 프로젝트로 다른 사람에게 배포하고 싶지 않습니다. 나는 자유롭게 배포 할 수있는 다른 오픈 소스 프로젝트를 가지고 있지만이 프로젝트는 계약직이 아닌 내 작업에 사용할 수 있도록 나 자신에게 보관하고 싶습니다.

실제로 배포 및 / 또는 다른 사람에게 보여주지 않고 MIT 라이센스에 따라 프레임 워크가 있다고 주장하는 것과 같습니다 . 무료로 쉽게 구할 수 있다면 고용주는 더 이상 필요하지 않습니다. 그들은 단지 코드를 가져 와서 그것을 사용하기 위해 다른 사람에게 줄 수 있습니다.

노트:

  • 작업을 시작하기 전에이 프레임 워크를 이전 발명으로 나열했습니다.

  • 나는이 코드를 어디서나 발표하지 않았다. 개인 서버의 개인 SVN 저장소에 있습니다.

Nuthel의 내 아이디어 :

  • 저의 계획은 이전 코드를 제 자신에게 유지하고, 고용주를 위해 구축하고있는이 새로운 프레임 워크에서 코드의 일부를 사용하고, 이전에 코딩 한 MIT 라이센스 프레임 워크에서 파생 된 작업임을 고용주에게 알리는 것입니다 . 나중에 MIT 라이센스에 따라 코딩 된 소프트웨어를 배포 할 의무는 없습니다. 나중에 일부 법적 주장이 발생하는 경우 (권장하지 않음) 즉시 모든 소스에 라이센스를 붙여넣고 코드를 표시 / 릴리스 할 수 있습니다.

답변:


21

예전에는 IP 변호사 였으므로 라이센스 전문가에 대한 경험이 있습니다. 나는 그 용어 자체가 읽기 쉽고 이해하기 쉬운 것처럼 느껴지지만 다시 3 년간의 법률 학교와 약간의 변호사 시간에 의해 위트를 다시 받고 해킹으로 돌아갑니다. 특히 저는 현재 활발한 변호사가 아니기 때문에 법률 조언으로 의도 된 것이 아닙니다.

MIT 라이센스 언어 자체로 시작할 수 있습니다. 그런 다음 오픈 소스 라이센스를 이해하기위한 몇 가지 핵심 사항을 제시 한 다음 질문을 해결하고 모든 수준의 관찰 내용을 제공합니다.

이 소프트웨어 및 관련 문서 파일 (이하 "소프트웨어")의 사본을 사용하는 사람에게는 사용, 복사, 수정, 병합 권한을 포함하여 제한없이 소프트웨어를 처리 할 수있는 권한이 무료로 부여됩니다. 다음 조건에 따라 소프트웨어 사본을 게시, 배포, 하위 사용권 부여 및 / 또는 판매하고 소프트웨어를 제공받은 사람이이를 허용하도록 허용합니다.

저작권 소유자를위한 대부분의 오픈 소스 라이센스 (BSD, MIT, GPL 포함)를 가진 몇 가지 주요 사항은 다음과 같습니다.

  1. 라이센스는 저작권 자체의 소유권을 변경하지 않습니다. 소유권의 양도 또는 몰수가 아닌 비 독점적 인 라이센스입니다. OS 라이센스를 사용하는 것이 "공개 도메인에 무언가를 넣는"것은 아니지만 오픈 소스에 대한 한 가지 접근 방식 일 것입니다.
  2. 라이센스를 부여한 이유만으로 저작권 소유자 인 귀하에게 어떠한 방식 으로든 코드를 공개하도록 강요하는 것은 없습니다.
  3. 그러나 OS 라이센스를 사용하는 경우 OS 라이센스 코드를 "얻은"사람이 어떤 방식 으로든 코드를 공개하는 것을 막을 수 없습니다.
  4. 카피 레프트 (예 : GPL) 라이센스는 취득자가 (소유자는 아님) 파생 저작물을 공개 및 공개 소스로 만들어야합니다. 허용 (MIT, BSD)은 그렇지 않습니다. (이것은 약간의 단순화 일지 모르지만 본질적인 차이입니다)
  5. 대부분의 오픈 소스 라이센스 (예 : MIT)에는 "인계 (takeback)"조항이 없으므로 누군가가 코드를 "얻은"후에는 라이센스 조건에 따라 코드를 영구적으로 사용할 권리가 있습니다.
  6. 향후 다른 버전의 코드를 다른 라이센스로 배포하거나 완전히 독점적으로 유지할 수 있습니다. 그렇다고해서 누군가가 이전의 오픈 소스 버전으로 시작하여 ( "구했다"고 가정) 자체적으로 새로운 부품을 추가하고 배포하는 것을 막을 수는 없습니다.
  7. 예를 들어, github에서 코드를 가져 와서 이전 버전의 코드에 대해 "얻는"채널을 제거 할 수 있습니다. 그러나 언급했듯이 다른 사람이 오픈 소스로 제공 한 이전 버전을 사용하거나 배포하는 것을 방해하지 않습니다.

이를 바탕으로 귀하의 질문으로 넘어가겠습니다.

내 코드를 다른 사람에게 배포하지 않습니다. 저작권을 소유하고 있다면 MIT 라이센스 코드를 다른 사람에게 배포 할 필요가 없습니다. 누군가가 내 코드를 MIT 라이센스하에 있다고 주장하는 코드를 릴리스하도록 요청할 수 있습니까? 그것은 세상의 종말이 아니며, 나는 법적 위협 하에서 그렇게 할 것에 분명히 동의합니다. ... 동시에, 나는이 코드를 오픈 소스 프로젝트로 다른 사람에게 배포하고 싶지 않습니다.

저작권 보유자로서 다른 사람에게 코드를 배포 할 필요는 없습니다. GPL이더라도 그러한 요청을 존중할 필요는 없습니다. 귀하는 모든 권리를 보유합니다. 그러나 설명하는 상황에서는 OS 라이선스에 따라 새 회사에 배포하여 영구 라이센스를 부여하게됩니다. 고용주 (전직 고용 주일 가능성이 높음)가 코드를 인터넷에 붙여 넣을 수 있으며, 그 외에는 그에 대한 일을 할 수 없습니다.

나는 "내 고용주 이외의 사람"을 의미한다고 가정합니다. "오픈 소스"로 고용주에게 제공하지 않고 재배포 및 영구적 인 사용을 포함하여 라이센스에 포함 된 모든 권리를 원하는 방식으로 제공하려는 경우 오픈 소스 라이센스. 원하는 조건에 따라 직접 라이센스를 부여해야합니다. 글 머리 기호는 원하는 것을 지적하고, 변호사에게 1 ~ 2 시간 동안 청구서를 작성하여 단락 양식에 넣도록합니다. 아니면 직접 작성하십시오. 라이센스는 계약에 불과한 계약입니다.

나의 최종 목표는 저작권을 잃지 않고 이전 코드 프레임 워크의 파생 버전을 사용할 수 있도록하는 것입니다.

누군가에게 저작권을 부여하거나 독점적으로 라이센스를 부여하거나 (제외 제외) 저작권을 잃지 않으면 저작권을 잃을 수 없습니다. 오픈 소스 라이센스는이 중 어느 것도 아닙니다. 생성 한 파생 버전을 항상 사용할 수 있으며 파생을 다르게 라이센스하거나 모든 권한을 보유 할 수도 있습니다.

그러나 귀하의 주요 합법적 관심사는 고용주가 코드를 자신의 코드로 주장하거나 귀하가 그렇게 할 수있는 권리를 벗어난 상태에서 향후 저작권을 유지하고 코드를 계속 사용할 수있는 것으로 보입니다. 이것의 핵심은 A) 귀하가 이전 저작물에 대한 저작권을 유지하고 X 라이센스 조건에 따라 해당 저작물에 제공한다는 증거를 반박하는 것입니다. ) B) 그들은이 조건에 동의하고, C) 정확히 이전 작업이 무엇 이었는가.

(A)와 (B)의 경우 라이센스를 참조하거나 포함하고 무언가에 따라 코드를 테이블에 가져 오는 것을 이해한다는 것을 서면으로 서명하거나 동의하도록 할 수 있습니다. (C)에 관해서는 이것을하는 표준 방법이 무엇인지 확실하지 않지만 논리적입니다. 엄청나게 크지 않은 경우 코드를 인쇄하여 귀하와 고용주가 서명 한 계약서 사본에 추가 할 수 있습니다. 서명이있는 사본을 보관하십시오. 실제로 인쇄하기에 너무 큰 경우 md5 해시가 여기에 유용한 것처럼 보입니다. 어쩌면 당신은 "개인 github 저장소에서 X라는 zip 파일 / 또는 ftp 사이트 등"이라고 할 수 있는데, XXXXXX의 md5 해시를 가지고 있으며 Z의 Y 회사에게 전자 메일로 전송되었습니다. 데이트". 그런 다음 관리자 나 변호사 또는 개인 이메일 계정의 누구에게나 이메일을 보낼 수 있으며 사본을 삭제하더라도 여전히 보관하고 아직 작성되지 않은 코드의 미래 md5 해시를 예측할 수는 없습니다 . 그것은 이론적으로 그들이 길 아래에서 다른 것을 주장하는 것을 막을 것입니다.


대단해 벤. 당신의 도움을 주셔서 감사합니다. 이미 고용되어 있으므로 관리자에게 상황과 라이센스 조건을 알려주는 이메일이 충분할지 궁금합니다. 그런 다음 내가 가져 오는 각 소스 코드에 라이센스 (저작권 (c) 내 이름-회사에 부여 된 라이센스 blah, blah, blah)를 포함시킵니다. 어떻게 생각하십니까?
JohnPristine

이메일은 계약서와 같은 이해 또는 계약의 증거 일 수 있습니다. 특정 조건에서 코드를 테이블에 가져 오겠다고 제안하고 회사의 권한을 가진 사람이 동의하면 계약을 충분히 작성하는 것처럼 보입니다. 각 파일의 (C) / 라이센스 용어에 대한 당신의 생각도 좋은 것이라고 생각합니다. 문제는 파일 개선에 대한 (C) 유지 여부입니다. 그렇지 않은 경우 단독으로 (C) 보관할 파일의 원본 버전 (예 : 관리자에게 zip 파일 및 md5 해시)을 기록 할 수 있습니다.
벤 로버츠

멋진 답변 감사합니다. 매우 상세하고 공식화되었습니다.
haylem

6

(나는 변호사가 아닙니다.)

나는 이것과 관련된 몇 가지 잠재적 인 문제를 봅니다.

  • 최악의 상황이 발생하면이 코드를 작성하기 전에이 코드를 작성했음을 증명해야하며 직장에서 프로젝트에서 코드를 사용할 때 고용주는 해당 코드가 귀하의 저작권 및 MIT 라이센스에 따른 것임을 알고 있어야합니다 . 이것의 주요 목표는 재배포 조건을 설정하지 않고 저작권을 유지하는 것이므로 이전에 작성한 코드 사용에 대해 고용주와 서면 계약을하는 것이 더 좋습니다.

  • 귀하는 귀하의 저작권 및 "또 다른 파생 버전"을 구축 할 수있는 능력을 보호하고 싶다고 말합니다. 현재 직장에서 몇 가지 훌륭한 아이디어를 가지고이를 구현할 가능성이 높습니다. 직장에서 나간 후 다른 버전의 라이브러리를 구축하기 위해 아이디어를 '다시 구현'하면 털이 될 것 같습니다. 직장에서 작성한 코드로 원하는 것을 수행 할 수 없기 때문에 (그리고 어느 정도, 그 배후의 아이디어).


1) 회사 코드와 함께 라이센스 파일을 사용 하여이 작업을 수행 할 계획이며 MIT 라이센스로 파생 된 작업을 기반으로 함을 나타냅니다. 이전 발명 양식 선언으로 계산하기 전에 작성되었음을 증명합니다. 2) 아이디어는 특허가없는 한 내 저작권의 보호를받지 않습니다. 코드는 저작권이 있습니다. 문제는 구현 한 원래 코드에서 저작권을 침해하지 않고 아이디어를 다시 입력 / 재 구현 / 재사용하는 방법입니다.
JohnPristine

2
아이디어는 저작권의 보호를받지 않지만 "무역 비밀"또는 "노하우"또는 (특허 가능한 경우) "특허 가능한 아이디어"또는 회사가 소유 한 것으로 동의 한 다른 유형의 "지적 재산권"으로 간주 될 수 있습니다. 지저분한 지역입니다.
벤 로버츠

4

나는 변호사가 아니지만 이것이 내 해결책이 될 것입니다.

  1. 공개 저장소에서 GNU GPL v3 라이센스에 따라 코드를 공개하십시오.

  2. GPL 라이센스는 다른 사람들이 귀하의 코드를 자신의 상용 소프트웨어에 넣고 코드를 닫을 수 없습니다.

  3. 코드가 사용자에 의해 100 % 생성되었고 다른 사람의 저작물이나 파생 된 저작물이 포함되어 있지 않은 경우 GPL을 사용하면 다른 라이센스로 코드를 라이센스 할 수 있으며,이 경우 독점 상업을 위해 작업에 코드를 사용할 수 있습니다 암호. 그러나 고용주는이 대체 독점 라이센스의 라이센스 사용자로 만들어야합니다.

  4. 이 솔루션은 작업을 수행하기 전에 코드를 작성했음을 증명합니다.

  5. 귀하는 귀하의 코드가 판매용 독점 라이센스 (돈을 위해)에 따라 이용 가능하다는 것을 알릴 수 있으며 이해 관계자가 귀하에게 연락하여 구매할 수 있습니다.


1을하거나 공용 저장소에서 코드를 해제하고 싶지 않습니다. 코드가 이전에 작성되었음을 증명하는 가장 쉬운 방법이라는 것을 알고 있습니다. 소프트웨어 전문가들은 이런 종류의 라이센스를 놓치고 있다고 생각합니다. 라이센스를 공개 소스없이 만들거나 잃지 않고 작업에 코드를 사용할 수 있습니다. 모든 것을 다시 수행하면 코드가 비슷하며 이스케이프되지 않습니다. 클린 룸 디자인은 직원에게 비현실적입니다.
JohnPristine

그러나 솔루션을 통해 고용주는 소스 코드를 공개 저장소에 게시 할 수 있습니다. 오픈 소스 라이센스를 원하지 않는 경우 오픈 소스 라이센스를 사용하는 것이 현명하지 않다고 생각합니다.
markijbema 2016 년

2

당신이 당신의 프레임 워크에 대해 작성한 일반적인 코드에 대한 저작권을 유지할 수 있는지 (지금은 무료 코드를 제공 할 수 있는지) 고용주에게 물어볼 수없는 특별한 이유가 있습니까? -당신은 그것과 함께 (이것은 MIT와 매우 비슷합니다).

그러나 현재 코드 MIT에 라이센스를 부여한 경우 고용주가 수정 된 버전 (귀하가 수정 한)을 오픈 소스로 공개해야하는 이유가 없으므로 그다지 많이 풀리지 않습니다. 코드가 '배포'되지 않는 한 LGPL 조차도이 문제를 해결하지 못합니다.

모든 거래에서 비합리적으로 들리는 것은 아닙니다. 일부 프레임 워크 코드가 있으며 코드를 보유하고 나중에 다른 프로젝트에 재사용 할 수있는 한 회사에 기증 할 것입니다. 묻지 않는다?


네! 그것이 항상 동의해야하는 최선의 방법입니다. 용기를내어 물어보십시오. 그들이 당신이 그 질문에 이상하다고 생각한다면, 다른 직업을 찾기 시작하십시오. 저것과 같이 쉬운. 인생은 정직과 위험에 관한 것입니다. :)
JohnPristine

2

IANAL, 실제 변호사 등에 게 문의하십시오.

우선, 귀하는 저작권이있을 때 다른 사람에게 라이센스를 부여한 것과 동일한 조건으로 만 제품을 라이센스 할 수 있다고 생각합니다. 이것은 잘못된 것입니다. 적합한 라이센스로 자신에게 라이센스를 부여하고 다른 라이센스로 다른 사람에게 라이센스를 부여 할 수 있습니다.

즉, 귀하를 고용하려는 회사에 대한 특별 라이센스를 작성하고 소프트웨어를 별도의 계약으로 사용할 수있게 할 수 있습니다. 물론 이것은 실제 변호사가해야합니다.

회사에 별도의 라이센스에 서명하도록하십시오.이 라이센스에는 귀하에게 저작권이 있으며 해당 저작권이 아닌 특정 권리를 부여하고 있다고 명시되어 있습니다.

두 번째 문제는 프로젝트를 오픈 소싱하는 것 외에도 이전 날짜를 증명하는 다른 방법이 있습니다. 예를 들어, 공개적으로 사용 가능한 서버에서 파일을 호스팅 할 수 있습니다. 즉, 현재 버전의 몇 가지 해시 또는 프로젝트의 암호화 된 버전을 포함하여 지정된 날짜에이 소프트웨어를 실제로 작성했다고합니다.

즉, 법적 위협에 처한 경우 판사에게 이전에 사용한 날짜를 증명할 수 있지만, 본인은 본인이 제작자이자 공개 한 날짜 외에는 프로젝트에 대해 거의 아무 것도 밝히지 않습니다. 그러한 주장의 타당성에 대해서는 변호사와 상담해야하지만 대부분의 법원에서 인정 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.