statusboard icon indicating copy to clipboard operation
statusboard copied to clipboard

make the license field of `npm init` more stubborn

Open nlf opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe. Currently we set licenses to ISC by default

Describe the solution you'd like We should not select a default license on behalf of our users. Instead we should default to omitting the license field entirely in non-interactive mode, and in interactive mode require that the user either provides a value or confirms that they do not want to select a license at all. As a bonus it would be nice if we had a site to link to that helps our users select a license that fits their needs.

> npm init
license: <enter>

leaving this field blank means your package is unlicensed. if you're sure, press enter again to continue
license: <enter>

Describe alternatives you've considered The license default could change, but a new default means that we are once again providing a default that may not align with users needs. It feels best to not provide a license by default at all.

Additional context https://github.com/npm/rfcs/issues/597

nlf avatar Mar 13 '23 17:03 nlf

This is great - we should definitely include a link to help users choose.

ljharb avatar Mar 13 '23 18:03 ljharb

Is there any update on this? Having ISC as the default license in 2024 seems unusual and might hinder the convenience of using npm, especially if users have to manually change the license every time they initialize a new package.

aretrace avatar Aug 05 '24 03:08 aretrace

@aretrace you can set an npm config for init.license and address that problem.

ljharb avatar Aug 06 '24 04:08 ljharb

@ljharb I did not know that, thanks! I would still advocate for an interactive confirmation user prompt.

aretrace avatar Aug 07 '24 01:08 aretrace