나는 주로 단위 테스트로 구성된 테스트 코드에 라이센스를 부여 할 때의 이점 / 위험이 있는지 궁금합니다. 어떻게 생각해?
특히 (L) GPL, Apache, MIT 및 BSD 라이센스에 관심이 있습니다.
편집 : 비 테스트 코드는 이미 일부 라이센스로 게시되었지만 테스트 코드는 게시되지 않았으므로 코드를 게시할지 여부와 동일한 라이센스를 부여할지 여부에 대한 질문입니다.
나는 주로 단위 테스트로 구성된 테스트 코드에 라이센스를 부여 할 때의 이점 / 위험이 있는지 궁금합니다. 어떻게 생각해?
특히 (L) GPL, Apache, MIT 및 BSD 라이센스에 관심이 있습니다.
편집 : 비 테스트 코드는 이미 일부 라이센스로 게시되었지만 테스트 코드는 게시되지 않았으므로 코드를 게시할지 여부와 동일한 라이센스를 부여할지 여부에 대한 질문입니다.
답변:
아무도 이것에 대해 이미 언급하지 않은 것에 놀랐지 만, 제품 또는 테스트 코드인지 여부에 관계없이 코드에 라이센스를 첨부하지 않으면 다른 사람들이 코드에 대한 권한이 없습니다 .
라이센스 코드는 일반적으로 보유하지 않은 다른 사람에게 권한을 부여하는 것입니다. 저작권 표시를 명시 적으로 첨부하지 않아도 테스트 코드는 자동으로 저작권 (전 세계 대부분의 국가에서)으로 보호됩니다. 저작권이있는 다른 사람은 해당 코드를 사용, 배포 또는 파생시킬 수 없습니다.
테스트 코드에 라이센스를 첨부하면 라이센스 조건에 따라 해당 코드를 사용, 배포 및 / 또는 수정할 수있는 권한을 사람들에게 부여합니다.
동일한 라이센스 하에서 테스트 코드를 제품 코드와 함께 배포하는 것이 좋습니다. 이것은 모든 사람에게 가장 간단합니다. 또한 사람들이 패치를 제출하려는 경우 패치를 보내기 전에 단위 테스트를 실행할 수 있으므로 문제를 일으키는 패치를 제거하는 데 도움이됩니다.
그러나 IANAL :
GCC의 컴파일러 (대부분 GPL v3을 라이센스)은 소스 코드와 함께 배포되는 매우 광범위한 테스트 스위트를 가지고 있습니다. (아마도 일부 테스트 파일은 공개 도메인에 있지만 실제로는 개별 법적 상태를 모릅니다.)
테스트 스위트를 제품과 별도로 분배하려는 이유는 무엇입니까?
비즈니스 모델이 될 수 있으므로 프로그램을 자유 소프트웨어 (GPL 등)로 릴리스하지만 관련 단위는 상용 라이센스로 테스트합니다. 그렇게하면 누군가 소프트웨어의 개선 된 버전 (예 : 장치에 내장)을 출시하려는 경우 더 빠르고 안전한 개발을 위해 단위 테스트 라이센스를 구매해야 할 수도 있습니다.