All Projects → licensee → Licensee

licensee / Licensee

Licence: mit
A Ruby Gem to detect under what license a project is distributed.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Licensee

Choosealicense.com
A site to provide non-judgmental guidance on choosing a license for your open source project
Stars: ✭ 2,648 (+456.3%)
Mutual labels:  open-source, licensing, law
Tosdr.org
ARCHIVED Source code for tosdr.org
Stars: ✭ 460 (-3.36%)
Mutual labels:  open-source, law
Ruby Fann
Ruby library for interfacing with FANN (Fast Artificial Neural Network)
Stars: ✭ 425 (-10.71%)
Mutual labels:  ruby-gem
Oio Sds
High Performance Software-Defined Object Storage for Big Data and AI, that supports Amazon S3 and Openstack Swift
Stars: ✭ 465 (-2.31%)
Mutual labels:  open-source
Aimet
AIMET is a library that provides advanced quantization and compression techniques for trained neural network models.
Stars: ✭ 453 (-4.83%)
Mutual labels:  open-source
Hosthunter
HostHunter a recon tool for discovering hostnames using OSINT techniques.
Stars: ✭ 427 (-10.29%)
Mutual labels:  open-source
Spotter
🔎 macOS productivity tool to launch everything
Stars: ✭ 426 (-10.5%)
Mutual labels:  open-source
Cortx
CORTX Community Object Storage is 100% open source object storage uniquely optimized for mass capacity storage devices.
Stars: ✭ 426 (-10.5%)
Mutual labels:  open-source
Matestack Ui Core
Matestack enables you to create sophisticated, reactive UIs in pure Ruby, without touching JavaScript and HTML. You end up writing 50% less code while increasing productivity, maintainability and developer happiness.
Stars: ✭ 469 (-1.47%)
Mutual labels:  ruby-gem
Gem Release
Release your ruby gems with ease.
Stars: ✭ 448 (-5.88%)
Mutual labels:  ruby-gem
Blackstone
⚫️ A spaCy pipeline and model for NLP on unstructured legal text.
Stars: ✭ 465 (-2.31%)
Mutual labels:  law
Hydeout
A refreshed version of Hyde for Jekyll 3.x and 4.x
Stars: ✭ 448 (-5.88%)
Mutual labels:  ruby-gem
Flextype
Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS
Stars: ✭ 436 (-8.4%)
Mutual labels:  open-source
Codestream
The Code Collaboration Tool Built for Remote Teams
Stars: ✭ 459 (-3.57%)
Mutual labels:  open-source
Spartacus
Spartacus is a lean, Angular-based JavaScript storefront for SAP Commerce Cloud that communicates exclusively through the Commerce REST API.
Stars: ✭ 466 (-2.1%)
Mutual labels:  open-source
Spot mini mini
Dynamics and Domain Randomized Gait Modulation with Bezier Curves for Sim-to-Real Legged Locomotion.
Stars: ✭ 426 (-10.5%)
Mutual labels:  open-source
Ttn
The Things Network Stack V2
Stars: ✭ 440 (-7.56%)
Mutual labels:  open-source
Awesome Open Source Supporters
⭐️ A curated list of companies that offer their services for free to Open Source projects
Stars: ✭ 457 (-3.99%)
Mutual labels:  open-source
Innersourcepatterns
Proven approaches that can guide you through applying open source best practices within your organization
Stars: ✭ 473 (-0.63%)
Mutual labels:  open-source
Promote Open Source Project
📄 How to promote my open source project?
Stars: ✭ 468 (-1.68%)
Mutual labels:  open-source

Licensee

A Ruby Gem to detect under what license a project is distributed.

Gem Version Maintainability Test Coverage PRs Welcome

The problem

  • You've got an open source project. How do you know what you can and can't do with the software?
  • You've got a bunch of open source projects, how do you know what their licenses are?
  • You've got a project with a license file, but which license is it? Has it been modified?

The solution

Licensee automates the process of reading LICENSE files and compares their contents to known licenses using a several strategies (which we call "Matchers"). It attempts to determine a project's license in the following order:

  • If the license file has an explicit copyright notice, and nothing more (e.g., Copyright (c) 2015 Ben Balter), we'll assume the author intends to retain all rights, and thus the project isn't licensed.
  • If the license is an exact match to a known license. If we strip away whitespace and copyright notice, we might get lucky, and direct string comparison in Ruby is cheap.
  • If we still can't match the license, we use a fancy math thing called the Sørensen–Dice coefficient, which is really good at calculating the similarity between two strings. By calculating the percent changed from the known license to the license file, you can tell, e.g., that a given license is 95% similar to the MIT license, that 5% likely representing legally insignificant changes to the license text.

Special thanks to @vmg for his Git and algorithmic prowess.

Installation

To use the latest released gem from RubyGems:

gem install licensee

To use licensee programmatically in your own Ruby project, add gem 'licensee' to your project's Gemfile.

To run licensee directly from source:

gem install bundler
bundle install --path vendor/bundle
bundle exec bin/licensee

On Windows, the last line needs to include the Ruby interpreter:

bundle exec ruby bin\licensee

In a Docker Debian Stretch container, minimum dependencies are:

apt-get install -y ruby bundler cmake pkg-config git libssl-dev

Documentation

See the docs folder for more information. You may be interested in:

Semantic Versioning

This project conforms to semver. As a result of this policy, you can (and should) specify a dependency on this gem using the Pessimistic Version Constraint with two digits of precision. For example:

spec.add_dependency 'licensee', '~> 1.0'

This means your project is compatible with licensee 1.0 up until 2.0. You can also set a higher minimum version:

spec.add_dependency 'licensee', '~> 1.1'
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].