인터페이스 및 메소드 서명은 저작권으로 보호됩니까?


13

예를 들어, Microsoft의 .Net System.Random 클래스와 정확히 동일한 목적 및 메소드 서명을 가진 Random이라는 클래스를 작성하면 저작권이 침해됩니까? 작성된 언어가 달라 집니까? 이 경우 내장 시드 PRNG 클래스가없는 ActionScript에서 사용할 Random 클래스를 작성하려고합니다.

누구든지 소프트웨어의 어떤 측면이 보호되는지 이해하기위한 좋은 링크 나 참조 제안이있는 경우에도 좋습니다. 그리고 네, 이것이 "진정한"법률 자문의 장소가 아니라는 것을 알고 있습니다. 누군가가 공개 메시지 게시판을 우선으로 지적하여 법원에 간다면 부끄러운 일입니다.


3
메소드 서명, 인터페이스, 변수 이름 등은 어떠한 종류의 저작권 또는 라이센스로 보호되지 않습니다.
Adam Lear

답변:


11

Mono와 Dotnet의 관계를 살펴보면이 질문에 대답합니다. Mono 팀은 메소드 정의 또는 공용 인터페이스를 사용할 수 있지만 내부를 다시 구현해야합니다. 그러나 Android v Oracle 케이스는 이러한 분명한 차이점을 약간 흐리게 만드는 몇 가지 다른 점을 제시합니다. AvO의 경우 법원에 제기되는 대부분의 점은 VM과 관련된 특허이며 라이브러리 인터페이스는 논쟁의 여지가 없습니다. 강조 표시된 유일한 코드는 내부가 복사 된 것으로 보이는 예제입니다.


7
+1 Mono와 .Net에 대한 훌륭한 지적. 관련 개념에서 게임 규칙을 저작권으로 보호 할 수 없다는 것을 알고 있습니다. Tetris 클론은 Tetris라고 불리지 않고 Tetris의 공식 라이센스 제품과 너무 유사하지 않은 한 합법적입니다.

.NET과 Java의 주요 관련 차이점은 .NET이 ECMA 표준이라는 것입니다.
Foole

@Foole : 모두 자바 스크립트 와 액션이 공식 인 ECMAScript 사양을 기반으로하는 (ECMA-262, -290, -327, 그리고 -357)

4

데이터베이스 구성표에 대해 비슷한 질문이있었습니다. 경쟁 업체의 데이터베이스 스키마를 복사 하시겠습니까? 나는 전체 스키마를 복사하는 것이 아마도 복사의 규모에 따라 판사에 의해 인정되는 저작권 침해 일 것이라고 대답했다.

귀하의 질문이 비슷한 경우에도 반대의 답변을 드리겠습니다 : 메소드 서명을 복사 할 수 있습니다 . 왜?

실제로 메소드 서명은 상식에서 나옵니다.

  • 첫째, 극단적 인 예를 들자면 Microsoft는 해당 이름을 저작권으로 보호 할 수 없으며RandomRandom 응용 프로그램에서 해당 단어 를 사용하는 모든 사람을 고소 할 수 없습니다 .

  • 둘째, 정확히 무엇을하려고합니까? .NET Framework를 다시 구현 하시겠습니까? 왜? 바퀴재발 명할 필요가 없습니다 . 더 좋고, 직관적으로 만드는 방법을 알고 있다면 더 나은 클래스와 메소드의 이름, 더 나은 조직 등을 얻게 될 것입니다. .NET Framework의 구조를 복사하여 다른 것으로 이식하려는 경우 language 이면 Microsoft의 직접적인 경쟁자아닙니다.따라서 귀하를 고소해야 할 심각한 이유가 없습니다 (소스 코드를 복사하면 고소하게됩니다). 실제로 이러한 구조는 다른 프레임 워크에 복사하면 .NET Framework의 성공을 보여줄뿐만 아니라 .NET 개발자가 다른 언어를 사용하고 다른 언어를 사용하는 개발자가 더 쉽게 배울 수있게됩니다. .그물.

  • 셋째, .NET Framework의 메서드 및 클래스 이름을 복사하는 모든 사람을 고소 하는 것보다 더 심각한 일이 있습니다.

이제 전체 .NET Framework를 복사하고 많은 개발자가 사용할 제품을 만들려는 경우 위험을 감수하기 전에 변호사와 상담하십시오.


예를 들면 :

.NET Framework에서 파일 경로의 259 자 제한 및 파일 수준에서 코드 트랜잭션을 사용할 수 없다는 점 에 완전히 만족하지 못했습니다. 그래서 File작은 경로뿐만 아니라 모든 경로에 대해 예상대로 작동하고 트랜잭션을 구현하는 메소드를 사용하여 자체 클래스를 구현했습니다. 첫 번째 버전에서, 나는 메소드의 이름을 복제하기로 결정 File하고 Directory클래스를 . 마이크로 소프트가 저를 고소할까요? 나는 그것을 의심한다.

모든 경우에, 두 번째 버전에서 나는 새로운 구문과 함께 new File(string fileName)내가 훨씬 더 직관적으로 찾을 수, 나를 위해 . 메소드의 이름을 복제하는 것이 유용한 경우도 있지만 그렇게 할만한 이유가 있어야합니다.


당신의 의도가 전체 .NET Framework를 복사하는 것이라면 ... 휴! 저는 플래시 게임에서 사용하기 위해 시드 할 수있는 PRNG를 원합니다. 나는 .Net Random 클래스의 메소드를 좋아 하며이 질문이 발생했을 때 동일한 서명을 가진 빠른 래퍼를 작성하려고했습니다. 도어 벨 디자인에 대한 건축가의 소송으로 인해 집을 잃어 버릴 것입니다 ... 어색한 비유를하십시오.

System.Random8 가지 방법 (5 가지 방법, 3 가지 과부하, 1 가지 방법 protected)을 포함합니다. 나는 당신이 그 이름을 복제하는 것이 좋다고 생각하며, 당신이 정말로 그 이름을 Microsoft에서 악의적으로 복사했다는 것을 증명하기가 어렵습니다.
Arseni Mourzenko

4

저작권 보호는 기술적 인 형식이 아닌 저작물의 "예술적 표현"을 보호합니다 ( wikipedia 인용 ).

저작권 보호 는 사실을 보호 하지 않습니다 .

문제는 API 또는 인터페이스가 "사실"또는 예술적 표현인가? 난수와 다른 종류의 난수를 얻는 방법의 목록에 불과한 간단한 API의 경우 API는 사실과 유사합니다. 그러나 나는 매우 정교한 인터페이스 (아시다시피, 당신이 잠시 쳐다보고 "Ahh! 인상적입니다"라고 말하는 인터페이스)가 있다는 것을 알 수있었습니다. 보호 할 가치가있는 "예술적 표현"으로 간주 될 수 있습니다.

다음은 미국 법원에서 논의되고있는이 문제에 대한 API 저작권을 놓고 싸우는 Oracle 및 Google 에 관한 최근 기사 입니다.

저는 변호사가 아니므로이 게시물을 법률 자문으로 해석해서는 안됩니다. 면책 조항도 잘 쓸 수 없습니다.


0

순전히 기능적인 측면을 취할 수는 있지만 표현적인 측면을 취할 수는 없습니다. 클래스 이름, 메소드 이름 및 서명은 완전히 작동합니다. 상호 운용하려면 필요합니다. 매개 변수 이름과 헤더 매크로는 표현적인 것으로 간주 될 수 있습니다. 예를 들어, Windows 독점 금지 사례에서 Microsoft는 경쟁 업체가 Windows API를 복제하고 Windows 응용 프로그램을 실행할 고유 한 플랫폼을 만들 수있는 요소는 없다고 주장했습니다.


Windows API에 관한 좋은 지적. WINE을 입력하십시오.

리플렉션 (또는 사물을 찾는 다른 유사한 수단)을 포함하는 Java 또는 .NET과 같은 플랫폼에서 매개 변수 이름도 기능적 측면으로 간주 될 수 있다고 생각합니다.
supercat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.