The whole GSoC process in nutshell (video, GitHub wiki page):
- Browse through our GSoC 2016 Idea & Project list for ideas. If you have found an idea that you like, fill the Student Application Form. If you have your own idea and you do not find it on our list, write your idea in the same format as the others and send it to the syslog-ng mailing list.
- You will receive a short task with hard deadline. The syslog-ng team expects high-quality solutions.
- The syslog-ng team collects the proposals selects the best ones.
- The syslog-ng community votes for the best projects.
- Project mentors will assign a student for each project selected by the community.
- The project mentors and the students will find a feature owner inside the community.
- Feature owners and the syslog-ng team schedule a syslog-ng GSoC release.
- They will create together a roadmap, a timeline and also a Kanban table for each project.
- Students have to keep the Kanban table up to date.
- The syslog-ng team builds the syslog-ng GSoC release (with the accepted features).
- Read the Getting Started GitBook document about how to work with syslog-ng. If you have any questions or comments about this document, do not hesitate to contact us.
- Checkout the syslog-ng repository from GitHub, and build it. If you encounter any difficulties or problems, contact us through the syslog-ng mailing list.
- Optional steps (these are really optional, but you will have an advantage in the selection process if you help us):
- Pick an easy bug in syslog-ng, and try to solve it.
- Contribute something that has value (this means that indentation correction is not what we need 😉 ).
- Browse through our GSoC 2016 Idea & Project list for ideas. Select a project that you would like to work on. We recommend to choose a project that you already have some background knowledge for. If you absolutely have no knowledge about syslog-ng, and no knowledge about the subject of the project, we do not recommend applying, because our projects are not easy. Therefore, choose a project that fits your interests and skills best. If you have your own idea and you do not find it on our list, write your idea in the same format as the others and send it to the syslog-ng mailing list.
- After you have selected a project, fill the Student Application Form. We can only accept students who have filled this form.
- Before submitting your proposal, read our guidelines about creating a proposal for GSoC 2016.
- To submit your proposal, create a new Wiki page for it, as described in the GSoC 2016 Proposals document. Do not forget to also record your proposal on the Google Summer of Code page by posting a link to the previously created Wiki page.
- After processing the Student Application Forms, the candidates will receive a surveying task related to the chosen project with a strict deadline. If you are a candidate, make sure to complete this task with focus on quality, and on time.
- We evaluate the completed tasks and then we receive slots from Google. After this, we announce the winner projects and the names of the assigned students.
Responsibilities of the participants
- Mentors regularly monitor students’ work (whether they need help, whether the project is on track, and so on), at least on a weekly basis. Mentors have the responsiblity to write blog posts about the project during the coding period (one post every two weeks).
- Students have to keep their code in a public GitHub repository. They also have the responsibility to write blog posts about the project during the coding period (one post every two weeks).
- Students have to keep the Kanban table up-to-date.
- Students should handle their project as a full-time job, because none of our projects is easy.
- Students must inform their mentors about their upcoming busy periods (for example exams, holidays) as soon as possible.
- Students must continuously communicate with their mentors. If they fail to do so without any prior notification, the mentor will consider this as giving up the project after a while.
- Feature owners
- Feature owners represent the community during the development phase.
- Feature owners send feedback to the students.
- Feature owners write blogpost(s) about the feature.
- Org admins
- Org admins will organize events (Gitter, Hangouts, and so on), where they can update the status and check project Kanban tables.
- Status updates: they keep an eye on the release, update the roadmap if necessary, and share the status with the community.