diff --git a/pages/opportunities/gsoc/guides/contributor/index.md b/pages/opportunities/gsoc/guides/contributor/index.md index 47532beb..e9031cd7 100644 --- a/pages/opportunities/gsoc/guides/contributor/index.md +++ b/pages/opportunities/gsoc/guides/contributor/index.md @@ -1,103 +1,101 @@ ---- -title: "GSoC Contributor Guide" -description: "GSoC Contributor Guide" -date: "2025-02-01" -authors: ["OSL Team"] -template: single-sidebar.html ---- - # Google Summer of Code (GSoC) Contributor Guide -This comprehensive document is your gateway to engaging with a network of -professionals and peers dedicated to the advancement of open science and open -source. Whether you're considering applying to GSoC with Open Science Labs or if -you've already been accepted, this guide is designed to facilitate a smooth -transition into our collaborative environment. +This guide is intended for both prospective and accepted candidates of the GSoC +program with Open Science Labs. It provides detailed, objective instructions to +help navigate the application process, engage with mentors, and succeed during +the program period. The guide covers project selection, initial contributions, +proposal development, and expectations for approved contributors. + +## Candidates' Guide -You'll find detailed instructions on how to apply, connect with -sub-organizations/projects, and make the most of your GSoC period once you're on -board. It's a chance to contribute to a global movement and develop skills that -will serve you throughout your career. Let's embark on this exciting journey -together. +This section outlines the steps candidates should follow to apply effectively. -## Part I: Contributor Candidates +### How to Apply -This part of the guide is tailored to assist you in navigating the application -process seamlessly. It provides insights on how to identify and select a project -that resonates with your passion, how to engage with mentors proactively, and -how to make preliminary contributions that will set you apart. +#### Selecting a Sub-Organization/Project -### 1. How to Apply +Candidates should begin by reviewing the list of available sub-organizations +under Open Science Labs and their projects. It is important to choose a project +that aligns with individual interests and skills. -#### 1.1. Choosing a Sub-Organization/Project +#### Initiating Contact with Projects and Mentors -Begin by exploring the list of available sub-organizations under the Open -Science Labs organization and their projects. Look for one that aligns with your -interests and skills. +Candidates are advised to contact project mentors using the recommended +communication platform (discord, slack, email, etc). A brief introduction, +expression of interest, and any initial questions about the project or mentoring +process should be included. Each project or sub-organizations should specify the +recommended platform for all the communications with candidates. -#### 1.2. Initiating Contact with Projects and Mentors +#### Making an Initial Contribution -Reach out to the project mentors via the contact information provided. Introduce -yourself, express your interest, share your CV, and ask any initial questions -you may have about the project or the mentoring process. +Demonstrating commitment early on is valuable. Candidates are encouraged to +contribute a small but meaningful improvement—such as fixing a minor bug or +implementing small features suggested by the mentor. -#### 1.3. Making a Small Contribution +#### Crafting a Proposal with Mentor Support -Demonstrate your commitment by making a small contribution to the project. This -could be fixing a minor bug, improving documentation, or any other task as -suggested by the mentor. +Under mentor guidance, candidates should develop a detailed proposal that +outlines: -#### 1.4. Crafting a Proposal with Mentor Support +- **Milestones and Timeline:** Specific tasks and expected outcomes within the + program period. +- **Contribution Impact:** How the work will further the project’s goals. +- **Language and Style:** Clear, informative, and objective language; concise + and focused content without unnecessary filler or marketing-style phrasing. -With your mentor's guidance, develop a detailed proposal outlining what you aim -to achieve during the GSoC period. This should include specific milestones, a -timeline, and how your work will contribute to the project's goals. +Candidates should also ensure that proposals do not exhibit signs of complete AI +generation, such as excessive buzzwords or generic phrasing. While AI tools may +be used to enhance clarity, the proposal must reflect the candidate’s own work. -Please, follow the template provided +It is essential to review the +[contributor rules](https://summerofcode.withgoogle.com/rules) for the program +and follow the proposal template provided [here](/opportunities/gsoc/templates/contributor-proposal). -**Note on Mentor Evaluation**: Mentors will assess if candidates possess the -basic requirements to contribute effectively to the project. Transparent -feedback will be provided, allowing candidates to shift to another project if -necessary to ensure a suitable fit. +## Review Process + +Mentors will evaluate proposals to determine if candidates meet the fundamental +requirements for effective contribution. Transparent feedback will be provided, +and candidates may be guided to consider alternative projects if a better fit is +identified. When a proposal is ready for review, candidates should send a direct +message to the mentors via the recommended communication channel (e.g., Discord, +Slack, or email). For all other communications, public channels are preferred. +Candidates should remain patient as mentors manage a high volume of messages, +issues, pull requests, and reviews. -## Part II: Approved Contributors +## Approved Contributors -This part of the guide will serve as a roadmap to your success in the GSoC with -Open Science Labs. It outlines the expectations for your collaboration with -mentors, the importance of communication, and the coding standards you should -follow. You will find tips on how to maintain an effective workflow, stay -proactive, and ensure that your contribution leaves a lasting impact. +For accepted candidates, the following guidelines serve as a roadmap for +successful collaboration during the GSoC program with Open Science Labs. ### Effective Workflow and Proactivity -Once accepted, establish a regular workflow with your mentor. Be proactive: seek -out tasks, ask questions, and push beyond the basics. Set up frequent check-ins -and be clear about what you aim to accomplish each week. +- **Establish a Regular Workflow:** Work closely with your mentor to set clear + weekly objectives. +- **Proactive Engagement:** Actively seek tasks, ask clarifying questions, and + schedule regular check-ins to monitor progress. ### Communication Best Practices -Clear and timely communication is essential. Keep your mentor updated on your -progress, challenges, and any assistance you may require. Use the communication -tools preferred by the project for all discussions. +- **Timely Updates:** Keep mentors informed about progress, challenges, and any + required assistance. +- **Use Designated Channels:** Communicate via the project’s preferred platforms + to ensure transparency and prompt feedback. ### Programming Best Practices -Adhere to the programming standards and best practices recommended by your -mentor and the project. Write clean, well-documented, and maintainable code. Be -open to code reviews and feedback, as they are learning opportunities. +- **Adherence to Standards:** Follow the coding standards and best practices + outlined by your mentor and project guidelines. +- **Maintainable Code:** Write clean, well-documented, and maintainable code. +- **Constructive Feedback:** Embrace code reviews as opportunities to learn and + improve your technical skills. -By following these guidelines, both candidates and approved contributors can -maximize their growth, contributions, and overall experience within the GSoC -with Open Science Labs. +## Proposal Resources -## Resources for writing the proposal - -Applicants should consult the -[GSoC Student Guide](https://google.github.io/gsocguides/student/) for more -details on how to apply and tips on crafting their proposals. Additional -recommendations can be found -[here](https://developers.google.com/open-source/gsoc/help/student-advice). - -For further guidance, our suggested proposal template offers valuable insights -and can be accessed [here](/opportunities/gsoc/templates/contributor-proposal). +Candidates are encouraged to consult the +[GSoC Student Guide](https://google.github.io/gsocguides/student/) for +comprehensive details on the application process and proposal preparation. +Additional recommendations can be found +[here](https://developers.google.com/open-source/gsoc/help/student-advice). For +further guidance, refer to the suggested proposal template available +[here](/opportunities/gsoc/templates/contributor-proposal). diff --git a/pages/opportunities/guides/contributor/index.md b/pages/opportunities/guides/contributor/index.md new file mode 100644 index 00000000..b2200d56 --- /dev/null +++ b/pages/opportunities/guides/contributor/index.md @@ -0,0 +1,53 @@ +# Contributors Guidelines + +These recommendations are general guidelines from Open Science Labs. Each +project may have its own specific set of recommendations and rules; contributors +should review those for each project. + +## Community Engagement + +- **Communication Platforms:** Each project may use its preferred communication + platform for discussions, such as code repository platforms (GitHub, GitLab, + etc.) or chat-based platforms (Discord, Slack, etc.). Contributors should + verify with the community and mentors which platform is recommended for + seeking assistance, discussing ideas, and requesting reviews. + +- **Collaboration and Support:** Contributors are encouraged to assist others + when possible, as everyone is here to learn and support one another. + +- **Respect and Inclusivity:** Contributors should communicate with kindness and + respect, particularly when interacting with beginners or colleagues for whom + English may not be their first language. Instead of engaging in arguments, + they should offer constructive feedback and encouragement to help others + improve both their language and technical skills. + +- **Channel Usage:** If the primary discussion channel is not the code + repository platform, contributors should use the designated platform to draw + attention to pull requests or issues. Initiating a discussion there prior to + opening issues or pull requests is also expected. + +## Contributions + +- **Task Coordination:** Contributors should avoid duplicating work by verifying + whether someone else is already addressing a task or if the task remains + relevant before beginning work. + +- **Managing Stale Contributions:** Project maintainers may implement mechanisms + to label and close stale issues and pull requests. Some contributors open pull + requests without following up or addressing review recommendations, which can + impede progress. + +- **Code Quality:** Contributors must ensure that `pre-commit` is applied in + their branch before opening a pull request. Additionally, they should adhere + to coding best practices, such as avoiding excessive nesting blocks, following + SOLID principles, and refraining from assigning different types to the same + variable. It is important to consult the project's specific coding guidelines + for additional best practices. + +- **Branch Management:** When updating a branch, contributors should follow the + project's preferred approach, whether that involves using a **rebase** or a + **merge commit**. + +- **Commenting Practices:** Excessive or unnecessary comments should be avoided, + as well the use of emojis in comments, as they may suggest that the content + was generated entirely by an AI.