새로운 오픈 소스 프로젝트를 위해 버려진 오픈 소스 프로젝트에서 물려받는 올바른 방법은 무엇입니까?


13

Google 팀이 code.google.com에 호스팅 된 오래된 오픈 소스 프로젝트에서 일부 사람들에게 연락하려고했습니다. 우리는 그들에게 프로젝트에 참여하고 적어도 일부 프로젝트에 헌신하고 싶다고 말했지만 아무도 우리에게 응답하지 않았습니다. 우리는 모든 사람, 소유자 및 커미터를 시도했습니다. 아무도 어떤 식 으로든 활동하지 않았으며 아무도 대답하지 않았습니다.

그러나 우리는 커밋해야 할 코드가 있으며 그 프로젝트를 계속 진행하고 싶습니다. 새로운 프로젝트를 만들어야합니다. 우리는 상속하고자하는 프로젝트의 이름과 비슷하지만 중복되지 않는 이름을 생각해 냈습니다. 첫 커밋은 어떻게해야합니까? 커밋 메시지는 무엇입니까? "우리는이 코드를 물려 받았습니다. 여기에서 그러한 라이센스를 찾았습니다. 이제이 라이센스를보다 엄격하고 엄격한 라이센스로 업그레이드하고 있습니다 ..."와 같은 주석으로 코드를 리포지토리에 복사해야합니까? 아니면 "우리는 다음과 같이 변경했습니다 ..."라는 업데이트와 함께 코드를 첫 커밋으로 사용해야합니까?


7
원래 프로젝트에서 허가를받지 않으면 원래 라이센스에 따라 덜 엄격한 라이센스를 부여 할 수 없습니다. 라이센스가 허용하기에 충분한 라이센스라면 훨씬 더 허가 된 라이센스로 옮길 필요가 없습니다.
Matthew Scharley

답변:


13

이상적으로는 이전 코드를 모두 유지하는 Google 코드에서 포크하는 것이 좋습니다. 이것이 Google 코드에서 명시 적으로 지원되는지는 모르겠지만 이전 프로젝트가 버전 제어로 git을 사용하는 경우 이전 프로젝트를 로컬 디렉토리로 복제하고 origin새 디렉토리 를 가리 키도록 원격을 수정하여 수동으로 수행 할 수 있습니다 그런 다음 로컬 사본을 푸시하십시오.

비슷한 방법을 Subversion ( svnsync아마도?) 과 함께 사용할 수 있다고 확신 하지만 Subversion에 대한 실제 경험이 없으므로 언급 할 수 없습니다.


2
Google 코드는 Mercurial을 지원하지만 자식은 지원하지 않습니다. 수은의 경우 절차는 매우 비슷하지만에서 default별칭을 수정하면 됩니다 .hg\hgrc.
Wim Coenen

정보를 주셔서 감사합니다. 나는 실제로 Google 코드를 전혀 사용하지 않았으며 가능한 한 많은 정보를 제공했습니다.
Matthew Scharley

8

중요한 것은 원래 코드의 라이센스와 그것이 할 수있는 것입니다. 주의해야 할 사항 중 하나는 라이센스가 변경되지 않았기 때문에 라이센스를 변경하는 것입니다. 저작권이 없음을 기억하십시오.

그러나 모든 것이 완벽한 순서라고 가정하면 초기 커밋 메시지는 "http : // .... 버전 XYZ에서 2011-02-25 가져 오기"와 README.txt 파일에 대한 중요한 설명이 될 수 있습니다.

수행 한 작업에 대해 매우 명확하게 설명하고 가능한 경우 원본 코드를 라이브러리로 사용하여 코드를 작성하십시오. 이렇게하면 우려를 분리하기가 훨씬 쉬워집니다.


8

이것은 실제로 Google 코드 FAQ 입니다. "소유자가 포기한 것으로 보이는 프로젝트를 인계하려면 어떻게해야합니까?"를 참조하십시오.

분명히 Google에 요청하여 포기한 프로젝트를 인수 할 수 있습니다.


4

이전 프로젝트에 연락했다면 그들이 불만을 제기 할 수 없다고 생각합니다. 개방하고 명확하게 행동하고 다른 사람의 작업에 대한 신용을 얻지 마십시오. 웹 사이트와 첫 번째 커밋 메시지 모두에서 상황을 설명하려고합니다. 초기 코드 가져 오기가 이전 프로젝트와 정확히 동일하므로 모든 변경 사항이 커밋 로그에 있는지 확인하는 것도 예의 입니다.

다른 사람들이 말했듯이 라이센스를 호환 가능한 라이센스로만 변경할 수 있으며 라이센스를 변경하더라도 저작권 소유자를 변경할 수 없습니다. 모든 기존 저작권 소유자의 이름과 작업 한 모든 파일에 이름을 유지하는 것이 중요합니다.



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