그래서 당신은 무엇을 할 수 있습니까?

그래서 당신은 무엇을 할 수 있습니까?

~에서유닉스 전쟁

BSD는 1989년부터 1994년까지 저작권이 있는 AT&T 코드를 제거했습니다.

BSD와 System V가 모두 POSIX와 호환된다면 "저작권이 있는 코드 제거"가 무엇을 의미하는지 이해하지 못합니다.

두 시스템 모두 본질적으로 동일한 작업을 수행합니다. 예를 들어 보겠습니다 /bin/cp. 저작권을 침해하지 않고 똑같은 작업을 수행하는 프로그램을 어떻게 다시 작성할 수 있습니까?

답변1

수학 문제와 마찬가지로 문제를 올바르게 해결하는 방법은 기본적으로 무한히 많습니다. 답이 항상 동일하더라도 동일한 작업을 수행하는 프로그램을 작성하는 방법은 거의 무한합니다.

소프트웨어 코드를 복사하는 것은 교사가 보지 않고 동급생의 솔루션을 그대로 복사/표절하는 것과 같습니다. 솔루션이 저작권으로 보호되는 경우 저작권 침해로 간주되어 법적 처벌을 받을 수 있습니다.

그러나 기존 솔루션을 살펴보지 않고 스스로 문제를 해결한다면 다른 방법, 다른 단계, 다른 변수 이름, 다른 중간 결과, 다른 설명 등 다른 솔루션이 나올 가능성이 높습니다. 컴퓨터 프로그램도 마찬가지다.

개념적으로 간단한 함수의 구현을 찾아보세요 memcpy. 얼마나 다양한 구현이 가능한지 놀라게 될 것입니다!

답변2

새 코드를 확인한 사람이 없기 때문에 알기 어렵습니다.

이 소송은 UCB가 UCB의 코드 라이센스를 존중하지 않는다는 이유로 AT&T를 상대로 소송을 제기한 후 해결되었습니다. UCB는 AT&T에 지금까지 출판된 모든 UNIX 문서를 검색하여 UCB의 저작권이 언급된 수정된 버전으로 교체하도록 요청했습니다.

결국 AT&T UNIX에는 실제로 AT&T에서 얻은 UCB보다 더 많은 UCB 코드가 포함되어 있다는 사실이 밝혀졌습니다.

일반적으로 코드의 일부는 나중에 코드를 다시 자유롭게 만들기 위해 대체되어야 했던 GNU 코드로 대체되었으며, 다른 코드는 BSD 프로젝트에 의해 다시 작성되었습니다.

참고: 1992년경 Stallman은 AT&T 소스 코드가 사용되었는지 확인하기 어려운 방식으로 수정하는 방법에 대한 논문을 발표했습니다. 원본 논문은 찾을 수 없지만 제가 생각한 내용은 다음과 같습니다.

  • AT&T 코드는 작은 바이너리를 생성하도록 최적화되어 있으며 malloc()을 사용할 필요가 없습니다. 속도를 위해 많은 메모리를 소비하도록 malloc을 사용하고 코드를 다시 작성하세요.

  • 모든 댓글 삭제

  • 모든 선언 재정렬

  • 모든 함수 및 변수 이름 바꾸기

  • 출력에 사용되는 텍스트 문자열을 수정합니다.

  • while -> do 또는 이와 유사한 루프를 다시 작성하십시오.

답변3

이는 다음과 같이 요약됩니다.생각과 표현의 차이저작권법: 아이디어는 저작권으로 보호될 수 없으며 아이디어를 표현하는 특정 방식만 가능합니다. POSIX 지정무엇/bin/cp수행해야 하는 작업("아이디어")과 같은 절차어떻게그것은 이루어져야 합니다("표현").

가능한 것에 대한 간단한 예로, 프로그램은 cp파일을 한 번에 한 섹터씩 복사하거나(메모리 사용량을 최소화) 다시 쓰기 전에 전체 파일을 메모리로 읽을 수 있습니다.

답변4

저작권은 아이디어가 아닌 저작물을 보호합니다.

마사지 작업은 파생물을 생성합니다. 이는 법적 보호를 제공하지 않지만 누군가를 속일 가능성이 있습니다.

그래서 당신은 무엇을 할 수 있습니까?

아이디어는 무료이므로 독창적인 아이디어에 대한 테스트를 만들 수 있습니다. 교체 작업을 시작했습니다. 신제품이 모든 테스트를 통과하는지 확인하세요.

이제 귀하의 원본이 원본과 정확한 사본임이 입증되면 귀하는 방어할 수 있으며 버전 관리 시스템에 귀하의 기록을 표시할 수 있습니다. 코드를 생성하는 방법을 보여줍니다. 그들은 당신이 그들의 개정 관리 저장소도 훔쳤다고 주장해야 할 것입니다. 사소한 문제에 대한 기록이 귀하의 기록과 동일하다면 복사본이 존재한다는 것을 증명하는 데 충분할 수 있습니다.

관련 정보