Google Summer of Code: Application Tips

gsoc

The Honeynet project is participating in the Google Summer of Code 2016. We have 12 exciting project proposals and are open for other ideas as well.

This post 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 people to get involved into open source, but how do we determine who’s best suited for a particular project? How can we find out which students have a long-term interest in the technologies surrounding honeypots? 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 your project is an interesting thing 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 an existing project!

Any of these may suffice - if you are a strong contributor to a major open source project, we won’t be questioning your coding skills.

Demonstrate that you really want to work on your project!

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]

Google accepts a variety of mentoring organizations every year, each of them with multiple projects. Now, why do you want to work with Honeynet specifically? We do not just want to hear a chorus of praise here (“Honeynet is a great organization”). Instead, play around with our tools and tell us about your experiences:

  • Set up a Honeypot (e.g., conpot) yourself - how did it go? what were your findings?
  • Check out our tools and start playing with them. There are many hidden treasures/security issues to be found! Show us what you analyzed (screenshots), what you found, where the tool was good/not good etc! :-)
  • 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!

You can find our communication channels on the main project page - some projects also have dedicated Slack groups/mailing lists/forums. Try to ask us good questions! :smiley:

Good starting points for a contribution

If you are applying for an existing project, you can optionally contribute directly to the project as part of your proposal. If you can convince us by other means that you’d be a strong student (e.g. past experience with other open source projects), that’s good, too.

  • Fix bugs or add features. Some project havev issues labeled as “good first contribution” or “help-wanted”. If you are tackling an issue, please leave a brief comment so that we don’t have duplicated effort.
  • Add some docstrings to the code! Read a bit through the code, take a somewhat complex undocumented class/function, find out what it does and add a quick doc string explaining what it is.
  • Improve the docs. If you’re proficient in English, please feel free to make our docs better! If you feel that your english isn’t proficient enough, don’t worry and try to focus on the other tasks. :-)

Make sure to have a plan!

For your GSoC proposal, 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 a lot of fun. Enjoy it! :-) We think we can offer you a a very exciting experience at Honeynet: Our mentors are very experienced developers, we will make sure that you receive continuous feedback on your work and learn a lot. Some of Honeynet’s GSoC projects are now top-notch open source projects on their own, and we’re excited for the next ones to come!