Skip to main content

Contributing and the CLA

Every contribution to Myrmic — code, documentation, tests, drivers — is welcome, from a typo fix to a new embedded port. Before we can merge your first pull request, we ask you to accept the Contributor License Agreement (CLA). This page explains what it is, why we ask for it, and what it does not do.

Why a CLA

Myrmic is dual-licensed. The open platform is available to everyone under GPL-2.0-only together with the Myrmic Exception; Peeriot GmbH additionally offers the same code under commercial terms as part of EdgeVance. The commercial side funds the people who maintain the open one.

For that model to work, Peeriot must be able to offer the whole platform — including your contribution — under both sets of terms. A plain "sign-off" (DCO) would confirm you may contribute under the GPL, but it would not allow Peeriot to include your change in the commercially licensed version. The CLA closes exactly that gap, and nothing more.

What the CLA does

  • You keep ownership. The CLA is a license, not an assignment. Your contribution remains yours; you can use and license it elsewhere however you like.
  • You grant Peeriot broad, non-exclusive rights to use, modify, distribute, sublicense and relicense your contribution — under open-source licenses (which is how it reaches the public project) and under commercial terms.
  • You confirm you are entitled to contribute: that the work is yours, or that you have the rights needed (for example from your employer), and that you have flagged any third-party material.
  • Open-source promise: whatever Peeriot includes in the public project stays available under at least one open-source or open-content license.
  • Patent grant: you license patent claims you hold that your contribution would necessarily infringe — the same kind of grant Apache-2.0 contains — so nobody can contribute code and later sue the people using it.

What the CLA does not do

  • It does not transfer copyright or moral rights.
  • It does not oblige you to maintain or support your contribution.
  • It does not touch code you write with Myrmic — the CLA covers contributions to Myrmic only. Using Myrmic never requires it.
  • It does not lock you in: either side can end the CLA for future contributions at any time; rights already granted for past contributions stay as they are, so the project's history remains clean.

How it works in practice

One CLA for everyone. The same agreement covers individuals and organizations.

  • You contribute on your own behalf. Open your first pull request; the CLA bot will comment with a link to the current text of the agreement. Read it, accept it electronically, done. Nothing to print, sign or scan. The acceptance is recorded once and applies to all your future contributions.
  • You contribute on behalf of your employer or another organization. An authorized representative of the organization accepts the CLA and designates the people who may contribute on its behalf. If you contribute solely in that capacity, you do not need to accept the CLA separately — you only accept it yourself if you also contribute in a personal capacity.
  • Not sure whether your employer owns your work? Ask before contributing. If in doubt, the organizational route is the safe one.

Pull requests without an accepted CLA cannot be merged — including one-line fixes, since the rule only works if it has no exceptions.

AI-assisted contributions

You may use AI-assisted tools when preparing a contribution. You remain responsible for what you submit: review generated code as you would your own, and make sure you hold the rights the CLA asks you to confirm — in particular, do not include code of unknown provenance. If a contribution contains substantial AI-generated parts, please say so briefly in the pull request description.

Frequently asked questions

Do I need the CLA to use Myrmic, build on it, or ship products with it? No. It is only needed to contribute to the Myrmic repositories.

I only fixed a typo. Really? Yes, but it takes a minute, and you only do it once.

What about the "Not a Contribution" marker? If you share something in an issue or discussion that you do not want treated as a contribution — a code snippet from elsewhere, an idea you want to keep control of — mark it clearly as "Not a Contribution". It then stays outside the CLA.

Which law applies? German law; Peeriot is a German company. Mandatory consumer-protection rules of your home country remain unaffected.

Where is the CLA text? The CLA bot links the current version on every pull request that needs it. The text is served from one published copy, so what you read is exactly what you accept. The contribution workflow itself — branches, commits, reviews — is described in CONTRIBUTING.md and in the Contribution chapter of this handbook.

Cookie Policy