From 680f92242fd1ec2715a48387c81e7ed2c56a629b Mon Sep 17 00:00:00 2001
From: Rajesh-Nagarajan-11
+
+
+
+
+
+
+
+
+
+
+ Contributor's Journey
+ Start Here
+
+
About Layer5
+
+
+At Layer5, we champion developer-defined infrastructure, giving engineers the power to reshape application delivery. We empower operators in reimagining how they manage modern infrastructure: collaboratively.
+
+Layer5 is not just a company, we are also:
+
+#### Community First
+
+The Layer5 community builds projects to provide learning environments, deployment, and operational best practices, performance benchmarks, create documentation, share networking opportunities, and more. Our shared commitment to the open-source spirit pushes Layer5 projects forward. New members are always welcome.
+
+#### Open Source First
+
+All Layer5 projects are open-source. Anyone can download, use, work on, and share it with others. It's built on principles like collaboration, globalism, and innovation. Layer5 projects are distributed under the terms of Apache v2.
+
+
+ Goals
+
+
+- To build a large collection of cloud native technologies.
+- To build products that are accessible and easy to use.
+- To build a welcoming community for open-source contributions.
+
+
+ Newcomer's Path
+
+
+Thank you for your interest in contributing to Layer5 open source initiatives!
+
+How to contribute?
+
+
+The following steps outline the process by which you can openly engage, learn, and participate in the broad set of open source projects at Layer5.
+
+1. Browse the list of Layer5 org issues bearing the "good first issue", "first-timers-only" or the "help wanted" label.
+
+2. Alternatively, find an area of interest by checking out the Layer5 Repository Overview section of this handbook.
+
+3. After identifying the issue you wish to work on, check if it has been assigned by taking a look at the assignee section on the issue, otherwise signal your interest by commenting on the issue so that it can be assigned to you.
+
+
+ Working on your issue
+
+
+Once an issue has been assigned to you, it's time to get started!
+
+1. Be sure to sign off on your commits
+
+2. Contributions of all sizes are welcome.
+
+3. If you need some additional help, please join the Layer5 Slack workspace and find your way to the #newcomers channel. Feel free to ask questions.
+
+
+ While your issue is under review
+
+
+1. Please double-check that you have signed off on all of your git commits.
+
+2. Be patient. There are a large number of contributors and only a small number of maintainers/reviewers. All contributors are equally important to us, and we'll be sure to get to you as soon as possible. In the meanwhile, you are welcome to join our Slack workspace and take a look at all our projects.
+
+Community Code of Conduct
+
+Layer5 follows the CNCF Code of Conduct which states that:
+
+As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, to post feature requests, to update documentation, to submit pull requests or patches, and other activities.
+
+We are committed to participating in this project as a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity, and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
+
+Examples of unacceptable behavior by participants include:
+
+The use of sexualized language or imagery
Personal attacks
Trolling or insulting/derogatory comments
Public or private harassment
Publishing other's private information, such as physical or electronic addresses, without explicit permission
Other unethical or unprofessional conduct
Layer5 community leaders undertake different roles
+
+
+A leader is someone who can contribute to the Layer5 Community's growth by faithfully upholding one of the responsibilities outlined in the roles below.
+
+### Community Manager
+
+Layer5 Community Managers generally oversee community activities and support ongoing initiatives. They are responsible for the health and growth of the community. Community Managers cultivate an environment which attracts new community members by ensuring that timely and completed responses are provided to questions asked. Community Managers work to ensure that existing community members are retained by helping those members stay engaged in projects on an ongoing basis. Aspects of marketing including member and project promotion as well as aspects of project management by organizing meetings and triaging issues are under the purview of Community Managers.
+
+A Community Manager is a person who has an innate drive to contribute to the community's prosperity. A community manager serves as a link between the organisation and its community, overcoming obstacles as they arise—or even before they arise!—by collaborating with other departments and the community to find solutions that benefit the entire community.
+
+**Role:**
+
+1. Moderating, engaging, and supporting community members on platforms like Slack, GitHub etc.
+2. Building healthy relationships among community members.
+3. Celebrating community successes, sending swag, and recognizing top contributors.
+4. Regularly updating the community on the metrics performance.
+5. Creating and managing new community programs.
+6. Organizing meetups, events, and other engagements.
+7. Coordinating with other departments—such as product, engineering, and content marketing—to support community initiatives.
+
+**Responsibilities of Community Managers**
+
+The responsibilities of a Community Manager involves building, stewarding, and organizing the Layer5 Community.
+
+#### Daily:
+1. Issue Triage on GitHub (Issue squatters)
+ - Make use of `issue/remind` and `issue/dco`.
+ - Issue squatters are to be politely, but briskly brushed aside
+ - Remove assignment if not response from the assignee.
+ - Search Link: All Open Issues Across Layer5 Orgs (Sorted by Oldest First)
+
+#### Weekly:
+2. Assess as a candidate for GitHub org invitation.
+ - Make use of `issue/invite` (on issues only, not PRs).
+3. Assess as a candidate for community member profile.
+ - See sample message.
+4. Weekly evaluation and nomination of community members for the next step in the contributor ladder.
+5. Review Community Members spreadsheet. Identify members that need extra attention.
+
+#### Monthly:
+- Assess each community member profile for transition to inactive. Use a period of two months of inactivity as the metric.
+- Monthly evaluation of Social sharing and SEO tracker.
+- Monthly evaluation of DevStats
+- Every week on Thursday at 8:30 pm | 10:00 am CT - meeting and minutes.
+- Event management (Workshops, Webinars, Conferences, CFPs)
+- Reset the Slack invitation on slack.layer5.io and slack.meshery.io monthly.
+
+
+ MeshMate
+
+
+**Role**
+
+**Layer5 MeshMates** is a community member onboarding and mentoring program. Layer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and in helping community members grow in their open source and cloud native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible.
+
+The role of the **Community Manager** and the **MeshMate** are intertwined. It is not uncommon for an individual to be both a Community Manager and a MeshMate. The role of a Community Manager involves stewarding, building, and organizing the Layer5 Community.
+
+Layer5 MeshMates are committed to helping community members be successful contributors. MeshMates aid in identifying areas of projects to engage within, working groups to join, and helping community members grow in their open-source and cloud-native knowledge. By connecting one-on-one, MeshMates will share tips on how to have the best community experience possible.
+
+- Increasing awareness of the community to others
+- Helping newbies in the community get familiar with all of the projects
+- Providing necessary resources to contributors
+- Mentoring members of the community
+- Facilitate newcomers call
+
+
+ Maintainer
+
+
+Roles/Responsibilities:
+
+Maintainers are those who are responsible for managing the growth and performance of the project. They are incharge of the project's wellbeing, reviewing and merging the PR, updating the libraries and dependencies in that project, monitoring the codebase and so much more.
+
+- Send a reminder about meetings
+- Prepare meetings
+- Lead meetings
+- Make sure meeting minutes are kept
+- Facilitate the creation and advancement of metrics/software
+- Answer questions about the progress of Layer5 projects
+- Report on weekly community call progress on a project
+- Review issues on the repository
+- Review and merge pull requests
+- Regularly check the repository for stale content
+- Monitor issue tracker and pull requests
+
+**Checklist before becoming a Maintainer**
+
+Release Manager Role
+
+
+Roles/Responsibilities:
+The role of release manager for a release lasts a total of about 6 months. This is divided up among activities before the initial release comes out and activities after the initial release while the release is within active maintenance. The majority of the time is spent in the month before the first release. After that, there is 6 months of time during which point releases come out on approximately a 3 week cycle. During three of these months, the release manager is working on the latest release. This 6 month time period is divided into two sections. In the first three months, this is the primary release and all fixes get cherry-picked from master here. After 3 months, the next release of the Meshery project comes out and there are three more months of support before this release goes to the end of life.
+
+#### Before Release
+- Cutting branches -- 8 to 16 hours divided between all release managers.
+- Testing days -- 8 to 16 hours divided between all release managers spread over two weeks.
+- Spreadsheets, Prioritization, Chasing people to get things done
+- Prioritization of issues in step with workgroups
+- Release management meetings -- 45 minutes to 1 hour every week
+- Release notes/upgrade notes for point release -- 1 week
+- Code reviews from docs team as well as workgroup leads
+- Generation of release notes using automated tooling
+- Updating release notes to make them more readable
+- Announcement of release on Twitter/Discuss/Slack
+
+#### Ongoing for all releases
+- Watching for release blockers
+- Code reviews/deciding whether to accept cherry picks -- about an hour per day
+- Minor release every 3 weeks
+- Release notes - 1 hour for a single release manager
+- Creating releases - 8 hours spread across all release managers
+- 48 hour testing
+- Handle vulnerability fix integration in step with product security workgroup
+- Meshery build and release meetings -- one hour per release manager per week
+- End Of Life for release -- 8 hours
+
+#### Qualifications for Release Manager
+- A member of the Layer5 community and active for the last 3 months
+- Approved by a majority vote of current maintainers
+- At least one release manager for each version needs to meet requirements for access info in case of vulnerabilities
+
+### Process for volunteering for release management
+Contact a current maintainer to volunteer or nominate yourself.
+
+
+ GitHub Czar
+
+
+**Role:**
+The **GitHub Czar** is a GitHub-focused role within the Layer5 community responsible for keeping the organization's GitHub repositories well-maintained, active, and contributor-friendly. This role exists as a specialized extension of the Community Manager role and works closely with maintainers and community leaders to support the technical and collaborative health of Layer5's GitHub ecosystem.
+
+GitHub Czars ensure that issues and pull requests are actively triaged, contributors are appropriately engaged, and the repositories reflect up-to-date, community-driven activity.
+
+**Responsibilities:**
+
+Daily / Ongoing:
+- Triage GitHub Issues: Apply labels such as `issue/remind`, `issue/dco`, `good-first-issue`; close outdated or duplicate issues.
+- Monitor Issue Assignees: Gently remind inactive assignees and reclaim issues after ~7–10 days.
+- Review Pull Requests: Perform initial checks and tag reviewers/maintainers.
+- Enforce Contribution Standards: Ensure compliance with DCO, PR templates, and commit guidelines.
+- Bump Off Squatters: Use labels/comments to reclaim blocked or inactive issues.
+
+Weekly:
+- Contributor Engagement: Highlight contributors, recommend org invitations, and thank new contributors.
+- Support Issue Curation: Maintain `help-wanted`, `good-first-issue`, and project boards.
+- Identify Gaps: Escalate repo health concerns like outdated PRs, untested code, etc.
+
+**Checklist before becoming a GitHub Czar**
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Community Guidelines
+
+
+Welcome to the Layer5 community! We're happy to have you here and handhold you for your first contribution. Here are some tips to help you get started:
+
+
+ For Easy Identification - When setting up your slack workspace, your display name should be the same as your GitHub username for easy identification, engage freely, and in whatever form you will: as a listener, user, contributor, maintainer, ambassador, or bystander. Involvement in any way is warmly received.
+
+ Familiarize with the community - As you get to familiarize yourself with the community, know that there are multiple initiatives for you to explore. Some initiatives have working groups that meet at different times each week, while others use the weekly community meeting as their place of discussion. Details of each can be found on the community calendar. Everyone is welcome to join the calls and engage with other community members over Slack, the mailing list, and so on.
+
+ Familiarize with the projects - The following is a sample of the many active, ongoing community projects. One way of doing so is to review the Layer5 Repository Overview section of this handbook to get a better understanding of each project. This document will help you to understand the projects based on their technology domain(s). Be sure to star the community's repositories on GitHub!
+
+ Be friendly and open-minded - We encourage you to be welcoming to new collaborators and those just getting started. Other contributors might not have the same degree of experience or background as you, but that doesn't mean they can't provide useful ideas.
+
+ Be honest - "A half-truth is a whole lie." Being truthful allows you to reach a better agreement. As a result, be open and honest about who you are, what you do, and how you want to accomplish it.
+
+ Be respectful and inclusive - We are a diverse group of people with diverse backgrounds and opinions. We expect everyone to be civil and professional in their activities. Disrespectful behavior is not tolerated. Do not publish anything that would be considered insulting, abusive, or hate speech by a reasonable person.
+
+ Collaborate and Contribute - Members are expected to attend community and workgroup meetings, find ways to help, check up on our Github page regularly etc. Within the community and outside, we encourage teamwork.
+
Resources
+
+ Be sure to access the resources community drive.
+
+ Sign-up on the community mailer.
+
+ Ask for a copy of The Enterprise Path to Service Mesh Architectures.
+
#general - For workspace-wide communication and announcements.
+#meshery - For discussion on topics in and around Meshery.
+#meshery-adapters - Discuss topics related to meshery-adapters.
+#meshery-ci - For discussion on topics related to Meshery Build, Release, Workflows, DevOps.
+#meshery-meshsync - For discussions on issues related to MeshSync.
+#mesheryctl - For discussions on Meshery's CLI
+#newcomers - For welcoming first-time contributors and community newcomers.
+#performance - For discussions related to measuring and evaluating cloud native performance.
+#wasm - For discussions on webassembly, rust, envoy filters.
+#websites - For discussions related to the UI/UX of Layer 5 project sites.
+
+
+
+
+
+ Connect with our community managers for any inquiries or support!
+
+
+
+
+ Subscribe to Layer5 Youtube,
+
+ Subscribe to Meshery Youtube
+
+
+
+ Discover our projects on GitHub
+
+
+
+ Join our professional network on LinkedIn
+
z_@axpb2d)gwr79)w$aIFGA0=`?S7RY
zxn_tQrgJaJ7cN;PC4cjwnNr&}9Ee|eOhGLf5YM?D99qIRB-Of1yW_a;T!vMcZn*$)
z>NUp`o1($)LDUODHI<% FKv&>flfONeZr$H}=uF3Q?Ky_w*D7;t+to!E
zg!9QEk^~Y<_kE5T`%}Dy+($X`Bp|5fh?;7YPt(fc+9$spF&mi1pkzPY_5kd44G
z9B7_x|Mv4zZ-a{SkR-tgTZy*fGzZfyj|C?;dN?w9ueDQ|YZ54fYd@7dye!A%O8HS^
zlO&$!qQ^`^AjfCanu8)Dvm+aNucNZ_1dM`pv9DpvB_Y<#J*!Nt=)hNl&?jh->8Q$?
z$8_6;_1n+Zimza^(b!DvoM;HvQb0PqS~8LBgFx25)zvM}nK!c>72S8Pw7iH5(v9Pf
zIz5XE=M&_w!o<@{ommdCys|{pDFoty;iyp#YKx0_mt+01^jKz<(PEO6EGA&UX{W
zhX4VK=6UGAWALd-GN$_KaZM&xq()&k>%CbDnl_^Zfi;M1&S#MknAi9ovQZDWSH?st!iHXzuLk
z