Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Google Summer of Code 2016: Getting Started #934
This issue is targeted at potential GSoC students to help them getting started and write a strong proposal. If there are any questions, please don't hesistate to comment below
Picking the right students for a Google Summer of Code is hard - we really want to encourage people to get involved into open source, but how do we determine who's best suited for a particular project? Here comes your part: Show us that you're super enthusiastic, autonomous and good at coding!
Demonstrate that you are capable of fulfilling the project!
While many of you probably have a good theoretical background from your university, you should show us that you can code as well:
Any of these may suffice - if you are a django core contributor, we won't be questioning your coding skills.
Demonstrate that you really want to contribute to mitmproxy!
Google accepts a variety of mentoring organizations every year, each of them with multiple projects. Now, why do you want to work on mitmproxy specifically? We do not just want to hear a chorus of praise here ("mitmproxy is a great tool"). Instead, play around with it and tell us about your experiences:
Get in touch!
We hang out on Slack (#gsoc on http://slack.mitmproxy.org), IRC (#gsoc-honeynet at Freenode), there is the mailing list and of course you can just comment here. Try to ask us good questions!
Good starting points for a contribution
Contributing to mitmproxy directly is an optional part of your proposal. If you can convince us by other means that you'd be a strong student (e.g. strong past experience with other open source projects), that's good, too.
Make sure to have a plan!
For your GSoC proposal (please use the template!), you need to write down a roadmap/timeline for your project. Think about which features you need to develop to accomplish your goal, split your project into subtasks and make sure that you'll end up with a viable timeline. Having roughly one dedicated task per week would be a good way to track the progress of the project as well. If you already identified potential issues/caveats for your endeavour, make sure to discuss them in the proposal as well!
Last but not least: GSoC is fun. Enjoy it! :-)
1. There's a skilled, hyper-motivated student already working hard on the project I want to apply for. Should I even bother to apply?
Yes! First, if we get two convincing proposals for one project idea, we will try to just take them both¹. Second, if we cannot take you for some reason, we will actively introduce you to other projects that match your skills and interests after the application deadline. Don't worry about competition! :-)
¹) This requires that the project can be split (and extended) in a way that there are no critical interdependencies between the students. You will not get a project which depends on another student's work. This year, we'd be open to split both of our project ideas.
2. I want to implement $MAJOR_FEATURE_X to show that I'm a super capable student!
This is great, but please please do not send us a single giant pull request! Please try to show us that you can split major tasks into small, (mostly) isolated parts. A PR is never to small for first time contributors.
3. In the application template, there's a question about Windows, Unix or Mac OS X development experience relevant to your chosen project. What do you expect me to write there?
The application template is shared by all Honeynet projects. Some of our projects may require knowledge of low-level OS internals (e.g. Cuckoo Sandbox), but for mitmproxy it does not really matter. Just mention the OS you develop on and you're good.
I am very interested in working on mitmproxy in GSoC program but I am having difficulty getting along with the project. I have got some questions regarding your suggestions for good first contribution.
I hope this is not overwhelming but I believe these are some of the questions that first-time contributors have in their mind.
I'd suggest you just join us on Slack - we're happy to answer questions in #gsoc.
Please send a pull request! :-)
Thanks for letting us know - we'll fix that over the coming days. :-)