Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google summer of code #239

Merged
merged 23 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f937654
converting gsoc to rst
Oct 18, 2024
d9131a1
fixing image display issue
Oct 18, 2024
6c3229f
added link to mautic assembly
Oct 18, 2024
0fa93dd
Merge branch 'main' into google-summer-of-code
Iqmaa Oct 21, 2024
e195bd9
Merge branch 'main' into google-summer-of-code
RCheesley Oct 22, 2024
d9ef8b9
Update the link to the GSOC projects
RCheesley Oct 22, 2024
df53a62
Vale fixes, RST fixes
RCheesley Oct 22, 2024
7d7853e
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
7ad5d02
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
d7b8f0f
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
38f17e0
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
fd4910c
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
04e6076
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
b01210a
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
59556c3
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
385c0ff
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
f1e3f7f
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
d7a4640
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
44f0a71
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 22, 2024
d7e6af7
Update google_summer_of_code.rst
Iqmaa Oct 22, 2024
ac08721
Update docs/contributing/google_summer_of_code.rst
Iqmaa Oct 25, 2024
98f099e
Last few vale fixes and note on AI.
RCheesley Oct 28, 2024
14c8ceb
Fix case sensitive paths in index.rst
RCheesley Oct 28, 2024
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
1 change: 1 addition & 0 deletions .github/styles/config/vocabularies/Mautic/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ AJAX
allowlist
Amazon SES
Ameling
application
Autoloader
autoloader
Autowired
Expand Down
171 changes: 171 additions & 0 deletions docs/contributing/google_summer_of_code.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
.. image:: images/Summer_of_Code.png
:width: 600

Google Summer of Code at Mautic
###############################

This document contains information about Mautic's participation in Google Summer of Code, often abbreviated to GSoC. Please feel free to reach out to the team via Slack below for clarifications and more information.

What to get started with today?
*******************************

Today you should read through the ideas for projects, and start working on your application. Get familiar with Mautic, make some contributions so you're familiar with the workflow, and get to know the community. Join the :xref:`Mautic Community Slack` channel - #gsoc-discuss - and post any questions you have there, after reading this page fully and also reviewing the project proposals.

Check warning on line 12 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Channel' instead of 'channel'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Channel' instead of 'channel'.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 12, "column": 253}}}, "severity": "INFO"}

Check warning on line 12 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Landing Page' instead of 'page'. Raw Output: {"message": "[Mautic.FeatureList] Is this referring to a Mautic feature? If so, use 'Landing Page' instead of 'page'.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 12, "column": 337}}}, "severity": "INFO"}

Student Information
*******************

Do you want to contribute to one of the world's first Open Source Marketing Automation platform? GSoC could be your chance. Please refer to the information below.

If you're interested in working on a mentor-submitted idea, read the :xref:`GSOC project ideas` and about the project and the related technology. Please note this is a rolling submission process which Mautic maintains year-round. There is no need to reach out to the mentor unless you have a specific question about the project. Don't send an ``“I'm interested”`` message - please respect their time.

Check warning on line 19 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'GSOC', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'GSOC', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 19, "column": 77}}}, "severity": "INFO"}

If you're interested in proposing your own project start looking around the Mautic Project for a mentor and suggest your idea in the :xref:`Mautic Assembly`.

You may also wish to start working on the Mautic-specific parts of the application, see below for more information. Carefully review the student responsibilities section.

Why spend your summer working on FOSS?

Check warning on line 25 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 25, "column": 34}}}, "severity": "INFO"}
**************************************

When you work in the open on free software, you create a body of work that follows you for the rest of your life. Rather than a coding assignment done by thousands of other students and relegated to the bottom of the drawer at semester's end, working in FOSS is a chance to contribute to a living project.

Check warning on line 28 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 28, "column": 255}}}, "severity": "INFO"}

Working in Free and Open Source - FOSS - gives you a chance to:

Check warning on line 30 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 30, "column": 35}}}, "severity": "INFO"}

- Work with real-world, large codebases.
- Collaborate with real engineers and other professionals.
- Contribute to something meaningful while learning and earning.
- Learn tools and processes that are just like what you are going to use if you work in technology after graduation.
- Make friends and connections around the globe.
- Attract attention that can possibly result in an internship or job after graduation.
- Create lifetime connections and associations.

Why work with Mautic?
*********************

Mautic is relatively young and has a small but active contributor base - you have the chance to really make a difference in the community and project. Mautic is a welcoming, friendly and diverse community.

People who contribute in the Mautic community and do good work get noticed. They get hired for jobs from it. Experience and reputation in the Mautic Project communities can be influential in your career in many ways.

You should know that contributing to FOSS doesn't require you to have super programming skills, or super-anything else. You just need to have interest, curiosity, and a willingness to become comfortable being productively lost. This is the state of learning. You learn by finding your way around and figuring things out with the support of your mentor and the community.

Check warning on line 47 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'FOSS', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 47, "column": 38}}}, "severity": "INFO"}

Student responsibilities
************************

You are the key ingredient for your project's success. This project is important to you, your mentor, and the entire Mautic Community.

Your responsibilities include:

- Communicating early and often with your mentor.
- Updating every week about what you're learning, how you're doing, challenges and successes. This is key way to keep the entire Mautic Community informed.
- Working with your mentor on realistic achievable milestones that provide for regular deliverable targets and feedback.
- Attending the brief student calls, as announced
- Being accountable for your success and your actions

Student application
*******************

Please read and follow the student application process below.

Google Summer of Code application process
=========================================

Interested in applying for Google Summer of Code with Mautic? Here is how you do that.

The following are specific guidelines for students to use to submit an application for the GSoC program through the Mautic Project. Please go through these carefully and follow them. Applications must be complete by the deadline. Late applications aren't accepted.

Important
---------

- Google sets timelines for the entire program. Follow the timeline.
- Applications are due in Google's system by April 2 2024 - 18:00 UTC.

Check warning on line 78 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'UTC', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'UTC', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 78, "column": 67}}}, "severity": "INFO"}
- You must submit applications in the Google system. This is the only way to apply.
- The final application upload has to be as a PDF.

Student application process
---------------------------

Learn
~~~~~

Before you do anything, learn about the program and about Mautic. Mentors don't have the time to explain to you what Mautic is, how it works or how to get set up locally - all of that's already well documented. Check out the :xref:`Mautic Contribution guidelines`.

These links may be helpful:

- :xref:`GSOC Official Site`

Check warning on line 92 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'GSOC', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'GSOC', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 92, "column": 10}}}, "severity": "INFO"}

Communicate
~~~~~~~~~~~

Begin communicating with the community. Mautic community members can help you understand the existing project proposals. If you're going to try and propose your own project, this is a great way to understand the needs of the project and find a mentor.

- Join the community on :xref:`Mautic Community Slack` at ``#gsoc-discuss``
- Join the Product Team chat in ``#t-product``
- Get involved with the weekly Open Source Friday sprints by testing bug fixes and new features

Don't forget to reach out to mentors on projects that interest you to learn more. If you're going to propose a project you must have a mentor at the time of proposal.

Apply
~~~~~

Student applications open on March 18 2024 - 18:00 UTC.

Check warning on line 108 in docs/contributing/google_summer_of_code.rst

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Acronyms] Spell out 'UTC', if it's unfamiliar to the audience. Raw Output: {"message": "[Google.Acronyms] Spell out 'UTC', if it's unfamiliar to the audience.", "location": {"path": "docs/contributing/google_summer_of_code.rst", "range": {"start": {"line": 108, "column": 52}}}, "severity": "INFO"}

The application process consists of 3 steps:

1. Create an account on the :xref:`Mautic Community Forums`
2. Join the #gsoc-discuss and #t-product channels on Slack
3. Submit the application/proposal including all requirements in the next section at the Google Summer of Code Site. It's **strongly** encouraged to not submit your final PDF until you get feedback about the proposal from your mentors. Ensure you leave good time for their feedback - they're busy people with full time jobs.

Help is available. Share your application in progress and get feedback. The mentors can help verify your understanding of the project and provide guidance on whether your plan is good.

If you are submitting an original proposal you **must** find a mentor. Proposals without mentors aren't accepted. Sharing your proposal is key to doing this.

If you don't want to share your proposal publicly consider using something like a Google Doc and sharing a link with the mentor/reviewers.

Google Summer of Code application and supplemental material requirements
------------------------------------------------------------------------

In addition to the information Google requests, the Mautic Project requires you to submit the following information as part of your proposal:

- What project are you applying to? Seriously consider choosing a project for proposal from ideas list. While it's possible to propose your own project, it's often more successful for you to select one that's already proposed by a mentor.

- Contact Information - List your Name, Email Address, Blog URL, and any additional contact information you think could be helpful. The contact channel used tends to email so be sure you're reading your email.

- About You - Consider these questions

- Do you have any past involvement with the Mautic Project or another Open Source project as a contributor? What kind of contributions have you made - code and non-code? Please share any public contributions you have made - URLs, etc.
- What are you studying? Why?
- What motivates you to do your best? How do you stay focused? Briefly describe how you organize your work.

- Why Mautic? - Consider these questions

- Why do you want to work with the Mautic Project?
- Do you plan to continue contributing to the Mautic Project after GSoC? If yes, what projects are you interested with?

- Why This Project? - Consider these questions

- Which specific project interests you? If you are proposing your own project, do it here. If you are proposing the project, explain why it benefits the community.
- Have you contacted the mentors listed for the project?
- What relevant experience do you have for this project?
- What do you want to gain from this project?
- Describe this project in your own words. What does it mean to you? What do you think the final deliverable is?

- Why should Mautic choose you over other applicants?
- Propose a rough schedule for this project. Ideally you'll have regular deliverable tasks throughout the entire period.
- What are you specific plans from May to September - for example, exams in university, internships, vacations, etc. It's important for the mentor team to know if there are periods of time where you are likely to be unavailable so that the organization administrator can set the project length accordingly. This doesn't impact your chances, however it's important to highlight soon as possible if you need time out during the coding phase.

You must submit a PDF version of all of the information you prepare with your application using the Google site. The PDF should consist of the information from the supplemental application requirements section below. It should also contain any custom project you are proposing, if any. Mautic can't consider students who don't submit this PDF on time.

Students aren't judged on the visual layout of their PDF, however all information must be readable.

A note on using AI to write your proposal
-----------------------------------------
The team is increasingly seeing the use of Artificial Intelligence to write proposals. While this can be a useful tool, it's important to remember that the proposal is about you. It's about your understanding of the project, your motivations, and your plans.

If you use AI to write your proposal, make sure you review it carefully to ensure it reflects you and your understanding of the project. Also, prepare yourself with the technical knowledge to discuss the project in detail.

Mautic mentors interview all shortlisted candidates. You're expected to be able to discuss your proposal in detail, including exploring your ideas for how you plan to implement the project. Mentors don't expect you to go into detail of every function and controller, but they expect you to have a reasonably familiar understanding of the project architecture and the technology you'll be working with.

Keep communicating
~~~~~~~~~~~~~~~~~~

The importance of frequent communication can't be over-emphasized. Keep talking, and listening, to the discussion group, to the sub-projects relevant to your proposal and to potential mentors. Be patient, as mentors and other contributors are often very busy people.

This content came from the excellent guide from the Fedora Project shared under :xref:`Creative Commons`
Binary file added docs/contributing/images/Summer_of_Code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ The vision is that it grows over time as the teams and governance structure evol
:hidden:

teams/legal_and_finance_team

.. toctree::
:maxdepth: 2
:caption: Contributing
:hidden:

contributing/google_summer_of_code

.. toctree::
:maxdepth: 2
Expand Down
7 changes: 7 additions & 0 deletions docs/links/GSOC-ideas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import link

link_name = "GSOC project ideas"
link_text = "GSOC project ideas"
link_url = "https://community.mautic.org/assemblies/gsoc/f/93/"

link.xref_links.update({link_name: (link_text, link_url)})
7 changes: 7 additions & 0 deletions docs/links/GSOC-official-site.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import link

link_name = "GSOC Official Site"
link_text = "GSOC Official Site"
link_url = "https://summerofcode.withgoogle.com/"

link.xref_links.update({link_name: (link_text, link_url)})
7 changes: 7 additions & 0 deletions docs/links/cc-by-sa3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import link

link_name = "Creative Commons"
link_text = "Creative Commons"
link_url = "https://creativecommons.org/licenses/by-sa/3.0/legalcode"

link.xref_links.update({link_name: (link_text, link_url)})
7 changes: 7 additions & 0 deletions docs/links/mautic_assembly.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import link

link_name = "Mautic Assembly"
link_text = "Mautic Assembly"
link_url = "https://community.mautic.org/assemblies/gsoc"

link.xref_links.update({link_name: (link_text, link_url)})
7 changes: 7 additions & 0 deletions docs/links/mautic_contribution_guide.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import link

link_name = "Mautic Contribution guidelines"
link_text = "Mautic Contribution guidelines"
link_url = "https://mau.tc/contribute"

link.xref_links.update({link_name: (link_text, link_url)})
Loading