package.json의 "All Rights Reserved"라이센스


111

회사 내부의 소규모 node.js 프로젝트가 있으며 공개적으로 출시되거나 제 3 자와 공유되지 않습니다. 공개 패키지 저장소에는 확실히 기여하지 않을 것입니다.

하지만 실행할 때 npm install항상 다음 오류가 발생합니다.

npm WARN package.json <<myproject>>@0.1.0 license should be a valid SPDX license expression

원하는 라이선스는 "저작권 및 모든 권리 보유"입니다. SPDX 라이센스 목록 에서 해당되는 것을 찾을 수 없습니다 . 이 답변 의 제안도 작동하지 않습니다. 오류 에서 license필드를 제거하면 .package.jsonno license field

어떻게받을 수 있나요 npm install우리가 사용하지 않는 것이 거기에서 라이센스 참조를 넣어하지 않고 오류 또는 경고를 표시하지 않으려면?

답변:


177

새로운 npm 사양 { "license": "UNLICENSED"} 에 따라 다른 사람에게 어떤 조건 으로든 비공개 또는 게시되지 않은 패키지를 사용할 수있는 권한을 부여하지 않으려는 경우 사용할 수 있습니다 .

여기에서 자세한 내용을 참조 하십시오

따라서 언급 한 오류가 발생하지 않을 수 있습니다.


이것은 확실히 라이센스가없는 경우에는 좋지만 외부 라이센스를 참조하려는 경우에는 도움이되지 않습니다.
brandonscript

11
동일한 npmjs 페이지에서 ""비공개 "설정 고려 : 실수로 게시하지 않도록 true로 설정하십시오."
bgth

1
SPDX 목록에는 Unlicense최종 D없이 대소 문자가 혼합되어 있습니다. 그게 당신이 말하는 건가요? 그것을 보면 그것이 옳은 것 같지 않습니다. 어떤이 UNLICENSED목록에이
ekkis하지

@ekkis, 문서 는 유효한 값으로 package.json설명 UNLICENSED합니다 ( docs.npmjs.com/files/package.json#license 참조 ).
Frederik Krautwald 2017 년

10
라이선스를 해제는 정반대입니다 @ekkis { "license": "UNLICENSED" } spdx.org/licenses/Unlicense . (난 당신이 라이센스를 살펴했고 그것을 잘하지 않았다 보았다 실현, 난 그냥이 필요 단지의 경우 여기 철자 생각)
JollyJoker

51

package.json 에 대한 최신 문서에 따르면 :

SPDX 식별자가 할당되지 않은 라이선스를 사용하거나 사용자 지정 라이선스를 사용하는 경우 다음 유효한 SPDX 식을 사용합니다.

{ "license" : "SEE LICENSE IN <filename>" }

그런 다음 <filename>패키지의 최상위 수준에 이름이 지정된 파일을 포함 합니다.


5

TR; DL : 'UNLICENSED'는 라이선스가 없음을 의미 하는 반면 'unlicense' (끝에 'd'가 없습니다!)는 'The Unlicensed'라는 이름의 라이선스를 의미하며 매우 다른 것입니다. 혼동을 방지하고 저작권을 주장하려면 아래에 따라 자신의 내부 라이선스 파일을 누군가에게 알려야합니다.

-

{ "license": "unlicense"}저작권 클레임 스타일 라이선스를 원한다는 것을 명확하게 전달하려면 최고 투표 답변에서 제안한대로를 사용하지 마십시오 .

https://choosealicense.com/licenses/unlicense/

UNLICENSE 라이선스의 처음 두 단락의 클립은 이것이 저작권 주장을 요구하는 OP의 요청과 전혀 관련이 없음을 분명히합니다.

이것은 공개 도메인으로 출시 된 자유롭고 방해받지 않는 소프트웨어입니다.

누구든지이 소프트웨어를 소스 코드 형태로 또는 컴파일 된 바이너리 형태로, 상업적 또는 비상업적, 어떤 방법 으로든 자유롭게 복사, 수정, 게시, 사용, 컴파일, 판매 또는 배포 할 수 있습니다.

가장 많이 득표 한 답변 크레딧에 노드 문서 페이지는 UNLICENSED 옵션을 사용하는 것이 다른 사람에게 어떠한 권리도 부여하지 않도록하는 것이라고 주장합니다.

다른 사람에게 어떤 조건 으로든 비공개 또는 게시되지 않은 패키지를 사용할 수있는 권한을 부여하지 않으려는 경우 :

이것은 귀하의 권리를 유지하기위한 실질적인 안전한 선택으로 보이지 않습니다.

  • 이것이 무지의 결과인지 나쁜 의도인지는 확실하지 않습니다. 추가 D가 없다는 것은 완전히 다른 두 용어라는 것을 의미한다고 추론 할 수 있습니다. 그러나 다른 사람들이이를 알고 있으며 UNLICENSED 라이선스가 무엇인지 검색 할 때 내가 찾은 링크를 얻을 수 있다고 가정 할 수는 없습니다.

    { "license": "라이센스보기"}

현재 더 안전한 답변입니다.

참고 :이 시점에서 가장 많이 득표 한 답변은 오해의 가능성이 크며 가시성이 필요하기 때문에 답변이 아닌 최상위 답변으로 만드는 것이 중요하다고 느꼈습니다.


2
나는 이것이 옳다고 생각하지 않는다. SPDX 라이선스 목록에는 사용자가 찾은 "The Unlicense"항목이 포함되어 있으며 권한을 부여하지 않는 "UNLICENSED"와는 다릅니다. spdx.org/licenses/Unlicense.html 따라서 철자 오류는 매우 중요하지만 ( "Unlicense"는 무제한 라이센스이고 "UNLICENSED"는 모든 권한을 보유 함) 모호함은 없습니다. package.json 사양에는 "UNLICENSED"가 "어떤 조건에 따라"어떠한 권한도 부여하지 않는다고 명시되어 있습니다.
wberry

1
그럼에도 불구하고 귀하의 답변은이 두 가지 선택이 서로 얼마나 가까운지를 지적하는 좋은 목적이라고 생각합니다. 조심해야 할 것입니다. Stack Overflow에 오신 것을 환영합니다!
wberry

1
감사합니다 wberry 저는 "The Unlicense"에 대한 SPDX 정의를 보지 못했습니다.
Carl Kidwell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.