Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Summer of Code: Getting Started #495

Closed
mhils opened this issue Mar 3, 2015 · 11 comments
Closed

Google Summer of Code: Getting Started #495

mhils opened this issue Mar 3, 2015 · 11 comments

Comments

@mhils
Copy link
Member

mhils commented Mar 3, 2015

gsoc

mitmproxy is participating under the umbrella of the Honeynet project in the Google Summer of Code 2015. 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 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! 🎉
Most importantly, your proposal should demonstrate two things: You have the ability to execute and you truly believe that mitmproxy is an interesting project to work on.

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:

  • Do you have a cool/interesting side project or class project? Show it to us! Even better if it's open source and we can read the code!
  • Have you ever contributed to an open source project? Show us what you did!
  • No previous projects you could show? Add a feature and/or fix a bug in mitmproxy!

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!

The brick walls are there for a reason. The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something. The brick walls are there to stop the people who don't want it badly enough. They are there to stop the other people! [1]

This year, there are 137 accepted GSoC organizations, 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:

  • Use mitmproxy to analyze a popular Android or iOS app or anything else. There are many hidden treasures/security issues to be found [2]! Show us what you analyzed (screenshots), what you found, where mitmproxy was good/not good etc! :-)
  • Write a nice inline script that does something cool with a webpage! For example, we have an example script that turns all PNGs upside down (src). Try to come up with something creative :-)
  • Again, a good way to show that you're a good candidate is to fix a bug, propose or implement a feature, add something that was unclear to you to the docs, etc.

Get in touch!

We hang out on IRC (#gsoc-honeynet at Freenode, #mitmproxy at irc.oftc.net), then 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.

  • Fix bugs or add features. Make sure to filter the issue list by "good first contribution", which includes suitable tasks.
  • Add some docstrings to the code! Read a bit through mitmproxy or netlib, take a somewhat complex undocumented class/function, find out what it does and add a quick doc string explaining what it is.
  • Write a cool inline script!
  • Improve the docs. If you're proficient in English, feel free to make our docs better! If you're not a native speaker, try to focus on the other tasks though. 😃
  • Web UI: Add something useful! :-)

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! :-)

@reachtarunhere
Copy link

Awesome writeup especially the Last Lecture reference :) Though I am aiming at another idea with honeynet all this seems too hold for the general case too.

@mhils
Copy link
Member Author

mhils commented Mar 8, 2015

I updated the post with a "Make sure to have a plan!" section.
For those who are interested in the mitmweb project, also take a look at #509 (comment)!

Cheers,
Max

@ami-GS
Copy link

ami-GS commented Mar 17, 2015

Hi mitmproxy,

I'm a student of graduate school of University of Tsukuba, Japan.
I'm writing codes every day to improve my skills, please refer to my GitHub page.

I would like to join the Project 6, because I have experience of implementing HTTP2 and proxy server. These two are not so cool and not perfect. I would like to enhance my coding skills and computer science knowledge through this project.

Do I need to write plan of three months here?

@mhils
Copy link
Member Author

mhils commented Mar 17, 2015

HI @ami-GS,

your plan should be included in your proposal! 😃 You do not need to post it here. If you want some feedback before the application deadline, drop me a mail.

Cheers,
Max

@azam58
Copy link

azam58 commented Mar 24, 2015

hello @mhils can I get your email to drop down my ideas about the proposal?
And also would like to know if the proposal can be refined iteratively?

Best,
Azam.

@mhils
Copy link
Member Author

mhils commented Mar 24, 2015

@azam58 sure! Just post the proposal on Melange (you can edit it up to the deadline) and drop me a mail on the Honeynet GSoC mailing list.

Cheers,
Max

@ankitashukla
Copy link

hello @mhils,

I am interested in project-5. Would it be a good idea to discuss the proposal here or in the mail?

@mhils
Copy link
Member Author

mhils commented Mar 26, 2015

@ankitashukla, just submit your proposal to Google Melange. I'm happy to discuss this there! 😃

@mhils
Copy link
Member Author

mhils commented Mar 30, 2015

We got 25 great proposals and will get in touch with you if we have any further questions - thank you guys! 😃

@mhils mhils closed this as completed Mar 30, 2015
@ankitashukla
Copy link

@mhils I submitted my proposal on melange, it'd be great if you could please provide me a feedback on the same! :)

@mhils
Copy link
Member Author

mhils commented Apr 1, 2015

@ankitashukla, we'll get back to you on Melange if we have any questions. May take a few days, but we're on it. 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants