Skip to content

Correct Licensing of Solidus Gems - #6560

Open
jarednorman wants to merge 5 commits into
solidusio:mainfrom
SuperGoodSoft:update-copyright-notice
Open

Correct Licensing of Solidus Gems#6560
jarednorman wants to merge 5 commits into
solidusio:mainfrom
SuperGoodSoft:update-copyright-notice

Conversation

@jarednorman

Copy link
Copy Markdown
Member

Our gems' license files had drifted from reality in a bunch of ways. This PR:

  • Adds a copyright notice for the post-fork contributions (while retaining the Spree notice as this was never reassigned by Spree Commerce Inc.). Since we have no CLA, individual contributors retain copyright. A collective label like this seems to be the convention in these kinds of situations.
  • Fixes Solidus Admin's license to match the other gems. The gemspec always said BSD-3-Clause even though the LICENSE file contained the MIT license's text. This was probably just boilerplate from the gem's original scaffold. @elia You initialized the gem. Can you confirm this is the right action to take?
  • Adds the missing LICENSE files to solidus_backend, solidus_promotions, and solidus_legacy_promotions. These all declared BSD-3-Clause but didn't include it.
  • Fixes the filename of the meta-gem's license to match the sub-gems and ships it with the gem.

The license files only credited Spree Commerce Inc. for 2007-2014,
leaving the decade of post-fork work unattributed. Solidus has no
copyright assignment, so the copyright in contributions since the
2015 fork rests with the individual contributors; add a collective
notice for them alongside the retained Spree notice, which BSD-3
requires us to keep intact for the code it covers.

Covers the root LICENSE.md and the identical per-gem copies in core,
api, and sample. The admin gem's MIT license is unaffected.
The solidus_admin gemspec has declared BSD-3-Clause since the gem was
created, but the LICENSE file added in the initial scaffold (fab9cff)
contained MIT text, apparently unreviewed gem-template boilerplate.
Released gems have been shipping MIT text under a BSD-3-Clause metadata
declaration.

Replace the LICENSE contents with the BSD-3-Clause text used by the
other gems, with a copyright line reflecting that solidus_admin is all
post-fork code.
The solidus_backend gemspec declares BSD-3-Clause but the gem shipped
no license file. Add the same BSD-3-Clause text as the other
Spree-descended gems.
Both solidus_promotions and solidus_legacy_promotions declare
BSD-3-Clause but shipped no license file. Legacy promotions contains
Spree-descended code and gets the same text as core; the new
promotions gem is all post-fork code and gets the Solidus-only
copyright line.
The solidus meta-gem's file list only included README.md and lib/, so
the gem most users install shipped no license text despite declaring
BSD-3-Clause. Add the license to the file list.

Rename LICENSE.md to LICENSE to match the per-gem license files and
strip the markdown formatting so it reads as plain text, updating the
two references to the old name.
@jarednorman
jarednorman requested a review from a team as a code owner August 27, 2026 21:17
@github-actions github-actions Bot added changelog:solidus_api Changes to the solidus_api gem changelog:solidus_backend Changes to the solidus_backend gem changelog:solidus_core Changes to the solidus_core gem changelog:solidus_sample Changes to the solidus_sample gem changelog:solidus Changes to the solidus meta-gem changelog:solidus_admin changelog:solidus_legacy_promotions Changes to the solidus_legacy_promotions gem changelog:solidus_promotions Changes to the solidus_promotions gem labels Aug 27, 2026
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.16%. Comparing base (72f9fcd) to head (848e6a3).
⚠️ Report is 1365 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6560      +/-   ##
==========================================
- Coverage   95.07%   92.16%   -2.91%     
==========================================
  Files         460     1037     +577     
  Lines        7924    21210   +13286     
==========================================
+ Hits         7534    19549   +12015     
- Misses        390     1661    +1271     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jarednorman

Copy link
Copy Markdown
Member Author

I'm going to hold on merging this until we confirm that one detail with @elia. I don't want to erroneously alter Admin's licensing. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:solidus_admin changelog:solidus_api Changes to the solidus_api gem changelog:solidus_backend Changes to the solidus_backend gem changelog:solidus_core Changes to the solidus_core gem changelog:solidus_legacy_promotions Changes to the solidus_legacy_promotions gem changelog:solidus_promotions Changes to the solidus_promotions gem changelog:solidus_sample Changes to the solidus_sample gem changelog:solidus Changes to the solidus meta-gem

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants