Open Source Licenses
Quickly and easily license your projects with licenses from the Open Source Initiative.
This project is not directly affiliated with Open Source Initiative; it consumes data from the public API and license repository. See the following for more information:
Installation
Global CLI
# Global CLI
npm install --global oslicense
# Module
npm install oslicense
Usage (CLI)
oslicense [<args>] [<license-id>]
Automatically generates a license file ('LICENSE.md'
) or outputs license text for a given OSI license ID. If a package.json
file with a license
property is present, that license ID will be used. package.json
lookup will start with the current working directory, checking all parent directories until a package.json
file is found.
The <license-id>
argument (case-sensitive) must match one of the license IDs returned using the --list
flag.
The generated license file may have placeholders for license holder names, dates, etc. that will need to be replaced manually.
CLI Arguments
-h, --help
Shows CLI help text.
-v, --version
Shows the package version number.
-l, --list
Lists all available OSI licenses and license IDs.
License-ID-01:
License 01 Name
License-ID-02:
License 02 Name
...
-o, --output <path>
Specifies an alternate output file name and/or directory for the generated license file. Relative paths are relative to the current working directory.
If <path>
is a directory, then the license file will be created with the default file name in the directory.
-s, --stdout
Prints license text to stdout instead of generating a license file. If specified, the --output
flag will be ignored.
Usage (Module)
const osl = require("oslicense");
(async () => {
try {
// Get object containing all available OSI licenses, keyed by license ID
console.log(await osl.getLicenses());
// Get license metadata for a specific license ID
console.log(await osl.getLicenseData("MIT"));
// Get license text for a specific license ID or license object from
// getLicenseData()
console.log(await osl.getLicenseText("MIT"));
// Gets the 'license' property value from the nearest package.json file
// relative to the current working directory
console.log(osl.getNearestLicense());
}
catch (e) {
console.error(e);
}
})();
For more detailed usage information, refer to the documentation in oslicense.js