All Projects → raftario → licensor

raftario / licensor

Licence: other
write licenses to stdout

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to licensor

Scancode Toolkit
🔎 ScanCode detects licenses, copyrights, package manifests & dependencies and more by scanning code ... to discover and inventory open source and third-party packages used in your code.
Stars: ✭ 1,134 (+721.74%)
Mutual labels:  licensing, license
awesome-open-source-licensing
Cool links, tools & papers related to Open Source Licensing
Stars: ✭ 17 (-87.68%)
Mutual labels:  licensing, license
Npm License Crawler
Analyzes license information for multiple node.js modules (package.json files) as part of your software project.
Stars: ✭ 168 (+21.74%)
Mutual labels:  licensing, license
skywalking-eyes
A full-featured license tool to check and fix license headers and resolve dependencies' licenses.
Stars: ✭ 143 (+3.62%)
Mutual labels:  licensing, license
netlicensing.io
Labs64 NetLicensing - Innovative License Management Solution
Stars: ✭ 13 (-90.58%)
Mutual labels:  licensing, license
Copyright
Copyright is a simple application for updating all the copyright info in your Swift or Obj-C projects.
Stars: ✭ 5 (-96.38%)
Mutual labels:  licensing, license
spdx-license-ids
a list of SPDX license identifiers
Stars: ✭ 29 (-78.99%)
Mutual labels:  license, spdx
Licensecc
Software licensing, copy protection in C++. It has few dependencies and it's cross-platform.
Stars: ✭ 363 (+163.04%)
Mutual labels:  licensing, license
scancode.io
ScanCode.io is a server to script and automate software composition analysis pipelines with ScanPipe pipelines. This project is sponsored by NLnet project https://nlnet.nl/project/vulnerabilitydatabase/ Google Summer of Code, nexB and others generous sponsors!
Stars: ✭ 66 (-52.17%)
Mutual labels:  license, spdx
sandia-public-license
This is not a license of honor. No highly esteemed copyright statement is written here.
Stars: ✭ 114 (-17.39%)
Mutual labels:  licensing, license
license-ls
Get a list of licenses used by a projects dependencies
Stars: ✭ 17 (-87.68%)
Mutual labels:  license, spdx
specification
Software Bill of Material (SBOM) standard designed for use in application security contexts and supply chain component analysis
Stars: ✭ 129 (-6.52%)
Mutual labels:  license, spdx
TrialMaker.Demo
A powerful yet straight-forward library suite that provides secure trial license generation and copy-protection features for .NET applications. It also supports premium license generation for expired free-trials.
Stars: ✭ 21 (-84.78%)
Mutual labels:  licensing, license
tools-python
A Python library to parse, validate and create SPDX documents.
Stars: ✭ 65 (-52.9%)
Mutual labels:  licensing, spdx
cyclonedx-php-composer
Create CycloneDX Software Bill of Materials (SBOM) from PHP Composer projects
Stars: ✭ 20 (-85.51%)
Mutual labels:  spdx
license-to-fail
A license to fail your build (exits when a package in node_modules has a disallowed license)
Stars: ✭ 70 (-49.28%)
Mutual labels:  licensing
The-NoIE-License
A license created to expel Internet Explorer; the enemy of all, especially front-end developers.
Stars: ✭ 32 (-76.81%)
Mutual labels:  license
FOSSologyUI
Repository to hold the new UI framework for FOSSology built with React
Stars: ✭ 35 (-74.64%)
Mutual labels:  license
php-legal-licenses
A utility to help generate a file containing information about dependencies including the full license text.
Stars: ✭ 62 (-55.07%)
Mutual labels:  license
cyclonedx-maven-plugin
Creates CycloneDX Software Bill of Materials (SBOM) from Maven projects
Stars: ✭ 103 (-25.36%)
Mutual labels:  spdx

licensor

Preview

write licenses to stdout

GitHub Actions crates.io

About

Write a license to standard output given its SPDX ID. A name for the copyright holder can optionally be provided for licenses where it is included. If the provided ID isn't found, similar ones will be suggested. Licenses are all compiled into the binary.

Features

  • Simple
  • Licenses are taken directly from SPDX, no slightly edited templates
  • Single binary, licenses are included into it at compile time
  • WITH exception expressions support
  • Ability to skip the copyright notice, which is allowed by the Berne convention
  • Adding new licenses just requires editing a JSON file

Why

I just got tired of losing time looking for license files for my new projects.

Usage

Here are a couple usage examples to get a general idea of how it all works. For detailed usage, just pass the --help flag.

Write the MIT license with a copyright notice to LICENSE:

$ licensor MIT "Raphaël Thériault" > LICENSE

Write the Apache 2.0 license with the LLVM exception to LICENSE, skipping optionnal parts:

$ licensor "Apache-2.0 WITH LLVM-exception" --skip-optional > LICENSE

Print the BSD 3 Clause license without a copyright notice:

$ licensor BSD-3-Clause

List available licenses

$ licensor --licenses

Installation

There are a couple installation option available.

You are welcome to ditribute this software on other platforms, don't hesitate to open a PR to update this section if you do so!

Releases

crates.io

$ cargo install licensor

Available licenses and exceptions

See list.

Contributing

Contributors are welcome. If you see anything that could be fixed/improved or have a new feature idea, just open an issue or a PR!

However, try to keep the main CLI as simple and light as possible. Features such as adding licenses/exceptions at runtime or validating licenses are not planned and will not be added.

Adding licenses

If you'd like a license to be added to the list, you can either open an issue for it or add it yourself, which is fairly easy.

To add a license, just add it to resources/licenses.json following the schema provided in resources/licenses-schema.json. To apply the changes to the main CLI, you'll also need to run both cargo run -p licensor_fetch and cargo run -p licensor_codegen, in that order. To get the information you need, just refer to the SPDX License List.

The same goes for exceptions.

How it works

First, licenses and exceptions specified in the resources files are parsed from the SPDX License List, then gzipped, using the licensor_fetch subcrate. Then the codegen.rs file is automatically generated based on the parsed licenses, using the licensor_codegen subcrate, and included in the CLI.

Finally, the main CLI is built on its own, which makes the build time relatively fast for end users and only requires dependencies of the main CLI and not ones required by helper subcrates.

Credits

Thanks to the amazing people on the /r/rust subreddit who provided great feedback and hints, and showed way more enthusiasm than initially expected.

Licensing

licensor is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].