Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 17 additions & 96 deletions docs/gsoc/contribution-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,124 +16,45 @@ toc_max_heading_level: 2

### Welcome to Google Summer of Code

[Google Summer of Code](https://summerofcode.withgoogle.com/) is a 16 years old program, run every summer, with the intention of bringing more students into open source.
[Google Summer of Code](https://summerofcode.withgoogle.com/) has been running every summer since 2005, with the intention of bringing more students into open source.

Open source projects apply as mentor organizations and if they are accepted, students send proposals to them to work on a few months' long project. Projects can be planned out by the organizations in advance or can be proposed by students.

Google pays the students, not the organizations they work with. Beginning in 2023, Google is opening the program up to all newcomers of open source that are 18 years and older.
Google pays the contributors, not the organizations they work with. Beginning in 2022, Google opened the program to newcomers to open source who are 18 years and older.

You can read more about the format of the program and its goals [here](https://google.github.io/gsocguides/mentor/).

<img src="https://keploy-devrel.s3.us-west-2.amazonaws.com/docs/webp-s3/img/gsoc-banner.webp" width="1920" height="1080" />
<img src="https://keploy-devrel.s3.us-west-2.amazonaws.com/docs/webp-s3/img/gsoc-banner.webp" alt="Keploy Google Summer of Code banner" width="1920" height="1080" />

## Keploy X GSoC

We at Keploy are excited to announce that Keploy is among the first few mentoring organizations from India 🇮🇳 this year! If you are a student looking to participate in GSoC, Keploy offers several projects for you to choose from.
We at Keploy are excited to announce that Keploy is among the mentoring organizations from India 🇮🇳! If you are looking to participate in GSoC, Keploy offers several projects for you to choose from.

Keploy is looking for motivated students who are passionate about open source software and interested in gaining valuable experience in the field. We welcome students from all over the world with diverse backgrounds and skill sets to participate.
Keploy is looking for motivated contributors who are passionate about open source software and interested in gaining valuable experience in the field. We welcome contributors from all over the world with diverse backgrounds and skill sets to participate.

## How to Get Started

To get started with GSoC and Keploy, follow these steps:

1. If you are new to Keploy, try setting up Keploy in your local machine and running one (or more) of the sample applications. You can refer the [docs](#docs).
2. You can then check out the [projects](#projects) that are selected for GSoC 2023 and try completing the tasks in the task list. Remember, the tasks will act as a selection criteria for shortlisting candidates.
2. You can then check out the [projects](#current-gsoc-projects) that are selected for the current GSoC year and try completing the tasks in the task list. Remember, the tasks will act as a selection criteria for shortlisting candidates.
3. You can connect with the mentors over [Slack](https://keploy.io/slack) to clear any of your doubts.
4. Submit your proposal and that's it!

## Projects in GSoC 2023

<table>
<tr>
<td>Project Title</td>
<td>Ideas List</td>
<td>Project Link</td>
</tr>
<tr>
<td>Keploy CLI Refactoring</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#1-keploy-cli-refactoring" alt='Idea List'>Ideas</a></td>
<td ><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/keploy" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg>
</a></td>
</tr>
<tr>
<td>Keploy Java SDK</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#2-keploy-java-sdk" alt="Ideas Lst">Ideas</a></td>
<td><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/java-sdk" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg>
</a></td>
</tr>
<tr>
<td>Keploy Typescript/Javascript SDK</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#3-keploy-typescriptjavascript-sdk" alt="Ideas Lst">Ideas</a></td>
<td><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/typescript-sdk" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg>
</a></td>
</tr>
<tr>
<td>Autogenerate Test Cases</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#3-keploy-typescriptjavascript-sdk" alt="Ideas Lst">Ideas</a></td>
<td><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/keploy/issues/24" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg></a></td>
</tr>
<tr>
<td>eBPF based Keploy Integration</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#5-ebpf-based-keploy-integration" alt="Ideas Lst">Ideas</a></td>
<td><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/keploy" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg></a></td>
</tr>
<tr>
<td>JS or Go based DSL for Keploy</td>
<td><a href="https://github.com/keploy/gsoc/tree/main/2023#6-js-or-go-based-dsl-for-keploy" alt="Ideas Lst">Ideas</a></td>
<td><a style={{display:"flex",justifyContent:"center",alignItems:"center"}} href="https://github.com/keploy/keploy" alt="project link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="24px" height="24px">
<path d="M12 .3c-6.63 0-12 5.37-12 12 0 5.3 3.438 9.8 8.205 11.385.6.11.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61-.546-1.387-1.333-1.758-1.333-1.758-1.09-.746.083-.73.083-.73 1.205.085 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.304 3.495.997.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.385 1.236-3.22-.135-.302-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.874.12 3.176.765.835 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.215 0 1.604-.015 2.894-.015 3.284 0 .315.21.688.825.576 4.77-1.585 8.205-6.086 8.205-11.385 0-6.63-5.37-12-12-12z"/>
</svg></a></td>
</tr>
</table>

<!-- ## Code Contribution Guidelines

When contributing to a Keploy project, please follow these guidelines:

- Fork the repository and create a new branch for your work.
- Write clear and concise commit messages.
- Follow the project's coding style and conventions.
- Write tests for your code and ensure they pass.
- Create a pull request and describe your changes in detail.

## Non-Code Contribution Guidelines

Non-code contributions to a Keploy project are also valuable. Some examples of non-code contributions include:

- Documentation: improving project documentation or writing new documentation.
- Translation: translating project documentation or software into a different language.
- Outreach: helping to promote the project to a wider audience.
- Design: creating logos, icons, or other design elements for the project.

If you are interested in making a non-code contribution to a Keploy project, please reach out to the project mentors to discuss how you can best contribute. -->
## Current GSoC Projects

For the current year's project ideas, visit the [Keploy GSoC repository](https://github.com/keploy/gsoc).

## Timeline

| Important events | Deadline |
| ---------------------------------------------------------------------------------- | ------------------------------- |
| Organization Applications Open | January 23, 2023 |
| Organization Application Deadline | February 7, 2023 |
| Organizations Announced | February 22, 2023 |
| Potential GSoC contributors discuss application ideas with mentoring organizations | February 22 - March 20, 2023 |
| GSoC contributor application period | March 20 - April 4, 2023 |
| Accepted GSoC Contributor projects announced | May 4, 2023 |
| Students work on their Google Summer of Code project | May 4, 2023 - November 17, 2023 |
Google Summer of Code generally follows an annual schedule:

- **January – February**: Organization applications open and mentoring organizations are announced.
- **March**: Contributor applications open.
- **April – May**: Results and accepted projects are announced.
- **May – August**: Coding takes place over the summer.

For the exact dates and deadlines for the current year, check the official [Google Summer of Code Timeline](https://developers.google.com/open-source/gsoc/timeline).

## Conclusion

Expand Down
Loading
Loading