Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Google Summer of Code 2018: Getting Started #2812
Mitmproxy is participating under the umbrella of the Honeynet project in the Google Summer of Code 2018. We have two exciting project proposals and are open for other ideas as well.
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 get in touch.
Picking the right students for a Google Summer of Code is hard - we really want to encourage all students to get involved with 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:
As long as you have some code to show, please don't stress yourself about this part. We require a certain minimum level of technical proficiency so that GSoC is fun for everyone, but beyond that social components are way more important to us.
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!
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 at least one dedicated task per week would be a good way to track the progress of your 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 and very motivated student already working hard on a proposal for 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 both students¹. Second, if we cannot take you for some reason, we will actively introduce you to other projects at Honeynet that match your skills and interests after the application deadline². I can't stress this enough: Please do not worry about competition! If we see you cooperating with other contributors (students or not), this is a big plus.
¹) 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 can split both of our proposed projects.
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 macOS 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.
4. What is the team's preferred style of communication?
Answering every student's questions in a private conversation is often overwhelming for mentors during the peak GSoC application period. We therefore appreciate it if you ask your question publicly on GitHub or in #general on Slack so that others can help out as well. You are of course welcome to message us directly for feedback on your (already submitted) proposal, or if you feel umcomfortable discussing something in the open.
5. GSoC aside, how can I contribute to mitmproxy?