Skip to content

Commit 27f51af

Browse files
authored
pages: Improve docs about gsoc and contribution guides (#207)
1 parent 8652606 commit 27f51af

File tree

2 files changed

+124
-73
lines changed

2 files changed

+124
-73
lines changed
Lines changed: 71 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,103 +1,101 @@
1-
---
2-
title: "GSoC Contributor Guide"
3-
description: "GSoC Contributor Guide"
4-
date: "2025-02-01"
5-
authors: ["OSL Team"]
6-
template: single-sidebar.html
7-
---
8-
91
# Google Summer of Code (GSoC) Contributor Guide
102

11-
This comprehensive document is your gateway to engaging with a network of
12-
professionals and peers dedicated to the advancement of open science and open
13-
source. Whether you're considering applying to GSoC with Open Science Labs or if
14-
you've already been accepted, this guide is designed to facilitate a smooth
15-
transition into our collaborative environment.
3+
This guide is intended for both prospective and accepted candidates of the GSoC
4+
program with Open Science Labs. It provides detailed, objective instructions to
5+
help navigate the application process, engage with mentors, and succeed during
6+
the program period. The guide covers project selection, initial contributions,
7+
proposal development, and expectations for approved contributors.
8+
9+
## Candidates' Guide
1610

17-
You'll find detailed instructions on how to apply, connect with
18-
sub-organizations/projects, and make the most of your GSoC period once you're on
19-
board. It's a chance to contribute to a global movement and develop skills that
20-
will serve you throughout your career. Let's embark on this exciting journey
21-
together.
11+
This section outlines the steps candidates should follow to apply effectively.
2212

23-
## Part I: Contributor Candidates
13+
### How to Apply
2414

25-
This part of the guide is tailored to assist you in navigating the application
26-
process seamlessly. It provides insights on how to identify and select a project
27-
that resonates with your passion, how to engage with mentors proactively, and
28-
how to make preliminary contributions that will set you apart.
15+
#### Selecting a Sub-Organization/Project
2916

30-
### 1. How to Apply
17+
Candidates should begin by reviewing the list of available sub-organizations
18+
under Open Science Labs and their projects. It is important to choose a project
19+
that aligns with individual interests and skills.
3120

32-
#### 1.1. Choosing a Sub-Organization/Project
21+
#### Initiating Contact with Projects and Mentors
3322

34-
Begin by exploring the list of available sub-organizations under the Open
35-
Science Labs organization and their projects. Look for one that aligns with your
36-
interests and skills.
23+
Candidates are advised to contact project mentors using the recommended
24+
communication platform (discord, slack, email, etc). A brief introduction,
25+
expression of interest, and any initial questions about the project or mentoring
26+
process should be included. Each project or sub-organizations should specify the
27+
recommended platform for all the communications with candidates.
3728

38-
#### 1.2. Initiating Contact with Projects and Mentors
29+
#### Making an Initial Contribution
3930

40-
Reach out to the project mentors via the contact information provided. Introduce
41-
yourself, express your interest, share your CV, and ask any initial questions
42-
you may have about the project or the mentoring process.
31+
Demonstrating commitment early on is valuable. Candidates are encouraged to
32+
contribute a small but meaningful improvement—such as fixing a minor bug or
33+
implementing small features suggested by the mentor.
4334

44-
#### 1.3. Making a Small Contribution
35+
#### Crafting a Proposal with Mentor Support
4536

46-
Demonstrate your commitment by making a small contribution to the project. This
47-
could be fixing a minor bug, improving documentation, or any other task as
48-
suggested by the mentor.
37+
Under mentor guidance, candidates should develop a detailed proposal that
38+
outlines:
4939

50-
#### 1.4. Crafting a Proposal with Mentor Support
40+
- **Milestones and Timeline:** Specific tasks and expected outcomes within the
41+
program period.
42+
- **Contribution Impact:** How the work will further the project’s goals.
43+
- **Language and Style:** Clear, informative, and objective language; concise
44+
and focused content without unnecessary filler or marketing-style phrasing.
5145

52-
With your mentor's guidance, develop a detailed proposal outlining what you aim
53-
to achieve during the GSoC period. This should include specific milestones, a
54-
timeline, and how your work will contribute to the project's goals.
46+
Candidates should also ensure that proposals do not exhibit signs of complete AI
47+
generation, such as excessive buzzwords or generic phrasing. While AI tools may
48+
be used to enhance clarity, the proposal must reflect the candidate’s own work.
5549

56-
Please, follow the template provided
50+
It is essential to review the
51+
[contributor rules](https://summerofcode.withgoogle.com/rules) for the program
52+
and follow the proposal template provided
5753
[here](/opportunities/gsoc/templates/contributor-proposal).
5854

59-
**Note on Mentor Evaluation**: Mentors will assess if candidates possess the
60-
basic requirements to contribute effectively to the project. Transparent
61-
feedback will be provided, allowing candidates to shift to another project if
62-
necessary to ensure a suitable fit.
55+
## Review Process
56+
57+
Mentors will evaluate proposals to determine if candidates meet the fundamental
58+
requirements for effective contribution. Transparent feedback will be provided,
59+
and candidates may be guided to consider alternative projects if a better fit is
60+
identified. When a proposal is ready for review, candidates should send a direct
61+
message to the mentors via the recommended communication channel (e.g., Discord,
62+
Slack, or email). For all other communications, public channels are preferred.
63+
Candidates should remain patient as mentors manage a high volume of messages,
64+
issues, pull requests, and reviews.
6365

64-
## Part II: Approved Contributors
66+
## Approved Contributors
6567

66-
This part of the guide will serve as a roadmap to your success in the GSoC with
67-
Open Science Labs. It outlines the expectations for your collaboration with
68-
mentors, the importance of communication, and the coding standards you should
69-
follow. You will find tips on how to maintain an effective workflow, stay
70-
proactive, and ensure that your contribution leaves a lasting impact.
68+
For accepted candidates, the following guidelines serve as a roadmap for
69+
successful collaboration during the GSoC program with Open Science Labs.
7170

7271
### Effective Workflow and Proactivity
7372

74-
Once accepted, establish a regular workflow with your mentor. Be proactive: seek
75-
out tasks, ask questions, and push beyond the basics. Set up frequent check-ins
76-
and be clear about what you aim to accomplish each week.
73+
- **Establish a Regular Workflow:** Work closely with your mentor to set clear
74+
weekly objectives.
75+
- **Proactive Engagement:** Actively seek tasks, ask clarifying questions, and
76+
schedule regular check-ins to monitor progress.
7777

7878
### Communication Best Practices
7979

80-
Clear and timely communication is essential. Keep your mentor updated on your
81-
progress, challenges, and any assistance you may require. Use the communication
82-
tools preferred by the project for all discussions.
80+
- **Timely Updates:** Keep mentors informed about progress, challenges, and any
81+
required assistance.
82+
- **Use Designated Channels:** Communicate via the project’s preferred platforms
83+
to ensure transparency and prompt feedback.
8384

8485
### Programming Best Practices
8586

86-
Adhere to the programming standards and best practices recommended by your
87-
mentor and the project. Write clean, well-documented, and maintainable code. Be
88-
open to code reviews and feedback, as they are learning opportunities.
87+
- **Adherence to Standards:** Follow the coding standards and best practices
88+
outlined by your mentor and project guidelines.
89+
- **Maintainable Code:** Write clean, well-documented, and maintainable code.
90+
- **Constructive Feedback:** Embrace code reviews as opportunities to learn and
91+
improve your technical skills.
8992

90-
By following these guidelines, both candidates and approved contributors can
91-
maximize their growth, contributions, and overall experience within the GSoC
92-
with Open Science Labs.
93+
## Proposal Resources
9394

94-
## Resources for writing the proposal
95-
96-
Applicants should consult the
97-
[GSoC Student Guide](https://google.github.io/gsocguides/student/) for more
98-
details on how to apply and tips on crafting their proposals. Additional
99-
recommendations can be found
100-
[here](https://developers.google.com/open-source/gsoc/help/student-advice).
101-
102-
For further guidance, our suggested proposal template offers valuable insights
103-
and can be accessed [here](/opportunities/gsoc/templates/contributor-proposal).
95+
Candidates are encouraged to consult the
96+
[GSoC Student Guide](https://google.github.io/gsocguides/student/) for
97+
comprehensive details on the application process and proposal preparation.
98+
Additional recommendations can be found
99+
[here](https://developers.google.com/open-source/gsoc/help/student-advice). For
100+
further guidance, refer to the suggested proposal template available
101+
[here](/opportunities/gsoc/templates/contributor-proposal).
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Contributors Guidelines
2+
3+
These recommendations are general guidelines from Open Science Labs. Each
4+
project may have its own specific set of recommendations and rules; contributors
5+
should review those for each project.
6+
7+
## Community Engagement
8+
9+
- **Communication Platforms:** Each project may use its preferred communication
10+
platform for discussions, such as code repository platforms (GitHub, GitLab,
11+
etc.) or chat-based platforms (Discord, Slack, etc.). Contributors should
12+
verify with the community and mentors which platform is recommended for
13+
seeking assistance, discussing ideas, and requesting reviews.
14+
15+
- **Collaboration and Support:** Contributors are encouraged to assist others
16+
when possible, as everyone is here to learn and support one another.
17+
18+
- **Respect and Inclusivity:** Contributors should communicate with kindness and
19+
respect, particularly when interacting with beginners or colleagues for whom
20+
English may not be their first language. Instead of engaging in arguments,
21+
they should offer constructive feedback and encouragement to help others
22+
improve both their language and technical skills.
23+
24+
- **Channel Usage:** If the primary discussion channel is not the code
25+
repository platform, contributors should use the designated platform to draw
26+
attention to pull requests or issues. Initiating a discussion there prior to
27+
opening issues or pull requests is also expected.
28+
29+
## Contributions
30+
31+
- **Task Coordination:** Contributors should avoid duplicating work by verifying
32+
whether someone else is already addressing a task or if the task remains
33+
relevant before beginning work.
34+
35+
- **Managing Stale Contributions:** Project maintainers may implement mechanisms
36+
to label and close stale issues and pull requests. Some contributors open pull
37+
requests without following up or addressing review recommendations, which can
38+
impede progress.
39+
40+
- **Code Quality:** Contributors must ensure that `pre-commit` is applied in
41+
their branch before opening a pull request. Additionally, they should adhere
42+
to coding best practices, such as avoiding excessive nesting blocks, following
43+
SOLID principles, and refraining from assigning different types to the same
44+
variable. It is important to consult the project's specific coding guidelines
45+
for additional best practices.
46+
47+
- **Branch Management:** When updating a branch, contributors should follow the
48+
project's preferred approach, whether that involves using a **rebase** or a
49+
**merge commit**.
50+
51+
- **Commenting Practices:** Excessive or unnecessary comments should be avoided,
52+
as well the use of emojis in comments, as they may suggest that the content
53+
was generated entirely by an AI.

0 commit comments

Comments
 (0)