Proposing new project ideas

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.

Proposal quick start

If you have an interesting project that meets our requirements, you can kick off the process by:

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

  2. When the project is ready for consideration, contact the GSoC org admins via the Jenkins GSoC gitter channel or the GSoC mailing list.

The full proposal process is documented here.

Requirements

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

Examples

Need some hints? Here are examples of project ideas:

Notes for students

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.

Acceptance process for new project proposals

Project proposals are tracked in two places. When first proposed they are added to the project table in the projects doc. Once a project is accepted as a draft, it is also published to jenkins.io.

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:

  1. The project champion makes a copy of the project proposal template and creates a new Google Document describing the project proposal.

  2. When the project is ready for consideration, the project champion contacts GSoC org admins via the Jenkins GSoC gitter channel or the GSoC mailing list.

  3. An org admin will add the proposal to the project table in the projects doc, giving it a status of "NEW"

  4. The GSoC org admins and other mentors discuss the the proposal with the champion and provide initial feedback via the gitter chat and as comments to the proposal document.

  5. Once the proposal is consistent with the GSoC template requirements, a GSoC org admin will change the status to "DRAFT"

  6. An org admin publishes the draft project idea on jenkins.io

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

  8. Once the champion and org admins feel the proposal has been developed enough to be viable:

  9. The org admins change the status of the proposal to "ACCEPTED" in the summary table

  10. Contact Org admin publishes the current state of the document to the Jenkins website

  11. After this change, champions/mentors should synchronize the google doc with jenkins.io

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

Project statuses:

  • 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

  • STALLED

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