Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Thank you for contributing to the OE4T project! Your contributions are greatly appreciated!

Submitting Code Changes

The OE4T project follows many of the same guidelines used by OpenEmbedded and the Yocto Project. See here for their guidance to contributors.

  • Please submit issues or pull requests through GitHub. Only rebase and squash commits are used for PRs, so if you have a PR that is outstanding for a long time, please keep your branch up to date by rebasing your changes, rather than merging.
  • Group commits based on their functionality and components changed. For the first line, use something like component: Short Summary to describe your change where component refers to a specific software component being changed.
  • Please try to make incremental changes with multiple commits, rather than “big bang” single commits with changes spread across multiple components.
  • Please try to use one PR (possibly containing a sequence of commits) per topic/submission, rather than combining completely unrelated changes together into a single PR.
  • Add a Signed-off-by: line to your commit, using git commit -s or a pre-commit hook like the one setup with this script, using your real name and e-mail address (no anonymous contributions, please). This indicates that you have the right to submit the patch per the Developer’s Certificate of Origin in the next section.
  • Target the master branch for pull requests unless your change is specific to an earlier branch.

Developer’s Certificate of Origin

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
  3. The contribution was provided directly to me by some other person who certified (1), (2) or (3) and I have not modified it.
  4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

(Adapted from the Linux kernel’s certificate of origin.)

Submitting Documentation Changes

Documentation is served using mdBook, based on the content in the docs directory. Updates and corrections are submitted using pull requests, like any other changes to the layer. Please target the master branch for documentation changes, unless your changes are specific to older branches. Documentation content in older branches is based on a snapshot at branch time and may be out of date.

AI Usage Policy

We welcome contributions from everyone, including contributions created with the assistance of AI tools. However, we still expect humans to own their submissions and take responsbility for them, and ask that you follow these guidelines when using AI tools to help you with contributions to the project.

Be up-front about using AI tools

If you have used one or more AI tools to help you with reporting issues, creating patches, writing documentation, or making other contributions to the project, please say so. For patches/PRs, include an AI-Generated: line in the commit message to name the AI tool(s) used. You should not attribute co-authorship to tools, and the Signed-off-by: in your commit message must be from you, the developer.

Example:

AI-Generated: Whiz-Bang AI Tool
Signed-off-by: Actual Person <developer@example.domain>

Please be considerate of your fellow community members’ time

Using an AI tool may be a time-saver for you, but when you rely too heavily on the tool, you run the risk of wasting everyone else’s time by:

  • not understanding the problem, or a proposed solution, yourself
  • using an AI tool to interact directly with project community members, since the signal-to-noise ratio of text generated by AI tools can be very low
  • blindly trusting the output of the tool to be accurate, correct, and complete

For patches, understand the changes you are making and verify that they work, and please write the commit messages yourself. Please also write PR descriptions yourself. Make use of whatever tools you need to help with grammar and spelling, or language translation, but keep commit messages and PR descriptions concise.

Likewise for submission of issues or entries in our GitHub discussions: if you’re seeing a problem, please describe the problem as you see it. If you prompted an AI tool to help with some analysis, you can include those results, but be clear about where they came from. And please don’t simply feed the responses you get from the maintainers or other community members back into the AI tool and post the resulting output. It’s unlikely to help, and is apt to discourage people from responding further.

Licensing considerations

While OE4T is not a Linux Foundation project, we follow their guidance regarding the use of generative AI tools:

  1. Contributors should ensure that the terms and conditions of the generative AI tool do not place any contractual restrictions on how the tool’s output can be used that are inconsistent with the project’s open source software license, the project’s intellectual property policies, or the Open Source Definition.

  2. If any pre-existing copyrighted materials (including pre-existing open source code) authored or owned by third parties are included in the AI tool’s output, prior to contributing such output to the project, the Contributor should confirm that they have permission from the third party owners – such as the form of an open source license or public domain declaration that complies with the project’s licensing policies – to use and modify such pre-existing materials and contribute them to the project. Additionally, the contributor should provide notice and attribution of such third party rights, along with information about the applicable license terms, with their contribution.

When you use an AI tool to assist with your project contributions, your DCO sign-off certifies that your submission conforms to the above policy.