Licencia "Todos los derechos reservados" en package.json

Resuelto wberry asked hace 9 años • 4 respuestas

Tengo un pequeño proyecto de node.js que es interno de la empresa y no se publicará públicamente ni se compartirá con terceros. Ciertamente no se contribuirá a ningún repositorio de paquetes público.

Pero cuando ejecuto npm installsiempre me sale el siguiente error:

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

La licencia deseada es: "copyright de nuestra parte y todos los derechos reservados". No pude encontrar nada que pareciera aplicable en la lista de licencias SPDX . La sugerencia en esta respuesta tampoco funciona. Si simplemente elimino el licensecampo del package.jsonerror, cambia a no license field.

¿Cómo puedo hacer npm installpara que no se muestren errores ni advertencias sin incluir una referencia de licencia que no queremos usar?

wberry avatar Aug 14 '15 03:08 wberry
Aceptado

De acuerdo con la nueva especificación npm, puede usarlo { "license": "UNLICENSED"} si no desea otorgar a otros el derecho a usar un paquete privado o no publicado bajo ningún término.

Consulte los detalles completos aquí.

Por lo tanto, es posible que no obtenga el error que mencionó.

kds avatar Nov 17 '2015 11:11 kds

Según los últimos documentos para package.json :

Si está utilizando una licencia a la que no se le ha asignado un identificador SPDX, o si está utilizando una licencia personalizada, utilice la siguiente expresión SPDX válida:

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

Luego incluya un archivo nombrado <filename>en el nivel superior del paquete.

brandonscript avatar Aug 13 '2015 20:08 brandonscript

SIN LICENCIA significa que no tiene licencia, mientras que "sin licencia", sin "d" al final, se refiere a una licencia llamada The Unlicense , que es algo muy diferente. Para evitar confusiones, y si desea hacer valer sus derechos de autor, debe indicarle a alguien su propio archivo de licencia interno.

Definitivamente NO use:

{ "license": "unlicense" }

como lo sugiere la respuesta más votada si desea comunicar claramente que desea tener una licencia de estilo de reclamo de derechos de autor.

Un clip de los dos primeros párrafos de la licencia SIN LICENCIA deja en claro que esto no tiene ninguna relación con la solicitud del OP de tener un reclamo de derechos de autor:

Este es un software gratuito y sin trabas lanzado al dominio público.

Cualquier persona es libre de copiar, modificar, publicar, usar, compilar, vender o distribuir este software, ya sea en forma de código fuente o como binario compilado, para cualquier propósito, comercial o no comercial, y por cualquier medio.

Para crédito de la respuesta más votada, la página de documentación de Node afirma que el uso de la opción SIN LICENCIA es para que no otorgue ningún derecho a otros:

si no desea otorgar a otros el derecho a utilizar un paquete privado o no publicado bajo ningún término:

Esta no parece ser una opción segura para conservar sus derechos. Se podría inferir que la falta de la "D" adicional significa que se trata de dos términos completamente diferentes, pero no se puede dar por sentado que otros lo sepan, y cuando busquen cuál es la licencia SIN LICENCIA, es posible que obtengan el enlace a The Unlicense. .

Entonces, lo siguiente:

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

es la respuesta más segura en este momento.

Carl Kidwell avatar May 12 '2020 04:05 Carl Kidwell

También considere agregar "private": truelo que hará que npm impida la publicación de su paquete. Entonces en paquete.json:

  "license": "UNLICENSED",
  "private": true,

Referencia: https://docs.npmjs.com/cli/v7/configuring-npm/package-json

GraSim avatar May 02 '2021 16:05 GraSim