New ideas for GSoC can be proposed by mentors, students and/or anyone in the Jenkins community with an idea they’d like to see implemented.
If you have an interesting project that meets our requirements, you can kick off the process by:
Making a copy of the project proposal template and create a new Google Document describing the project proposal. Make sure to set the permissions so members of the community can comment on it.
The full proposal process is documented here.
GSoC is about code (though it may and likely should include some documentation)
Projects should be about Jenkins (plugins, core, infrastructure, integrations, test frameworks, etc.)
Projects should be potentially doable by a student in 3-4 months
You can find more information about requirements and practices in the GSoC Mentor Guide.
Need some hints? Here are examples of project ideas:
A new plugin for integration with various development tools or services
Working on major feature requests from the Jenkins bugtracker
Creating new demo and reference setups, powered by various "-as-Code" engines (e.g. Jenkins Pipeline, JobDSL, Docker, Configuration-as-Code plugin, etc.)
Although we encourage students to propose their own project ideas, we cannot guarantee that will find potential mentors for every proposal, especially for narrow areas. During the selection phase we won’t be able to accept proposals without mentors, so we highly recommend getting initial feedback in the mailing lists before spending too much time on such proposals.
Projects are proposed by a project champion who is a potential mentor or interested student. Please see this list of roles for more information about the different project roles. The champion will be responsible for shepherding the proposal through the process. The acceptance process includes the following steps:
The project champion makes a copy of the project proposal template and creates a new Google Document describing the project proposal.
An org admin will add the proposal to the project table in the projects doc, giving it a status of "NEW"
Once the proposal is consistent with the GSoC template requirements, a GSoC org admin will change the status to "DRAFT"
An org admin publishes the draft project idea on jenkins.io
The project champion reaches out to the community to get additional feedback about the proposal (Community channels include chats, mailing lists, and the SIG meetings). NOTE: The champion should try to recruit one or more mentors from the community. Having multiple mentors is crucial to the success of the project. The proposal document should be updated to reflect any changes suggested by the community.
Once the champion and org admins feel the proposal has been developed enough to be viable:
The org admins change the status of the proposal to "ACCEPTED" in the summary table
Contact Org admin publishes the current state of the document to the Jenkins website
After this change, champions/mentors should synchronize the google doc with jenkins.io
The contact org admin updates the project at jenkins.io, moving from the drafts table to the accepted table, and updates the status to "PUBLISHED"
NEW - a google doc exists for the project, but it is sill under development, and not not yet formally correct.
DRAFT - the proposal meets GSoC standards, and is ready for feeback from the community
ACCEPTED - the project has been accepted, but is not yet on jenkins.io
PUBLISHED - the project has been published to jenkins.io
REJECTED - project is not compliant with GSoC rules. Can be reworked and reconsidered as Draft
champion cancels it or abandons it (becomes unresponsive). Anyone can pick up the idea and become a new Champion.
The student leaves the project before the end of GSoC.
ARCHIVED - The project has been removed from jenkins.io. It can be picked up by a new champion.
DONE - The project is completed by the end of the program.