코드 스 니펫에는 공정 사용이 어떻게 적용됩니까? [닫은]


26

정당한 용도로 라이센스를받지 않은 코드를 복사 할 수있는 크기가 있습니까? 예를 들어 (일반적으로) 3 줄의 코드 인 스 니펫을 복사하면 어떻게됩니까? 그게 공정한 사용입니까? 공정하게 사용하는 경우 라이센스가 필요하기 전에 어떤 길이가 필요합니까?


11
법률은 귀하의 위치에 따라 다르며 전 세계의 사람들이 있습니다. 법적 질문을 할 때는 거주지와 근무처를 알려주십시오. 또한 우리가하는 말을 믿지 마십시오. (재정적으로) 어떤 식 으로든 당신에게 중요한 경우, 적절한 경험을 가진 지역 변호사와 상담하십시오.
— David Thornley

1
참고 : 현재 가이드 라인에 따라 주제가 주제가 아니더라도 기존 답변이 충분히 정확하다고 느끼지 않기 때문에이 질문에 대한 답변을 추가했습니다. 오답 또는 오해의 소지가있는 답변은 새로운 오프 주제를 게시하는 것보다 더 나쁜 상황이라고 생각합니다 대답.
— Jules

답변:


12

미국에서는 공정 사용에 대한 법적 교리 는 저작권이있는 저작물의 발췌를 소스 코드에 포함시키는 데 적용되지 않습니다 . 그러한 교리가 관할 지역의 법률에 의해 적용되는 방식은 다를 수 있습니다.

본인은 공정 사용에 관한 미국 저작권 청 기사 및 일반적으로 저작권 을 발췌합니다 .

섹션 107에는 비판, 논평, 뉴스 보도, 교육, 장학금 및 연구 [강조]와 같이 특정 저작물의 재생산이 공정한 것으로 간주 될 수있는 다양한 목적의 목록이 포함되어 있습니다 . 섹션 107은 또한 특정 사용이 공정한지 여부를 결정할 때 고려해야 할 4 가지 요소를 설명합니다.

  1. 상업적 용도인지 비영리 교육 목적인지 여부를 포함한 사용 목적 및 성격
  2. 저작물의 특성
  3. 저작물 전체와 관련하여 사용 된 부분의 양과 양
  4. 저작물의 잠재적 시장 또는 가치에 대한 사용의 효과.

공정 사용과 침해의 구분은 불분명하고 쉽게 정의되지 않을 수 있습니다. 허가없이 안전하게 가져갈 수있는 특정 단어, 줄 또는 메모 [강조] 는 없습니다. 저작권이있는 자료의 출처를 인정하는 것이 허가를 얻는 것을 대체하지 않습니다.

여기에는 다음과 같이 공정한 사용에 따른 법적 한계가 요약되어 있습니다.

저작권은 저자가 자신을 표현한 특정 방식을 보호합니다. 작업에 전달 된 아이디어, 시스템 또는 사실 정보에는 적용되지 않습니다.

가장 안전한 방법은 저작권이있는 자료를 사용하기 전에 항상 저작권 소유자의 허가를받는 것입니다. 저작권 청은이 권한을 부여 할 수 없습니다.

저작권이 보호하는 것의 한계는 공정 사용을 통해 코드의 "스 니펫"을 복사 할 수 없지만 아이디어, 시스템 (알고리즘 포함) 또는 실제 정보가 해당 스 니펫에 표현되는 방식을 다시 작성할 수 있다는 것입니다.

간단히 말해, 3 줄의 코드는 원본 저작물의 저작권을 침해하지 않도록 코드를 다시 작성할 수있을 정도로 작아야합니다. 다시 쓰는 것보다 질문을 쓰는 데 시간이 더 걸렸습니다.


14
여기에 코드 스 니펫을 복사하는 것이 공정하게 사용될 수 없다고 말하는 내용이 없습니다. 귀하가 고소 당했을 경우, 귀하의 사용이 공정 사용인지 판단하기 위해 사용될 기준을 설명합니다.
— KeithB

7
이 목록은 예시적인 것이며 완전하지는 않습니다. 그것이 "등"이라는 단어를 포함하는 이유입니다. 코드가 대부분 기능적이라면 원본 작품의 작은 부분 만 취해지고 두 작품이 시장에서 경쟁하지 않으면 법원이 공정하게 사용할 가능성이 있습니다.
— David Schwartz

4
그리고 @Huperniketes는 "법률에 대해 설명하기"위해 어떤 자격을 갖추어야합니까? 공정한 사용이 아닌 코드 복사를 확실하게 보여주는 기관을 인용하는 것처럼 이것을 작성했지만 실제로는 판례를 인용하지 않고 법령에 대한 자체 해석을 수행하는 것입니다.
— Mark Amery

6
그것은 실제로 내 요지와 관련이 없습니다. 문제는 "예를 들어"로 설정된 목록이 모든 영어 버전 에서 완전 하지 않으며, 변호사가 매일 말하는 기괴한 영어에서 화성까지도 아닙니다. 기울임 꼴로 된 목록은 예제 목록입니다. 이 법은 판사와 변호사에게 입법자들의 일반적인 의도에 대한 힌트 역할을하는 것 외에는 법의 실제 의미에 아무 것도 기여하지 않습니다 . 공정한 사용은 엄청나게 회색의 법 영역이며, 그러한 흑백 부분으로 법의 일부를 제시하면 독자는 엄청난 장애를 겪게됩니다.
— Kevin

6
@Huperniketes, 당신은 내가 법에 대해 아무 것도 주장 하지 않았을 때 자료를 모른 채 바보 같은 주장을하고 있다고 주장 합니다. 당신 은 법적인 주장을하는 사람입니다-평범한 영어 독서와는 달리, 이탤릭체로 된 구절은 코드 조각을 소프트웨어에 복사하는 것이 결코 공정하게 사용될 수 없다는 것을 보여줍니다. 나는 그 주장에 회의적이지만, 그것을지지하거나 반증해야 할 판례법을 모른다. 그렇기 때문에 사실 주장을하지 않는 것입니다. 증거의 부담에 당신 이 믿고 싶은 경우에, 그러나 당신은에 냉소와 중립적 증거를 보여줄 것을 요청하는 사람들을 모욕하는 선택했습니다.
— Mark Amery

21

나는 변호사가 아닙니다 .

그러나, 당신은 절대적으로 무료 당신이 쓰는 것을 아무것도 다음 코드 3 줄을 사용 :

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... 순전히 기능적인 코드입니다 (생각할 수있는 기능적 기능이 아니라 기능에 따라 기능성). 실제로 아무것도 달성 하지 못합니다 . 그것은 단순히 언어의 구성을 연습합니다. 실제 작업을 수행하는 작업을 지원하므로 매크로를 작성하기에 충분할 정도로 자주 입력해야합니다. 그러나 당신이 말하는 것은 '공평한 사용' 이 아니라, 처음에는 저작권이 있거나 라이센스가 가능합니까?

여기서 정답은 변호사에게 문의하는 것입니다. 무엇 으로부터 10 줄의 코드 ? 고도로 전문화 된 정렬 알고리즘? 어떤 종류의 펌웨어? 유즈넷이 시작된 이후로 떠 다니는 수백만 개의 구성 파일 파서 중 하나입니까? DB 스키마를 기반으로 데이터베이스 클래스를 생성하는 다른 프로그램에서 생성 한 코드?

하지만, 나에게 증명 하면 for 루프를 작성, 또는 스위치 문, 그냥 내 복사하지 않았다. 어설 션이 터무니없는 소리를 멈추는 시점에서 아마도 변호사 나 적어도 엔지니어 / PM 등에 게 이야기해야 할 시점에있을 것입니다.

나는 여러 가지 무료 / 오픈 소스 프로젝트에 참여하고 있으며, 그 중 일부는 '사소한'것이 아닌 경우 저작권을 양도해야합니다. 이 요구 사항을 가진 모든 사람들은 '사소한'을 10 줄의 코드가 추가되거나 수정되도록 정의합니다. 그러나 이것은 일종의 표준을 확립하기위한 임의의 리트머스 테스트 일뿐입니다. 한 줄의 마인드-밴딩 바이트 비교는 10 개의 줄 스위치보다 저작권이있을 가능성이 훨씬 높습니다.

내 스 니펫 갤러리는 수백 가지 기능으로 구성되어 있으며, 모두 독창적 인 스타일의 주석으로 된 작성자 정보와 라이센스 정보 (있는 경우 대부분 공개 도메인 임)가 있습니다.

(유머스러운 예에서와 같이) 명백히 사소한 것이 아니라면 코드를 재사용 할 권한이 없다는 것을 알지 않는 한 코드를 재사용하지 않을 것입니다. 또한 항상 적용되는 라이센스의 규칙을 따릅니다. 그리고 내 미래의 자아 (또는 미래의 유지 보수 자)를 돕기 위해 회사에서 떠날 때 USB 스틱을 켜는 타르 볼의 이름이더라도 주석에서 물건을 찾은 곳으로 연결되는 링크를 남기고 싶습니다.


2
많은 스 니펫이 공개 도메인에 있다고 의심합니다.
— Martijn

2
나는 파티에 늦었지만 팀 포스트가 위의 코드에 대한 모든 권리를 보유하더라도 아이디어에 대한 저작권을 가질 수 없다는 점에 유의해야합니다 . 해당 스 니펫에서 for 루프를 사용하여 문자열을 5 번 인쇄 할 수 있다는 것을 배우고 그 아이디어를 사용하여 루프에 대해 자신의 (놀랍게 비슷한) 글을 쓰면 괜찮습니다. 팀이 원하는 것은 중요하지 않습니다. 시간과 버전이 얼마나 비슷한 지에 따라 실제로 다시 구현했다는 것을 입증해야하는 부담이있을 수 있지만, 그렇게 할 수 있다면 확실하게 보장됩니다.
— GrandOpener

저작권은 아이디어를 보호하지 않지만 특허는 보호합니다. 저작권은 특정 법적 정의를 갖는 법적 용어입니다. 아이디어는 저작권 으로 보호 될 수 없지만 아이디어 가 표현되는 방식은 가능합니다. 현재의 IP 법에 따라 제작자의 저작물은 자동으로 저작권이 보호되고 보호됩니다. 아이디어 가 해당 표준을 충족하면 특허를 받을 수 있습니다 .
— Huperniketes

@Huperniketes- "[아이디어]가 표현되는 방식은 [저작권을 가질 수 있고] 있으며, 현 IP 법에 따라 제작자의 저작물은 자동으로 저작권이 보호되고 보호됩니다."-이러한 아이디어의 표현이 독창성과 보호와 복사량을 보장하기위한 창의성의 최소 임계 값으로 간주되는 발명은 사소한 것으로 간주되지 않습니다. 표현이 충분히 구별되지 않거나 복사량 이 사소한 것으로 간주되는 경우이를 최소 복사 라고 하며 저작권이 적용되지 않습니다. 이것은 법원에 확장으로 밝혀졌다 ...
— Jules

... 특정 작업을 수행하는 명백한 최소한의 프로그램 (및 작업 자체가 혁신적이지 않은) 인 컴퓨터 프로그램. 예를 들어 여기에 몇 가지 사례가 설명되어 있습니다 . 문제의 맥락에서 언급 된 3 가지 라인은 거의 확실히 그 범주에 속합니다. 본질적으로 창의적이기보다는 기능적으로 완전히 작동하며 많은 소프트웨어에서 발견되는 공통 작업을 수행하는 것입니다. 이 경우 아마 보호되지 않았을 것입니다.
— Jules

1

저작권 은 아이디어 표현 (법률 적으로 말하는 방식으로 소스 코드가 처리되는 방식 )을 포함 하여 창의적인 작품에 적용됩니다. 아이디어 의 표현이 보증 할 창의성의 최소 임계 값으로 간주되는 수준을 초과하는 독창성과 창의성 수준에 도달하는 한 보호 및 복사량은 사소한 것으로 간주되지 않습니다.

표현이 충분히 독특하지 않은 경우, 이것은 저작권 의 문턱 값에 도달하지 않는 것으로 언급된다 ; 복사량 이 사소한 것으로 간주되는 경우이를 최소 복사 라고 하며 저작권이 적용되지 않습니다. 이것은 법원이 특정 작업을 수행하는 명백한 최소한의 프로그램 인 경우 (그리고 작업 자체가 혁신적이지 않은 경우) 컴퓨터 프로그램으로 확장되는 것으로 밝혀졌습니다. 예를 들어 여기에 몇 가지 사례가 설명 되어 있습니다 .

문제의 맥락에서 언급 된 3 가지 라인은 거의 확실히 그 범주에 속합니다. 본질적으로 창의적이기보다는 기능적으로 완전히 작동하며 많은 소프트웨어에서 발견되는 공통 작업을 수행하는 것입니다. 이 경우 아마 보호되지 않았을 것입니다.

기술적으로 이것은 실제로 "공정한 사용"이 아니며, 이는 저작권 보유자가 시행 할 수있는 제한에서 특정한 법적 면제가 아니라, 시간이지나면서 축적 된 관습법의 선례에 기초한 것이 아니라 "공정한 사용"이라는 용어를 기반으로합니다. 두 가지 의미를 모두 포함하는 방식으로 느슨하게 사용되는 경우가 많으며 실제로는 그 사이에 상당한 중복이 있습니다.


1

미국의 "공정 사용 교리"는 저작권 침해 주장에 대한 긍정적 인 방어입니다. "긍정적 인 방어"란 라이센스없이 복사하여 다른 사람의 저작권을 침해한다는 것을 의미하지만 어떤 이유로 든 부정적인 결과없이이를 수행 할 권리가 있다고 주장합니다. 솔직히 말하면, 그것은 위험한 전략 인 것 같습니다. 귀하는 누군가 또는 여러 사람의 저작권을 침해하는 코드를 작성하고 공정 사용 방어에 의존 할 것을 제안합니다. 나는 3 줄의 코드가 "공평한 사용"일지 모르지만 여기에 3 줄, 거기에 3 줄, 그리고 다른 곳에 3 줄이 없다는 것을 매우 쉽게 상상할 수 있습니다.

저작권 침해에 대한 훨씬 더 나은 방어책이 있습니다. 처음으로 침해하지 마십시오. 코드 스 니펫을 복사하는 대신 코드를 읽고, 자세히 살펴보고, 작동 방식을 이해하고, 이해하고, 완전히 이해 한 후에는 코드를 복사하지 않고 자신 만의 3 줄의 코드를 작성합니다. 여기에는 여러 가지 장점이 있습니다.

  1. 저작권 침해를 저 지르지 않았습니다.
  2. 당신은 무언가를 배웠고 더 나은 개발자가되었습니다.
  3. 직접 작성한다는 것은 다른 코드와 동일한 스타일로 작성되어 유지 관리가 더 쉽다는 것을 의미합니다.
  4. 코드 스 니펫을 이해하는 데 시간을 보내는 동안 부적합, 제한 사항, 버그에 대해 배우고 자신의 코드에서 코드를 피하십시오. 즉, 코드를 복사 한 것보다 코드가 더 좋습니다 .
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.