단위 테스트를 허가하는 것이 합리적입니까?


12

나는 주로 단위 테스트로 구성된 테스트 코드에 라이센스를 부여 할 때의 이점 / 위험이 있는지 궁금합니다. 어떻게 생각해?

특히 (L) GPL, Apache, MIT 및 BSD 라이센스에 관심이 있습니다.

편집 : 비 테스트 코드는 이미 일부 라이센스로 게시되었지만 테스트 코드는 게시되지 않았으므로 코드를 게시할지 여부와 동일한 라이센스를 부여할지 여부에 대한 질문입니다.


테스트는 사실 저작권 / 라이센스의 대상이 아닌 사실 / 데이터로 간주되지 않습니까? 그것은의 API를 복사 할 법적 , 나는 그것이 구현이 올바른지 확인하기 위해 같은 테스트를 사용하는 것이 법적 같아요 것인가?
endolith

답변:


10

아무도 이것에 대해 이미 언급하지 않은 것에 놀랐지 만, 제품 또는 테스트 코드인지 여부에 관계없이 코드에 라이센스를 첨부하지 않으면 다른 사람들이 코드에 대한 권한이 없습니다 .

라이센스 코드는 일반적으로 보유하지 않은 다른 사람에게 권한을 부여하는 것입니다. 저작권 표시를 명시 적으로 첨부하지 않아도 테스트 코드는 자동으로 저작권 (전 세계 대부분의 국가에서)으로 보호됩니다. 저작권이있는 다른 사람은 해당 코드를 사용, 배포 또는 파생시킬 수 없습니다.

테스트 코드에 라이센스를 첨부하면 라이센스 조건에 따라 해당 코드를 사용, 배포 및 / 또는 수정할 수있는 권한을 사람들에게 부여합니다.

동일한 라이센스 하에서 테스트 코드를 제품 코드와 함께 배포하는 것이 좋습니다. 이것은 모든 사람에게 가장 간단합니다. 또한 사람들이 패치를 제출하려는 경우 패치를 보내기 전에 단위 테스트를 실행할 수 있으므로 문제를 일으키는 패치를 제거하는 데 도움이됩니다.


15

상업 세계에서 대부분의 회사는 핵심 제품뿐만 아니라 지원에 대한 비용도 청구합니다. 대부분의 지원에는 도구 또는 개인 지원을 통해 제품을 사용 가능하게하거나 제품 관련 문제를 해결할 수있는 모든 형태의 도움 이 필요합니다.

이 토큰을 통해 제품을 테스트하기위한 코드는 지원 도구를 동등하게 인증하며 자체적으로 지적 재산권입니다. 따라서 자체 라이센스가 필요합니다.


9

왜 코드와 테스트를 분리합니까?

코드 및 테스트 번들을 선호합니다. 이 번들은 동일한 라이센스를 가져야합니다.

누군가 두 번 돈을 벌고 싶다면 각각 라이센스가있는 두 가지 패키지를 만들 수 있습니다. 무료 소프트웨어의 경우 크기 문제가 아닌 한 두 패키지의 이유가 없습니다.


6

테스트 코드는 솔루션이 주어진 환경에서 작동하는지 확인할 수 있기 때문에 많은 가치가 있습니다. 내 직업 (내장 소프트웨어)에서 테스트 스위트는 계약의 일부입니다. 사용법이 비슷하기 때문에 동일한 라이센스로 게시해야합니다.

  • 누군가가 코드를 사용하면 테스트를 실행합니다.

  • 누군가가 코드를 수정하려면 테스트를 수정해야 할 수도 있습니다.


2

그러나 IANAL :

  1. GPL 하에서 코드를 라이센싱하는 경우 실제로 메인 코드 없이는 쓸모가 없으므로 단위 테스트도 GPL입니다.
  2. Apache / BSD를 사용하는 경우 '자신의 위험 사용'조항. 라이센스 파일을 전체 프로젝트와 함께 사용하여 사용자가 코드 또는 테스트 코드에 대한 것인지 파악할 수 있도록합니다.
  3. 상용 라이센스를 사용하고 코드에 대한 액세스를 제한하는 경우 왜 테스트를 먼저 게시해야합니까? 확실하게 확인하려면 '테스트 코드를 읽음으로써 귀하의 눈을 조정하는 데 동의합니다'라이센스를 부여하면 좋습니다.

1

GCC의 컴파일러 (대부분 GPL v3을 라이센스)은 소스 코드와 함께 배포되는 매우 광범위한 테스트 스위트를 가지고 있습니다. (아마도 일부 테스트 파일은 공개 도메인에 있지만 실제로는 개별 법적 상태를 모릅니다.)

테스트 스위트를 제품과 별도로 분배하려는 이유는 무엇입니까?


0

비즈니스 모델이 될 수 있으므로 프로그램을 자유 소프트웨어 (GPL 등)로 릴리스하지만 관련 단위는 상용 라이센스로 테스트합니다. 그렇게하면 누군가 소프트웨어의 개선 된 버전 (예 : 장치에 내장)을 출시하려는 경우 더 빠르고 안전한 개발을 위해 단위 테스트 라이센스를 구매해야 할 수도 있습니다.


0

단위 테스트가 제대로 수행되면 소프트웨어 재생을위한 청사진입니다. 코드와 동일하게 라이센스를 부여하지 않으면 다른 사람을 초대하여 자신이 한 일을 다시 구현하도록 초대합니다. 당신이 그것으로 괜찮다면 라이센스를 귀찮게하지 마십시오.

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