# Google Summer of Code 2023 ideas at Knative

Knative community is participating in [Google Summer of Code](https://summerofcode.withgoogle.com/) (GSOC) program, part of the Cloud Native Computing Foundation (CNCF).

As CNCF is driving the participation, Knative community is following their guidelines for the program in general. Please check [CNCF mentoring repository](https://github.com/cncf/mentoring) for up-to-date information.

List of ideas for 2023 is in CNCF ideas document: [https://github.com/cncf/mentoring/blob/main/summerofcode/2023.md#knative](https://github.com/cncf/mentoring/blob/main/summerofcode/2023.md#knative) 

## Contributors

If you are a contributor looking forward to participating in the GSoC 2023 with the Knative community, feel free to
browse the growing idea list at the CNCF [ideas page](https://github.com/cncf/mentoring/blob/main/summerofcode/2023.md#knative).

What should I do before to get accepted:

* Check out the program [website](https://summerofcode.withgoogle.com/).
* Understand how the program [works](https://summerofcode.withgoogle.com/how-it-works).
* Read the [contributor guide](https://google.github.io/gsocguides/student/) of the program.
* Make sure you are [eligible](https://summerofcode.withgoogle.com/terms/contributor) to participate in the program.
* Try Knative by going through the [getting started](https://knative.dev/docs/getting-started/) page.
* Interact with the community using the [communication channels](#communication).
* Browse the [idea list](https://github.com/cncf/mentoring/blob/main/summerofcode/2023.md#knative). The earlier, the better.
* Check out the Knative community [website](https://knative.dev/docs/community/).

Tips:

* Ask for help if you need assistance. The community will select the contributors who are not only good technically.
  The community expects the contributors to have interaction.
* The preferred way of asking for assistance is using the [communication channels](#communication). In specific cases,
  you can privately contact the mentor if you feel uncomfortable about the public communication.
* Start exploring early!
* Have good interaction, so that the community recognizes your name! Start by introducing yourself to the community.
* Be polite!
* Help others! Help like-minded potential contributors in the public channels.
* Check out the projects from [previous years](https://summerofcode.withgoogle.com/archive).


## Mentors

Any Knative community member can submit ideas and volunteer to mentor contributors. However, Google gives a limited number of
slots, so, the community will have to select the best idea+contributor+mentor combination.

What should I do in the application period?

* First of all, make sure you are aware of the expectations from you (see below).
* Check out the program [website](https://summerofcode.withgoogle.com/).
* Understand how the program [works](https://summerofcode.withgoogle.com/how-it-works).
* Read the [mentor guide](https://google.github.io/gsocguides/mentor/) of the program.
* Add your idea to the [idea list](https://github.com/cncf/mentoring/blob/main/summerofcode/2023.md#knative). The earlier, the better.

Expectations from mentors:

* Make sure you have the capacity to mentor a contributor. It is not the entire Knative community mentoring a
  contributor; it is YOU mentoring the contributor. This depends on the complexity of the project and the technical
  knowledge of the contributor, but expect to spend 4 hours a week as a general rule.
* Help the contributor to not only finish their projects but also teach about matters that are part of an open source
  community such as how project governance is, how communication in the community works and similar.
* Read the [mentor guide](https://google.github.io/gsocguides/mentor/) of the program.
* Do NOT share any private information about the contributor candidates publicly, such as if you would like to mentor a
  specific candidate or if you think the candidate is not good enough for the program. Reach out to the administrators for
  that.

Tips:

* Be polite and understanding! Not everyone has your knowledge of the technology we are working on at Knative community.
* Be professional! Don't forget that the contributors could be part of the community one day.
* Send a link to this page to the contributors when you think they can benefit from the tips written here.

## Communication

Contributors are welcome to participate in any talks and discussions in the Knative community channels.

* Knative users group: https://groups.google.com/g/knative-users
    * Preferred communication channel. Introduce yourself here as a candidate contributor.
* Slack: https://slack.cncf.io/ Explore the channels yourselves, however, make sure you're checking these:
    * [`#knative-serving`](https://cloud-native.slack.com/archives/C04LMU0AX60): Knative Serving related discussions
    * [`#knative-eventing`](https://cloud-native.slack.com/archives/C04LMU33V1S): Knative Eventing related discussions
    * [`#knative-functions`](https://cloud-native.slack.com/archives/C04LKEZUXEE): Knative Functions related discussions
    * We don't have a specific GSoC channel. Feel free to post questions to relevant channels instead.
    * Check out the [Slack guidelines](https://github.com/knative/community/blob/main/SLACK-GUIDELINES.md).