Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 7.09 KB

contributor_guide.md

File metadata and controls

59 lines (44 loc) · 7.09 KB

Contributor Guide

Welcome, and we are glad you are interested in contributing to one of our projects as part of the Google Summer of Code! We are excited as well to be participating in this program and looking forward to working with you during this program!

This year, we are accepting proposals for two projects:

  • Slips: a free software behavioral Python intrusion prevention system (IDS/IPS) that uses machine learning to detect malicious behaviors in the network traffic. [List of Ideas] [GitHub]
  • AI VPN: A Free-Software AI-Powered Network Forensics Tool [List of Ideas] [GitHub]

What We Expect From You

We are a team of researchers with very diverse backgrounds and from different places. We work doing what we love, and we want to work with people that feel the same way.

What are our expectations?

  • We expect you to have a willingness to learn what it takes to get to the end of the program with successful results, whether is learning to code better, new technologies, or to communicate better.
  • We expect you to get motivated by the projects, to think about them, and how you would like to contribute to making them better.
  • We expect you to embark on the Google Summer of Code as a way to push your skills forward and as a way to give back to the community.

GSoC Timeline

The timeline of the projects will always follow the official timeline listed on the GSoC website.

Application Process

These are our guidelines for how the application process works:

  1. If this is your first time applying for Google Summer of Code, we recommend you read through the official Student Contribution Guide from Google, which is filled with very useful advice.
  2. Check the project repositories and learn more about what their aim is. Browse through the codebase to familiarize yourself a bit with the structure and technologies involved in the code.
  3. Read through the list of [List of Ideas] to see if anything listed matches your interests as a potential application.
  4. Discuss the ideas with the mentor(s) on Discord (see Communication section). If the idea is not listed, discuss it and see if it can be acceptable to your mentors. We welcome innovative proposals that require three months of dedicated implementation. Should you have such a concept, we are eager to consider its potential.
  5. Before being selected, all applicants must contribute to the selected project by working on open issues and opening a Pull Request (PR) with your contributions. These contributions are outside GSoC, but they give us an important chance to get to know you and for you to get to know us. We also want to show you that your code contributions won't be ignored, and they will be part of the codebase of our projects. Contributing to these open issues is an excellent way for us to show you our commitment. Some projects have a list of 'beginner' issues to solve, check them in Github Issues.
  6. We ask all applicants to send an application to us (see Application Template section) before submitting it officially so we can give you feedback and suggestions, increasing your chances of getting accepted later. This is also an excellent way to have a small interaction with us and a getting to know each other a little before going through with the applications.
  7. Before applying officially, check with yourself that:
    1. You are committing to working with us for the duration of the project (12 weeks or 22 weeks, depending on the size of the project).
    2. You are committing to working 4 hours a day (for 12-week projects) or 6 hours a day (for 22-week projects).
    3. You are committing to communicating your progress to the team weekly in a video call that may involve other GSoC participants.
    4. You are committing to timely filling the reports required for the two evaluations required by Google as part of GSoC.
    5. You are committing to tell your mentors before you commit to work if you have exams, planned holidays, or if there are any particular circumstances that may affect your work so that your mentors take it into consideration when planning the milestones.
  8. The last step is filling out the official application form, always following Google's guidelines for this step.

Evaluation Criteria

We want to be transparent in our evaluation criteria, so we summarised the key points that are affecting the ranking of applications below. Remember! The early bird gets the worm! The earlier you send us your proposal, the better. We want to give you feedback and give you an opportunity to include this feedback before officially sending the application to Google.

  • Successful applications will demonstrate a clear and precise identification of the project and the specific idea the applicant intends to work on.
  • Successful applications will include a detailed plan for implementing the proposed idea. This will include a breakdown of the idea into smaller, manageable tasks, along with specific technologies that will be used in each stage.
  • Successful applications will include a list of initial milestones for the work plan. While we will help you adjust and fine-tune the plan upon your acceptance, it is essential for us to understand your approach to task estimation and timeline planning at this stage. This helps us learn how much thought you have put into the project idea.
  • Successful applicants will include their past experiences related to the application, project, and proposed idea or related to the technologies used in the application.
  • Successful applicants will include and show their skills and experience by including links to any side projects you have worked on.
  • Successful applicants are required to include a list of their contributed Pull Requests (PRs) related to the selected projects (Slips or AI VPN) in GitHub as part of their application submission.

Application Template

You must fill the application form before you send it to Google so we can send you feedback on how to improve. Here is the application link.

The sooner you send us the application, the more chances to be selected, since we need to pick one student per idea proposal.

Communication

Effective communication is critical for working with our team, particularly in the context of remote collaboration. We are looking for individuals who are proactive in sharing ideas, updates on their progress, and any challenges they encounter.

We strive to foster an environment where team members feel comfortable seeking assistance and support, where everyone's contributions are valued, and communication is seamless.

Throughout the duration of the GSoC Program, we will have weekly meetings with all collaborators to share the progress, check on problems and blockers, and discuss ideas.

Join us on Discord, where you can find a specific channel for the projects, Slips and AI VPN.