Skip to content

Commit

Permalink
Merge branch 'main' into fix-vale-linter-path
Browse files Browse the repository at this point in the history
  • Loading branch information
favour-chibueze authored Oct 30, 2024
2 parents 014da98 + a957c2c commit 1f3edf7
Show file tree
Hide file tree
Showing 9 changed files with 214 additions and 0 deletions.
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.

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.

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?
**************************************

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.

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

- 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.

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.
- 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`

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.

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)})

0 comments on commit 1f3edf7

Please sign in to comment.