diff --git a/.cspell.yaml b/.cspell.yaml index c00853515..9632e7d2c 100644 --- a/.cspell.yaml +++ b/.cspell.yaml @@ -18,6 +18,7 @@ ignoreRegExpList: words: - Collibra - DASD + - Docu - datadog - dynatrace - easycla @@ -88,6 +89,12 @@ words: - frzifus - gbbr - gitter + - gitdm + - henrikrexed + - heptio + - hongalex + - horovits + - jackjia - jaglowski - jemmic - juraci diff --git a/guides/README.md b/guides/README.md new file mode 100644 index 000000000..13b18b381 --- /dev/null +++ b/guides/README.md @@ -0,0 +1,10 @@ +# OpenTelemetry Guidebooks + +This directory contains a collection of guides meant for contributors, +maintainers, and community members. These guides are meant to help you get +started, answer common questions, and provide best practices for being a part of +the OpenTelemetry community. These should be considered a living resource, and +everyone is welcome to contribute to them! + +- [Contributor Guide](./contributor/README.md) +- [Maintainer Guide](./maintainer/README.md) \ No newline at end of file diff --git a/guides/contributor/CLA.md b/guides/contributor/CLA.md new file mode 100644 index 000000000..599a6d8ad --- /dev/null +++ b/guides/contributor/CLA.md @@ -0,0 +1,88 @@ +# The Contributor License Agreement + +The [Cloud Native Computing Foundation](https://www.cncf.io) (CNCF) defines +the legal status of the contributed code in two different types of _Contributor License Agreements_ +(CLAs), [individual contributors](https://github.com/cncf/cla/blob/main/individual-cla.pdf) and [corporations](https://github.com/cncf/cla/blob/main/corporate-cla.pdf). + +OpenTelemetry can only accept original source code from CLA signatories. + +It is important to read and understand this legal agreement. + +## How do I sign? + +After creating your first Pull Request, the linux-foundation-easycla bot will respond with information regarding your CLA status along with a link to sign the CLA. + +EasyCLA bot + +#### 1. If you are signing up as a corporate contributor, ensure that you have linked your corporate email address to your GitHub profile (it doesn't have to be your primary email address for GitHub) or else it can lead to issues with the CLA system. + +For more information, please see [Adding an email address to your GitHub account](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account). + +#### 2. Authorize EasyCLA to read some of your GitHub information + +GitHub EasyCLA Authorization + +- Click on the **Please click here to be authorized** link to navigate to the GitHub Authorize Linux Foundation: EasyCLA page. +- Then click **Authorize LF-Engineering** to give the Linux Foundation read-only access to list the email addresses associated with your GitHub account. + +#### 3. Select from the two types of contributor + +EasyCLA + + +After authorizing EasyCLA, you will be redirected to a page to identify which type of contributor you are. +Select the most appropriate option: + * Individual Contributor: You are contributing as yourself, and not as part of another organization. + * Corporate Contributor: You are contributing on behalf of your employer or other organization. + +#### 4. Sign the CLA + +Once you select the type of contributor, proceed to Sign the CLA and follow the instructions to complete the signing process through DocuSign. + +After you have filled out the information, Click "Finish" and you will be redirected back to your Pull Request. + +#### 5. Look for an email indicating successful signup. + +> Hello, +> +> This is a notification email from EasyCLA regarding the project Cloud Native Computing > Foundation (CNCF). +> +> The CLA has now been signed. You can download the signed CLA as a PDF here. +> +> If you need help or have questions about EasyCLA, you can read the documentation or reach out to us for support. +> +> Thanks, +> EasyCLA Support Team + + + +#### 6. Validate your CLA + +Once you are redirected back to your GitHub Pull Request, reply with a comment `/easycla` to update the CLA status of your PR, +if the bot hasn't picked up the change automatically yet. + + +## Changing your Affiliation + +If you've changed employers and still contribute to OpenTelemetry, your affiliation +needs to be updated. The Cloud Native Computing Foundation uses [gitdm](https://github.com/cncf/gitdm) +to track who is contributing and from where. Create a pull request on the [gitdm](https://github.com/cncf/gitdm) +repository with a change to the corresponding developer affiliation text file. +Your entry should look similar to this: + +``` +Jorge O. Castro*: jorge!heptio.com, jorge!ubuntu.com, jorge.castro!gmail.com +Heptio +Canonical until 2017-03-31 +``` + +In addition, be sure to update your affiliation on [OpenProfile](https://openprofile.dev). + +## Troubleshooting + +If you encounter any problems signing the CLA and need further assistance, log a ticket by clicking on the link 'please submit a support request ticket' from the EasyCLA bot's response. Someone from the CNCF will respond to your ticket to help. + +Should you have any issues using the LF Support Site, send a message to the +backup email support address + +[Linux Foundation Support Site]: https://support.linuxfoundation.org/ \ No newline at end of file diff --git a/guides/contributor/README.md b/guides/contributor/README.md new file mode 100644 index 000000000..78fbedd01 --- /dev/null +++ b/guides/contributor/README.md @@ -0,0 +1,67 @@ +# OpenTelemetry New Contributor Guide + +Welcome to OpenTelemetry! We're excited for you to join us. This guide will help +you get started by providing an overview of the project, how we work together, +and where to find helpful resources. + +## Table of Contents + +- [What is OpenTelemetry?](#what-is-opentelemetry) +- [Prerequisites](#prerequisites) + +## What is OpenTelemetry? + +OpenTelemetry is a framework for application telemetry data. If you've ever +checked how much memory a process is using on your computer, or looked at the +size of a file, you've already interacted with telemetry! Cloud native systems +create, emit, and process many millions of telemetry points every second as they +run. In addition, the developers of cloud native software need to describe what +their applications are doing in production in order to find bugs, optimize their +system performance, and understand their applications. OpenTelemetry provides a +single standard for creating and collecting this telemetry, transforming it as +needed, and exporting it to dozens of analysis tools. + +## Prerequisites + +Before you submit code to OpenTelemetry, you'll need to have a few things set +up: + +### Create a GitHub account + +Before getting started, you'll need to [sign up](http://github.com/signup) for a +GitHub account. + +### Sign the CLA + +Before we can accept your code, you'll need to sign the [Contributor License +Agreement](./CLA.md). This is a one-time process. + +### Code of Conduct + +Please make sure to read and follow our [Code of Conduct](../../code-of-conduct.md). + +### Making a contribution + +Please see [contribution processes](./processes.md) for more information on how +to make a contribution to an OpenTelemetry repository. + +### Community Expectations and Roles + +OpenTelemetry is a community-driven project. We welcome contributions from all +interested parties, regardless of affiliation. Our success is dependent on the +community to provide a professional, productive, friendly, and collaborative +environment. + +- Review the [Mission, Vision, and Values](../../mission-vision-values.md) to + understand the goals of the project. +- Read the [Community Membership](../../community-membership.md) to understand + the roles and responsibilities of the community. +- As you gain experience, we encourage you to move up the ladder from member to + triager, approver, and maintainer! + +## Next Steps + +Now that you've read through this guide, you're ready to start contributing to +the project. + + \ No newline at end of file diff --git a/guides/contributor/donations.md b/guides/contributor/donations.md new file mode 100644 index 000000000..f0b656160 --- /dev/null +++ b/guides/contributor/donations.md @@ -0,0 +1,60 @@ +# Donations + +Donations of preexisting code fall into two broad categories: + +* **Small donations:** Some donations only amount to a single PR and should + usually just be contributed as such +* **Large or complex donations:** Other donations are much larger, require + ongoing maintenance of their own, and/or introduce nuanced licensing issues + +Large donations – or small donations that turn up complex issues during PR +review – should be referred to the Technical Committee (TC) by filing an issue +in this `community` repository and tagging +`@open-telemetry/technical-committee`. The TC will respond to donation +proposals **within two weeks** (that is, after having time to meet and discuss +live). If the TC has not responded to the donation request within that +interval, the donating party can and should point to this document and request +guidance at the TC's earliest convenience. + +All donated code requires a license compatible with the Apache Software License +2.0, and donated code will require a change of copyright to reflect the +OpenTelemetry Authors. The Governance Committee (GC) will also ask to review any +trademarks (like the names of components) the donation can carry and make a +decision to either remove those trademarks or transfer them to the CNCF. + +## Donation process + +Broadly, these are the steps the OpenTelemetry Governance and Technical +Committees follow to handle a prospective donation. + +1. Per the above, the donating organization creates a GitHub issue using + the "Donation Proposal" form in the `community` repository. +2. The GC will evaluate the proposal to ensure that + the donation is aligned with the overall OpenTelemetry project vision + and roadmap and has a balanced set of interested contributors and maintainers. + The GC is also responsible for driving awareness in the community about + the contribution and making sure all interested parties have a chance to + object and/or contribute. The GC should work with any appropriate Special Interest + Groups or Working Groups to evaluate the donation proposal, consider alternatives, + and ensure OpenTelemetry has the resources required to support the donation. When + considering alternatives, the GC should consider at least the CNCF ecosystem, + and may also consider other well-known open source projects or alternatives proposed + by the community. +3. If a donation proposal passes the initial GC screening, the TC + will conduct due diligence to determine if the proposed donation can be effectively + integrated into the OpenTelemetry project in a way that meets the quality, security, + and privacy standards of the project without violating stable specification or OpenTelemetry Enhancement Proposals (OTEPs). + The TC will summarize their findings, and make a recommendation to either + accept or reject the proposal, conditionally or unconditionally, in a report which will + be attached to the donation proposal issue. Writing the report may require meeting + and discussing alternative technologies with different vendors in the community and + can be a lengthy process. The TC member driving the report will post updates and time + estimates to the issue. +4. The GC will consider the report and make a final decision about the donation, + and document that decision on the donation proposal issue. +5. If accepted, the contributing organization – particularly if it's a + commercial entity – must formally acknowledge via the GitHub issue that its + respective sales and marketing departments have received, understood, and + accepted the terms of the [OpenTelemetry marketing guidelines](https://github.com/open-telemetry/community/blob/main/marketing-guidelines.md). +6. Given all of the above, the GitHub issue is closed and the donation moves + forward as agreed to by the TC and GC. \ No newline at end of file diff --git a/community-membership.md b/guides/contributor/membership.md similarity index 89% rename from community-membership.md rename to guides/contributor/membership.md index bb7b2bafc..71f9912ed 100644 --- a/community-membership.md +++ b/guides/contributor/membership.md @@ -1,12 +1,12 @@ -# Community membership +# Membership, Roles, and Responsibilities -This doc outlines the various responsibilities of contributor roles in -OpenTelemetry. The OpenTelemetry project is subdivided into subprojects under -(predominantly, but not exclusively) language-focused SIGs (Special Interest -Group). Responsibilities for most roles are scoped to these subprojects (repos). +OpenTelemetry is a project by, and for, its community. This document outlines +the various roles and responsibilities of members, as well as the requirements +for achieving each role. We encourage you to consider becoming a long-term +contributor to the project, and moving up the ladder from member, all the way to +maintainer! -The OpenTelemetry [Governance Committee][] owns this document and process until -delegated. They can be reached via e-mail . +## Membership Levels | **Role** | **Responsibilities** | **Requirements** | **Defined by** | |-----------------------|-------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------| @@ -19,11 +19,13 @@ delegated. They can be reached via e-mail