Version 35 (modified by welterde, 11 years ago) (diff)

Application template

  1. Personal information
    1. Name
    2. E-mail
    3. Instant Messaging contact information
    4. Phone number (optional: in case we lose contact)
    5. College/University?
    6. Study/Major?
    7. Schedule
      1. How much time (weekly) will you spend on GSoC?
      2. Are there any periods during GSoC during which you will not be able to work fulltime on the project (and state which periods — for example exams)?
    8. Extra information you would like to share
  2. Technical information
    1. Why do you want to participate in GSoC?
    2. Why did you choose I2P? Why do you wish to work on it?
    3. Tell us more about your education (what does it involve?) and development knowledge (history, programming languages …).
  3. Project idea
    1. Short introduction
    2. Detailed explanation
    3. What is the expected timeline?
    4. Why is your idea useful for I2P?
  4. Are there any additional reasons we should pick you to work on I2P?

Requirements and hints

  • Students are (in most cases) expected to use the Monotone revision control system. If you are not used to it, we will give you an introduction to it.
  • Make yourself available: working on the GSoc will be a lot of work, keep this in mind.
  • Be sure to get to know the developers beforehand, since you will be working with them for over 2 months (and hopefully longer, as you can always continue to contribute to the project). We welcome your input on IRC (Freenode, #i2p, or irc2p (inside I2P), #i2p) and the forums (
  • Get to know I2P: install I2P, setup an I2P website (eepsite), try running IRC on top of I2P, …
  • Related to the above: communicate often with the developers (specifically: your mentor). Ask questions if you don't understand something, say what your great new idea is and how you are implementing it …
  • Be motivated! If you like the idea you're applying for and would love to code on it, your experience will be much more enjoyable.
  • The I2P Router, I2PSnark, and I2PTunnel are coded in Java. If you are not fluent in Java, consider working on an Application-level project or the items listed under "Other".


The following ideas are only a few suggestions by developers and enthusiasts. Other ideas are possible, and even encouraged. I2P is an overlay network, which basically allows any online application to be adapted to I2P. This, as well as the option to develop a new feature for the overlay network, allows a whole range of ideas.

Application level

I2P router





Other Ideas and Further Information

See zzz's Todo lists