How to contribute Open Source Communities
Tags: opensource, aws, kubernetes, developer
Published: 2023-12-17 10:49:20

After a 3-days trip to India to give a talk about eBPF's impact on Open-Source 5G applications, I am still processing the amazing experience and outstanding people I met during this trip. (For more information about the talk, please refer to this link: https://sched.co/1T73i).

One particular moment of the event, though, caught my attention. One of the event organizers called for a "1st-time-ever casual meetup on how to contribute to Open Source CNCF Community". This was my second ever Kubeday event, and I found this meetup as an opportunity to know other people who want to contribute (anyway they can) with our amazing CNCF community. 

In this blog, I want to share the different ways you can contribute to CNCF community as a developer and non-developer and what I am doing to contribute the community as Solution Architect/Developer.

During one of the keynotes of KubeyDay India 2023, Daniel Krook *(@DanielKrook) talked about the different ways we can contribute to CNCF community. I will list them as below:

1. **Contribute Mentorship Programs**
  - https://contribute.cncf.io/about/mentoring/
  - Kubernetes Shadow Programs
2. **Cloud Native Community Groups**
  - https://community.cncf.io/
  - How to organize a Community Group 
3. **Kubernetes Community Days (KCD)**
  - https://www.cncf.io/kcds/
  - How to organize a KCD
4. **KubeCon + KubeNativeCon & KubeDays**
  - https://events.linuxfoundation.org/
5. **CNCF End User program**
  - https://www.cncf.io/enduser/
6. **Cloud Native Glossary** 
  - glossary.cncf.io

## 1. Contribute Mentorship Programs ##

Contribute Mentorship Programs' main goal is to encourage the understanding and adoption of cloud native computing.

The following mentorship initiatives are recommended ones:

- LFX Mentorship (ex-CommunityBridge)
- Google Summer of Code
- Google Season of Docs
- Outreachy

Have a look at latest 2023 Google Summer projects here: https://summerofcode.withgoogle.com/programs/2023/projects

## 2. Cloud Native Community Groups ##

CNCF Community Groups are collaborative spaces within the Cloud Native Computing Foundation (CNCF) ecosystem, where individuals and organizations work together on various aspects of cloud-native technologies. These groups focus on specific areas like networking, security, storage, and other key technological domains, fostering innovation and sharing best practices. They serve as platforms for community members to contribute to, discuss, and advance cloud-native projects and standards

Recently I have joined Cloud Native Community Japan. If you want to see some stats about latest KubeCon America 2023, presented by Cloud Native Community Japan organizer - Masaya Aoyama - @amsy810, refer to the following link: https://speakerdeck.com/masayaaoyama/amsy810-cncj1


## 3. Kubernetes Community Days ##

KCDs, or Kubernetes Community Days, are events organized by the community, bringing together enthusiasts and experts from open source and cloud native communities. These gatherings are ideal for learning, collaborating, and networking, providing a dynamic platform for those interested in the latest developments in open source and cloud-native technologies.

How to host a KCD may seem a bit daunting, as even if you have a small event of 100 people, CNCF clearly states that the same amount of detail should still be considered. 

Check the following link to see the steps to host a KCD:
https://github.com/cncf/kubernetes-community-days/issues/new/choose


## 4. KubeCon + KubeNativeCon & KubeDays ##

KubeCon + CloudNativeCon and KubeDays, hosted by CNCF, are pivotal events in the cloud-native ecosystem, showcasing the latest trends and innovations in Kubernetes and related technologies. These events serve as key networking and knowledge-sharing platforms, uniting a diverse range of professionals from developers to industry leaders. They play a crucial role in driving the evolution and adoption of cloud-native technologies globally.


![Kubeday India 2023](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fxwy70og7nhrctu0noe.png)

Recently KubeDays are attracting the interest of many developers and Companies eager to use Open-Source solutions for Real-World applications. KubeDay India 2023 has a record of 1100+ registered attendees! 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfbi5np5jqrtxlqzgl83.png)

## 5. CNCF End User program##

The CNCF End User Community is a unique, vendor-neutral assembly of over 150 organizations that utilize cloud native technologies in developing their products and services. This diverse group of experienced practitioners plays a vital role in powering CNCF's open source ecosystem, which is driven by end users. Their real-world production experiences and insights are instrumental in guiding and accelerating the growth of cloud native projects. Joining this community offers an opportunity to be part of a collective that shapes the future of cloud native technologies.

## 6. Cloud Native Glossary##

The CNCF Cloud Native Glossary is designed to demystify the often complex world of cloud native technology, making it more accessible not just for tech experts but also for business professionals. By emphasizing clear, straightforward language devoid of jargon, and providing relatable examples, the Glossary simplifies understanding for anyone interacting with technology, while omitting superfluous details. This initiative, spearheaded by the CNCF Business Value Subcommittee (BVS), serves as a valuable resource for sharing knowledge across diverse audiences in the cloud native community.

Contributions are as simple as edit the website: https://glossary.cncf.io/ or submit an issue


## Bonus track ##

If you are a developer and want to know where to contribute, please refer to the following URL:

- https://www.cncf.io/sandbox-projects/ 

Sandbox-projects are the best candidates to start submitting an issue or merge request. Do not hesitate to try it out, even Readme update will help the long-term goal, which is provide knowledge to everyone.


## Author experience contributing Open-Source ##

My personal experience contributing Open-Source communities started as submitting issue tickets on GitHub for a project I have cloned and wanted to test in my environment.

Basic tools you need to have:

- A Github account
- A selected Open-Source project you want to contribute or just look into (https://github.com/topics/good-first-issue)
- Basic knowledge on how to clone/fork projects, push commits and merge requests.

This video can summarize in 3:17 minutes what you, as developer or curious, can do to contribute: https://www.youtube.com/watch?v=CML6vfKjQss

I hope this short blog entry help anyone who wants to start contributing Open-Source communities and look for cool use cases with #AWS or other HPC solution.

Happy Learning :)