Karen Chu
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Contributor Ladder Template This is a light contributor ladder template for CNCF projects that requires editing before it is ready to use. Read the markdown comments, `<!-- COMMENT -->`, for additional guidance. The raw markdown uses `TODO` to identify areas that require customization. Particularly, this file provides you with a menu of options for your project. Most projects have 3-4 defined contributor roles. Which of the roles we've outlined below you will use will be based on what makes sense for the structure and size of your project. Other roles should be deleted, or combined into an adjacent role. <!-- template begins here --> * [Contributor Ladder](##contributor-ladder-template) * [Community Participant](###contributor-participant) * [Contributor](###contributor) * [Organization Member](##organization-member) * [Reviewer](###reviewer) * [Maintainer](###maintainer) * [Inactivity](##inactivity) * [Involuntary Removal](##involuntary-removal) * [Stepping Down/Emeritus Process](##stepping-downemeritus-process) * [Contact](##contact) ## Contributor Ladder Hello! We are excited that you want to learn more about our project contributor ladder! This contributor ladder outlines the different contributor roles within the project, along with the responsibilites and privileges that come with them. Community members generally start at the first levels of the "ladder" and advance up it as their involvement in the project grows. Our project members are happy to help you advance along the contributor ladder. Each of the contributor roles below is organized into lists of three types of things. "Responsibilities" are things that contributor is expected to do. "Requirements" are qualifications a person needs to meet to be in that role, and "Rights" are things contributors on that level are entitled to. ### Community Participant <!--This role spells out what's expected of general community participants. This is the lowest level of participation in the project, and as such many projects don't bother to define it and leave this section out.--> <!--TODO: project leads to fill in exact details of this role for your project--> Description: A Community Participant participates in the community and contributes their time, thoughts, etc. Community participants are usually users who have stopped being anonymous and started being active in project discussions. * Responsibilities: * Must follow the CNCF CoC * How users can get involved with the community: * Participating in community discussions * Helping other users * Submitting bug reports * Commenting on issues * Trying out new releases * Attending community events * [TODO: Other examples of non-contribution participation] ### Contributor <!-- This role describes people who have just started contributing, or who contribute occasionally but don't participate in project governance or have defined responsibilities. Usually projects define either this level or Community Participant, but not both. If you don't definte this role, make sure to copy over its requirements to Organization Member --> <!--TODO: project leads to fill in exact details of this role for your project--> Description: A Contributor contributes directly to the project and adds value to it. Contributions need not be code. People at the Contributor level may be new contributors, or they may only contribute occasionally. * Responsibilities include: * Following the CNCF CoC * Following the project contributing guide * Requirements (one or several of the below): * Reports and sometimes resolves issues * Occasionally submits PRs * Contributes to the documentation * Regularly shows up at meetings, takes notes * Answers questions from other community members * Submits feedback on issues and PRs * Tests releases and patches and submits reviews * Runs or helps run events * Promotes the project in public * Helps run the project infrastructure * [TODO: other small contributions] * Privileges: * Invitations to contributor events * Eligible to become an Organization Member ### Organization Member <!--This role is used by many projects where you have to be a regular contributor to have the right to vote in project elections, or to be able to operate project CI/CD automation. If these rights do not apply to you, then it makes sense to combine this role with the Contributor role. For most projects, Org Member is the \ lowest level with clearly defined responsibilities and rights, because it is tied to --> <!--TODO: project leads to fill in exact details of this role for your project--> Description: An Organization Member is an established contributor who regularly participates the project. Organization Members have privileges in both project repositories and elections, and as such are expected to act in the interests of the whole project. An Organization Member must meet the responsibilites and has the requirements of a Contributor, plus: * Responsibilities include: * Continues to contribute regularly, as demonstrated by having at least [TODO: Number] [TODO: Metric] a year, as demonstrated by [TODO: contributor metrics source]. <!-- Example: "as demonstrated by having at least 50 Github contributions per year, as shown by Devstats"--> * Requirements: * Must have successful contribitons to the project, including at least one of the following: * [TODO: Number] accepted PRs, * Reviewed [TODO: Number] PRs, * Resolved and closed [TODO: Number] Issues, * Become responsible for a key project management area, * Or some equivalent combination or contribution * Must have been contributing for at least [TODO: Number] months * Must be actively contributing to at least one project area * Must have two sponsors who are also Organization Members, at least one of whom does not work for the same employer * [TODO: other requirements] <!--TODO: such as repository access or enabling 2FA on their Github account --> * Privileges: * May be assigned Issues and Reviews * May give commands to CI/CD automation * Entitled to vote in the [TODO: appropriate election] * Can be added to [TODO: Repo Host] teams * Can recommend other contributors to become Org Members * [TODO: Other Privileges] The process for a Contributor to become an Organization Member is as follows: <!-- the process of becoming an organization member is going to depend strongly on how your project manages its infrastructure. TO DO: Project leads to fil in exact details of how a contributor becomes an organization member--> 1. 2. 3. ### Reviewer <!-- Some projects have CICD systems that allow for designating people as official reviewers, whose reviews count towards a PR being accepted into the project. Other projects offer reviewers specific recognition and status. This role is for either of those kinds of projects. Smaller projects will not use it.--> <!--TODO: project leads to fill in exact details of this role for your project--> Description: A Reviewer has responsibility for specific code, documentation, test, or other project areas. They are collectively responsible, with other Reviewers, for reviewing all changes to those areas and indicating whether those changes are ready to merge. They have a track record of contribution and review in the project. Reviewers are responsible for a "specific area." This can be a specific code directory, driver, chapter of the docs, test job, event, or other clearly-defined project component that is smaller than an entire repository or subproject. Most often it is one or a set of directories in one or more Git repositories. The "specific area" below refers to this area of responsibility. Reviewers have all the rights and responsibilities of an Organization Member, plus: * Responsibilities include: * Following the reviewing guide * Reviewing most Pull Requests against their specific areas of responsiblity * Reviewing at least [TODO: Number] PRs per year * Helping other contributors become reviewers * Requirements: * Experience as a Contributor for at least [TODO: Number] months * Is an Organization Member * Has reviewed, or helped review, at least [TODO: Number] Pull Requests * Has analyzed and resolved test failures in their specific area * Has demonstrated an in-depth knowledge of the specific area * Commits to being responsible for that specific area * Is supportive of new and occasional contributors and helps get useful PRs in shape to commit * Additional privileges: * Has Github or CICD rights to approve pull requests in specific directories <!-- TODO: define how this works with your specific system. For example: "Is listed as Approver in the OWNERS file for certain directories. --> * Can recommend and review other contributors to become Reviewers The process of becoming a Reviewer is: <!-- TODO: define your exact process here. What's below is given as an example process for a project that uses Owners files and has defined teams for each project area --> 1. The contributor is nominated by opening a PR against the appropriate repository, which adds the to the OWNERS file for one or more directories. 2. At least two members of the team that owns that repository or main directory, who are already Approvers, approve the PR. ### Maintainer <!-- In the simplest and most common project structures, projects have a single pool of "maintainers" who are collectively responsible for the entire project. This example defines that role for your project. If your project has a more complex structure, see the list of specific maintainer roles you might want to define, below. --> <!--TODO: project leads to fill in exact details of this role for your project--> Description: Maintainers are very established contributors who are responsible for the entire project. As such, they have the ability to approve PRs against any area of the project, and are expected to participate in making decisions about the strategy and priorities of the project. A Maintainer must meet the rights, responsiblities, and requirements of a Reviewer, plus: * Responsibilities include: * Reviewing at least [TODO: Number] PRs per year, especially PRs that involve multiple parts of the project * Mentoring new Reviewers * Writing refactoring PRs * Participating in CNCF maintainer activities * Determining strategy and policy for the project * Participating in, and leading, community meetings * Requirements * Experience as a Reviewer for at least [TODO: Number] months * Demonstrates a broad knowledge of the project across multiple areas * Is able to exercise judgement for the good of the project, independant of their employer, friends, or team * Mentors other contributors * Can commit to spending at least [TODO: Number] hours per month working on the project * Additional privileges: * Approve PRs to any area of the project * Represent the project in public as a Maintainer * Communicate with the CNCF on behalf of the project * Have a vote in Maintainer decision-making meetings Process of becoming a maintainer: <!-- TODO: this process will vary widely across projects, both because of project code structure, and because of project governance. For example, in some projects the Steering Committee approves new Maintainers. What's below is just an example from a simple project in which the maintainers are also the project leaders, and which uses Github OWNERS files. --> 1. Any current Maintainer may nominate a current Reviewer to become a new Maintainer, by opening a PR against the root of the [TODO: main repository name] adding the nominee as an Approver in the OWNERS file. 2. The nominee will add a comment to the PR testifying that they agree to all requirements of becoming a Maintainer. 3. A majority of the current Maintainers must then approve the PR. <!-- ### ADDITIONAL MAINTAINER ROLES Some projects have additional, specifically defined maintainer roles because of leadership positions that don't fit within the general maintainer template above, including ones that have special requirements. In addition to spelling out those requirements, defining and publishing additional maintainer roles can be a way to recruit maintainers in those specific areas, especially non-code maintainers. Here's examples of special maintainer roles which have been defined by a variety of projects. As all of these roles are highly dependant on exact project organization, tooling, etc., these roles are not templatable. * Subproject Maintainer: Owns a distict subproject or repository of the main project. Responsible for everything there. In federation projects, subproject maintainers might be the primary maintainter type. [Example]() * Documentation Maintainer: for your Docs leads. Would include specific documentation targets and experience, and maintaining publication schedules as a requirement. [Example]() * Localizations Maintainers: owns a particular localization, like Japanese or Brazillian Portuguese, across documentation, messages, and websites. Responsible for making sure those get updated. [Example]() * Program Manager: Responsible for timelines and processes within the project, such as bug triage, review timelines, etc. [Example]() * Release Manager: owns the release process, either always, cyclically, or per-release. Responsible for getting releases out on time. [Example]() * Patch Maintainer: sometimes different from the release manager, owns the tooling, team, and schedule for patching stable releases. [Example]() * Community Manager: owns social media, community metrics, new contributor process, and similar areas. [Example]() --> ## Inactivity <!--TODO: project leads to fill in exact details for how you measure inactivity for your project--> It is important for contributors to be and stay active to set an example and show committment to the project. Inactivity is harmful to the project as it may lead to unexpected delays, contributor attrition, and a lost of trust in the project. * Inactivity is measured by: * Periods of no contributions for longer than [TODO: Number] months * Periods of no communication for longer than [TODO: Number] months * Consequences of being inactive include: * Involuntary removal or demotion * Being asked to move to Emeritus status ## Involuntary Removal or Demotion Involuntary removal/demotion of a contributor happens when responsibilites and requirements aren't being met. This may include repeated pattern of inactivity, extended period of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the Code of Conduct. This process is important because it protects the community and its deliverables while also opens up opportunities for new contributors to step in. <!-- TODO: replace with your method of removing/demoting contributors. If you have a formal governance structure, this would be a good place to assign this to your governance, such as a Steering Committee. Again, the example below is for a project without formal governance except the maintainers.--> Involuntary removal or demotion is handled through a vote by a majority of the current Maintainers. ## Stepping Down/Emeritus Process If and when contributors' committment levels change, contributors can consider stepping down (moving down the contributor ladder) vs moving to emeritus status (completely stepping away from the project). Contact the Maintainers about changing to Emeritus status, or reducing your contributor level. ## Contact * For inquiries, please reach out to: * <!-- TODO: fill in contact info for appropriate group or person for contributor mentorship-->

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully