We define several roles and responsibilities. They are not mutually exclusive.
The champion is the person proposing and driving a project idea
A champion can and should also be a mentor. The champion may not have all the Jenkins code expertise needed, but by working with other mentors and subject matter experts the knowledge gap can be bridged.
The champion works with the student to define the project and acts mostly as a "customer" of the project. The champion usually knows enough about coding to comment on pull-requests with regards to the overall quality, style and features of the code.
A mentor team consists of mentors working together on the same with the same student on the student’s GSoC project. A mentor team has a Lead mentor and one or more Mentor / co-mentor. The Champion should be one of the mentors.
In exceptional cases, with the approval of the Org Admins, there can be a single mentor for a student, but in general we recommend two or more. Mentors teams should ensure they work together in the same direction. The students would be quite confused otherwise.
A mentor team needs:
enough Jenkins community knowledge to find subject matter experts and other resources when needed by the student
enough Jenkins development process knowledge to make the student work effectively
enough domain specific expertise in the project to guide the implementation performed by the student
The mentor team can acquire some of that expertise from a Subject Matter Expert.
The lead mentor, on top of being a Mentor / co-mentor, has administrative responsibilities commonly found in GSoC:
fill in the evaluation documents,
ensuring representation at office hours meetings and special meetings,
send a weekly report to the org admin team about the project
report issues to the Org Admin team.
This is the mentor who knows enough about the Jenkins code to guide the student on coding, and to provide Jenkins specific code reviews on pull-requests, but has limited involvement outside the coding activity of the student.
Subject matter experts, or SMEs, are individuals that mentors reach out to 3-4 times during the project for advice and guidance, and sometimes complicated programming challenges.
Subject matter experts may be technical or non-technical, depending on context.
A technical advisor is one type of subject matter expert.
Students are the active learners and coders.
To learn more about their role, please see information for students
To learn more, please see Roles and Responsibilities.
Responsible for providing initial feedback (structure, compliance with application rules, GSoC rules compliance), advising on how to reach out to the community, and final publishing once there is enough feedback.