Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Describe the user-facing change and the implementation shape.
- [ ] Normal scans remain Rust-native and do not require Python, Node, Docker, network access, or a compiler sidecar.
- [ ] New rules include explanation text and safe/unsafe examples.
- [ ] Dependency changes follow `docs/dependency-pinning.md`: exact Cargo versions, committed lockfile checksums, full-SHA GitHub Actions, and no branch/tag Git dependencies.
- [ ] CLA signed, or the contribution is trivial or maintainer-owned.

## Notes

Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ All notable changes to Rulepath will be documented here.
- Improve `.rulepath.inferred.yml` generation using IR facts, deterministic strict-config-compatible YAML, and fixture-backed inference tests.
- Add non-fatal analysis diagnostics for parse errors, unresolved imports, ambiguous resources, and skipped non-UTF8 files.
- Enforce dependency pinning in CI with `bjcorder/deterministic-deps` and a repo-local Rulepath pinning contract check.
- Re-license Rulepath as `AGPL-3.0-only` and add a Contributor License Agreement for non-trivial contributions.
97 changes: 97 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Rulepath Contributor License Agreement

Thank you for contributing to Rulepath. This Contributor License Agreement
("Agreement") describes the rights you grant when you submit a contribution to
Rulepath.

By signing this Agreement through the maintainer-designated process, or by
otherwise providing written acceptance that the project maintainer records, you
accept this Agreement for your present and future contributions.

## 1. Definitions

"Project" means the Rulepath source code, documentation, tests, examples,
fixtures, issue templates, workflows, and other materials maintained in the
Rulepath repository.

"Project Maintainer" means Brian Corder and any successor person or legal
entity that receives the rights needed to maintain and distribute the Project.

"You" means the individual or legal entity submitting a contribution.

"Contribution" means any original work of authorship, including source code,
documentation, tests, configuration, examples, designs, or other material, that
you intentionally submit to the Project for inclusion.

"Submit" means any form of electronic, written, or verbal communication sent to
the Project Maintainer or to a Project-managed collaboration system, including
pull requests, patches, issues, comments, commits, emails, and chat messages.

## 2. Copyright Grant

You retain copyright ownership in your Contributions.

You grant the Project Maintainer and its successors a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
sublicense, and distribute your Contributions and derivative works based on
your Contributions, in source code, object code, documentation, or any other
form.

This grant allows the Project Maintainer to distribute Contributions as part of
Rulepath under the GNU Affero General Public License v3.0 only
(`AGPL-3.0-only`), to maintain the Project, and to sublicense or relicense the
Project or Contributions under other license terms.

## 3. Patent Grant

You grant the Project Maintainer, its successors, and recipients of the Project
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
patent license to make, have made, use, offer to sell, sell, import, and
otherwise transfer your Contributions, where such license applies only to
patent claims that you can license and that are necessarily infringed by your
Contribution alone or by combination of your Contribution with the Project as
submitted.

If you or your legal entity begin a patent claim alleging that the Project or a
Contribution incorporated into the Project infringes a patent, your patent
license under this Agreement terminates as of the date the claim begins.

## 4. Your Representations

You represent that:

- You are legally entitled to grant the licenses in this Agreement.
- Each Contribution is your original work, or you have sufficient rights to
submit it under this Agreement.
- If your employer or another legal entity has rights to your Contribution, you
have received permission to submit it under this Agreement.
- Your Contribution does not intentionally include confidential information,
trade secrets, or material that violates another party's rights.
- You will identify any third-party code or materials included in your
Contribution and provide the applicable license notices.

## 5. No Support Obligation

Submitting a Contribution does not require you to provide support, maintenance,
warranty, indemnity, or future updates.

## 6. Disclaimer

Unless required by applicable law or agreed in writing, your Contributions are
provided "AS IS", without warranties or conditions of any kind, including
warranties of title, non-infringement, merchantability, or fitness for a
particular purpose.

## 7. Project Discretion

The Project Maintainer may accept, modify, reject, remove, or stop distributing
any Contribution. Accepting a Contribution does not create an obligation to use
or maintain it.

## 8. Scope

This Agreement does not change your rights to use your own Contributions for
any other purpose. This Agreement also does not change the license terms for
Rulepath releases that were already published before a Contribution was
accepted.
14 changes: 14 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

Thanks for helping build Rulepath.

## Licensing and CLA

Rulepath is licensed under the GNU Affero General Public License v3.0 only
(`AGPL-3.0-only`).

Non-trivial contributions require acceptance of the
[Rulepath Contributor License Agreement](CLA.md) before merge. The CLA keeps
contributors' copyright ownership while granting the project maintainer the
rights needed to distribute, sublicense, relicense, and maintain Rulepath.

When CLA automation is enabled, the required CLA check must pass before a pull
request is merged. Until then, maintainers may record acceptance manually in the
pull request.

## Development

```bash
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ members = [
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
license = "AGPL-3.0-only"
authors = ["Brian Corder"]
repository = "https://github.com/BrianCorder/rulepath"
description = "Rust-native business logic and invariant analysis for web applications."
Expand Down
Loading