A summary of data about the Ruby ecosystem.

https://github.com/licensee/licensee

A Ruby Gem to detect under what license a project is distributed.
https://github.com/licensee/licensee

Keywords

law legal licensing open-source open-source-licensing ruby ruby-gem

Keywords from Contributors

rubygems activerecord mvc activejob feature-flag grape identity rubocop feature-toggle feature

Last synced: about 6 hours ago
JSON representation

Repository metadata

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

docs/README.md

Licensee

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

Gem Version Maintainability Test Coverage PRs Welcome OpenSSF Scorecard OpenSSF Best Practices

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 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
bundle exec bin/licensee

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

bundle exec ruby bin\licensee

Docker

Licensee also comes with a Dockerfile if you prefer to run Licensee within a Docker container:

  1. git clone https://github.com/licensee/licensee && cd licensee
  2. docker build . --tag licensee
  3. docker run licensee [COMMAND] (see command line usage)

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'

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 1,452
Total Committers: 64
Avg Commits per committer: 22.688
Development Distribution Score (DDS): 0.492

Commits in past year: 135
Committers in past year: 4
Avg Commits per committer in past year: 33.75
Development Distribution Score (DDS) in past year: 0.541

Name Email Commits
Ben Balter b****r@g****m 737
Mike Linksvayer m****a@g****m 352
dependabot[bot] 4****] 182
Jon Ruskin j****c@g****m 22
Sebastian Schuberth s****h@g****m 21
Vicent Marti t****u@g****m 21
Jim Hester j****r@g****m 8
Pablo Rodríguez González p****z@g****m 8
copilot-swe-agent[bot] 1****t 7
Jarryd Lee j****d@s****m 5
Arfon Smith a****h@g****m 5
Paul Chaignon p****n@g****m 5
Waldir Pimenta w****s@g****m 5
Ville Lahdenvuo t****i@g****m 4
Andrew Nesbitt a****z@g****m 4
Brandon Keepers b****n@o****g 3
Franco Bulgarelli f****o@m****g 3
Jordan von Kluck j****n@t****m 3
Mislav Marohnić m****c@g****m 3
pandaninjas a****n@m****a 3
Ben Wiley b****y@a****m 2
Atakan Yenel a****l@t****e 2
Erick Tryzelaar e****r@g****m 2
Naren Dasan n****n@n****m 2
Nicolas Spalinger n****r@s****g 2
Adam Hess H****r@g****m 2
W. Trevor King w****g@t****s 2
1138-4EB 1****B 1
Adam Roben a****m@r****g 1
Nicolas Leger n****r@n****m 1
and 34 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 9 days ago

Total issues: 67
Total pull requests: 435
Average time to close issues: 4 months
Average time to close pull requests: 11 days
Total issue authors: 57
Total pull request authors: 25
Average comments per issue: 3.03
Average comments per pull request: 0.31
Merged pull request: 355
Bot issues: 0
Bot pull requests: 358

Past year issues: 7
Past year pull requests: 124
Past year average time to close issues: about 23 hours
Past year average time to close pull requests: 1 day
Past year issue authors: 7
Past year pull request authors: 7
Past year average comments per issue: 0.57
Past year average comments per pull request: 0.19
Past year merged pull request: 88
Past year bot issues: 0
Past year bot pull requests: 106

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/licensee/licensee

Top Issue Authors

  • TheJJ (3)
  • lsmith77 (3)
  • ale5000-git (2)
  • mlinksva (2)
  • villelahdenvuo (2)
  • yongyongsi (2)
  • Pandapip1 (2)
  • juliecarolmiller1 (2)
  • shenyileirob (1)
  • Zocker1999NET (1)
  • varunkumar (1)
  • jensljungblad (1)
  • DerionFaleneva (1)
  • philippneugebauer (1)
  • Lazerbeak12345 (1)

Top Pull Request Authors

  • dependabot[bot] (300)
  • github-actions[bot] (58)
  • mlinksva (33)
  • Copilot (12)
  • erickt (4)
  • benbalter (3)
  • jarrydlee (2)
  • Melissa1181 (2)
  • villelahdenvuo (2)
  • Myahr208 (2)
  • abitrolly (2)
  • pandaninjas (2)
  • yardenshoham (1)
  • DerionFaleneva (1)
  • Pandapip1 (1)

Top Issue Labels

  • help wanted (13)
  • good first issue (8)
  • wontfix (5)
  • feature (1)
  • more-information-needed (1)
  • bug (1)

Top Pull Request Labels

  • dependencies (300)
  • github_actions (189)
  • docker (99)
  • ruby (12)
  • more-information-needed (4)

Package metadata

proxy.golang.org: github.com/licensee/licensee

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/licensee/licensee#section-documentation
  • Licenses: mit
  • Latest release: v9.18.0+incompatible (published over 1 year ago)
  • Last Synced: 2026-02-27T23:01:30.491Z (3 days ago)
  • Versions: 93
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 8.686%
    • Average: 9.241%
    • Dependent repos count: 9.796%
nixpkgs-23.11: licensee

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

nixpkgs-24.05: licensee

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

nixpkgs-23.05: licensee

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

nixpkgs-unstable: licensee

Ruby Gem to detect under what license a project is distributed

nixpkgs-24.11: licensee

Ruby Gem to detect under what license a project is distributed


Dependencies

licensee.gemspec rubygems
  • gem-release ~> 2.0 development
  • mustache >= 0.9, < 2.0 development
  • pry ~> 0.9 development
  • rspec ~> 3.5 development
  • rubocop ~> 1.0 development
  • rubocop-performance ~> 1.5 development
  • rubocop-rspec ~> 2.0 development
  • simplecov ~> 0.16 development
  • webmock ~> 3.1 development
  • dotenv ~> 2.0
  • octokit ~> 4.20
  • reverse_markdown ~> 1.0
  • rugged >= 0.24, < 2.0
  • thor >= 0.19, < 2.0
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • ruby/setup-ruby v1 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
.github/workflows/vendor.yml actions
  • actions/checkout v3 composite
  • peter-evans/create-pull-request v4 composite
  • ruby/setup-ruby v1 composite
Dockerfile docker
  • ruby 3.2.0 build
.github/workflows/dependency-review.yml actions
  • actions/checkout 08c6903cd8c0fde910a37f88322edcfb5dd907a8 composite
  • actions/dependency-review-action 40c09b7dc99638e5ddb0bfd91c1673effc064d8a composite
  • step-security/harden-runner 95d9a5deda9de15063e7595e9719c11c38c90ae2 composite
.github/workflows/scorecard.yml actions
  • actions/checkout 08c6903cd8c0fde910a37f88322edcfb5dd907a8 composite
  • actions/upload-artifact 330a01c490aca151604b8cf639adc76d48f6c5d4 composite
  • github/codeql-action/upload-sarif 0499de31b99561a6d14a36a5f662c2a54f91beee composite
  • ossf/scorecard-action 4eaacf0543bb3f2c246792bd56e8cdeffafb205a composite
  • step-security/harden-runner 95d9a5deda9de15063e7595e9719c11c38c90ae2 composite
spec/fixtures/description-license/DESCRIPTION cran
Gemfile rubygems

Score: -Infinity